Agricultural Products & Services · FAO / FAOSTAT

FAOSTAT - Detailed Trade Matrix

Datadory delivers faostat detailed trade matrix data covering bilateral import and export quantities and values for roughly 570 crop, livestock and processed agricultural items across about 232 reporter countries and 255 partner countries - annual bilateral flows from 1986 through 2024 under one flat reporter-partner-item-element-year schema with per-observation provenance flags - delivered daily, weekly, or hourly.

API, files, or your warehouse. Daily, weekly, or hourly.

What is the FAOSTAT - Detailed Trade Matrix dataset?

FAOSTAT - Detailed Trade Matrix is the Agricultural Products & Services catalog's answer to the question every ag desk eventually asks: who sells what to whom, in what quantity, for how much. It is the Food and Agriculture Organization's reporter-based ledger of bilateral trade in agricultural products - 52,410,630 rows in the verified December 2025 release, each one a single flow: a Reporter Country declaring trade in a specific Item with a Partner Country in a given Year.

Four elements measure every flow - Import quantity in tonnes, Import value in thousand USD, Export quantity in tonnes, Export value in thousand USD - with livestock-number units appearing where live animals are counted in heads. Roughly 572 item codes carry Central Product Classification mappings spanning cereals, oilseeds, meat, dairy, sugar, beverages, hides, rubber, cotton and processed food preparations, across 232 reporter areas and 255 partner areas including the World aggregate. Coverage runs annually from 1986 through 2024: thirty-nine years of corridor history in one uniform shape. Get a sample of this dataset cut to the corridors you follow before anything else.

What do sample rows look like?

One row per reporter-partner-item-element-year, provenance flag attached. Five verified rows exactly as they arrive:

reporter : Brazil            partner : China, mainland   item : Soya beans
element  : Export quantity   year : 2023                 unit : t
value    : 74,471,954.17     flag : A (official figure)
# the single largest bilateral flow in world ag trade, stated as one row

reporter : Brazil            partner : China, mainland   item : Soya beans
element  : Export value      year : 2023                  unit : 1000 USD
value    : 38,917,721.00     flag : A (official figure)
# same flow, priced

reporter : Brazil            partner : Afghanistan       item : Soya beans
element  : Export quantity   year : 2020                  unit : t
value    : 4,044.68          flag : A (official figure)

Read the rows together and the corpus's design intent appears. Brazil's 74,471,954 tonnes of soybeans to mainland China and the 38,917,721 thousand dollars they earned sit two rows apart under one join key - divide the second by the first and the corridor's unit value falls out, no integration work required. The third row shows the same reporter-item pair resolving to an entirely different scale against a different partner, which is exactly why the grain is five keys deep rather than three. And the A flag on every row means each number declares itself an official figure, separable downstream from estimated, imputed or externally sourced observations.

What fields does the dataset include?

Eight documented field groups define every row, each definition verified against the source's own file structure during research rather than inferred from prose documentation. Three identify the flow - reporter, partner, item - with numeric codes plus M49 and CPC crosswalks so joins bind on integers instead of spellings. One states the measure, one states the year, one states the unit, and Value carries the magnitude itself, stored upstream as text with six decimal places and cast to numeric on load.

The eighth surface is the quiet differentiator: a per-observation provenance flag classifying each figure as official, estimated, agency-imputed or externally sourced. Most trade tables flatten that distinction away; here it rides along on all fifty-two million rows, so a model can weight an official customs declaration differently from an imputed estimate instead of treating them as equals. Everything beyond the spine folds under additional fields on request - lookup dimensions joined readable, aggregates pre-separated from countries, the four elements pivoted wide, mirror-statistics comparisons built for chosen corridors. Say which when you request the sample.

What does coverage look like across geography, time and granularity?

Geography - 232 reporter areas and 255 partner areas worldwide, from major exporters to the smallest territories, with the World aggregate and FAO regional groupings carried beside actual countries. That inclusion is a convenience and a trap at once: convenient for quick global totals, dangerous for panels, because summing area labels naively counts mainland China several times over. Bind on the numeric codes and filter the aggregates deliberately.

Temporal - annual observations from 1986 through 2024 in the verified release. Thirty-nine years per corridor is long enough to span multiple policy regimes, currency cycles and at least three global food-price shocks, and short enough that every observation sits inside a consistent reporting framework.

Granularity - one row per reporter x partner x item x element x year, bilateral country level only. There is no province, port, firm or shipment detail anywhere in the domain; anyone promising port-level soybean flows from this source is selling a different dataset. What the country-pair grain buys is completeness: roughly 572 items resolved across the full reporter-by-partner grid, 52.4 million rows strong.

How is the data delivered?

API, files, or your warehouse. Daily, weekly, or hourly.

Your cadence is your call regardless of the annual rhythm of the underlying flows - these are yearly observations, so even an hourly warehouse load simply re-serves the latest declared year while keeping dashboards, joins and caches warm. Every delivery ships the complete field dictionary above, the verified sample rows and the coverage profile mapped to the reporters, partners, items and years you named, long-form or pivoted wide. Ask for one corridor or the full fifty-two-million-row grid; the schema does not change with the breadth.

Who uses this data, and for what?

  • Market-share and market-access analysis - who supplies whose soybean, dairy or meat imports, and how those shares shift year over year, computed directly from bilateral flows rather than assembled from dozens of national statistics offices.
  • Supply-chain exposure mapping - corridor-level dependency maps behind sourcing decisions, tariff scenarios and disruption planning, traceable commodity by commodity back to 1986.
  • Unit-value and export-quality indices - quantity and value ship as sibling rows under one join key, so price-per-tonne becomes a division and unit-value indices become a weekend build rather than a quarter-long integration.
  • Gravity models and quant features - fifty-two million tidy rows feed trade-flow estimation and ML pipelines with a common bilateral history across roughly 572 items.
  • Food-security diagnostics - import dependency by commodity and partner computed from one consistent ledger, the arithmetic behind resilience briefs and strategic-reserve debates.
  • Citation-grade baselines - a UN-agency compilation carrying provenance flags per observation gives papers, policy work and market sizings numbers that survive peer review.

Which personas get the most value?

Data scientists and ML engineers rank highest - relevance 3 of 3 - because fifty-two million normalized rows that load once and join forever are the rarest thing in trade data: a corpus ready for feature engineering on day one; see data scientists use cases. Market researchers and consultants, also 3 of 3, get the corridor matrix behind credible market-sizing and entry theses; see market researchers use cases. Investors and quant researchers score 2 - long bilateral history for soft-commodity, logistics and agri-input theses, with provenance flags to weight inputs; see investors quants use cases. Developers building data products also score 2 - a flat relational shape that powers trade dashboards out of the box; see developers builders use cases. Journalists, academics and students cite UN-published figures with provenance attached. Competitive-intel and product teams sit at 1: country-commodity corridors name no firms and carry no transaction prices. Everything above ships daily, weekly, or hourly.

How does it compare to alternatives in its slice?

Within agricultural products and services data, this record owns bilateral depth: the only shelf record resolving roughly 572 agricultural items across the full 232-reporter-by-255-partner grid, thirty-nine years deep. The neighbors own different jobs. USDA FAS PSD Online holds supply-and-demand balances for 63 commodities across 214 countries - stocks and consumption where this record is flows, and no partner dimension at all. World Bank Agriculture & Rural Development Indicators carries 49 harmonized annual macro series for 217 economies - country-year fundamentals, not corridors. USDA Census of Agriculture goes deep inside one country's farm structure every five years - microscopic resolution, single-market scope.

The natural pairing is production against trade: PSD says a country grew and crushed how much; the trade matrix says where it went and what it earned. Run them joined on country-year and a commodity balance sheet closes arithmetically instead of argumentatively.

What should I know before requesting a sample?

Four things worth knowing upfront.

First, rows are declarations, not truths: each figure is recorded from the reporting country's own customs perspective, so A-to-B exports declared by A will not exactly equal B-to-A imports declared by B. That gap - mirror statistics - is not noise to delete but signal to analyze, and it is why serious corridor work reads both sides.

Second, aggregates ride beside countries among the 255 partner labels, World included. Summing names instead of binding on codes double-counts China several times over before the first chart renders.

Third, values arrive as text with six decimal places and need casting to numeric on load - the single mandatory transformation, applied uniformly across all fifty-two million rows.

Fourth, the flag column earns its keep: official, estimated, imputed and externally sourced figures coexist in one table, and the pipelines that respect the distinction produce defensible numbers. The reshape work above ships with the sample rather than landing on your desk.

Why request this through Datadory

Because the raw artifact is a fifty-two-million-row, flag-coded, text-typed table wearing four decades of inconsistent national reporting, and almost nobody's question needs it in that shape. Datadory normalizes the types, decodes the provenance flags, separates aggregates from countries, resolves FAO naming conventions into clean joins, and pairs the trade panel with whatever production or price source completes the picture - all scoped to the reporters, partners, items and years you actually model. Start with a sample of this dataset, then browse the rest of the shelf on the agricultural products services data hub or the best agricultural products services datasets ranking.

Field dictionary

Every field below is documented against real records. The full dictionary ships with the sample.

Field dictionary - eight documented field groups, one row per reporter-partner-item-element-year
FieldTypeDefinitionExample
Reporter Country Code / Reporter Countriesinteger / stringNumeric code and name of the country reporting the flow from its own customs perspective - the perspective that makes every row an observed declaration rather than a modeled estimate.21 / Brazil
Partner Country Code / Partner Countriesinteger / stringNumeric code and name of the counterparty area, using FAO naming conventions such as 'China, mainland'; includes the World aggregate alongside FAO regional groupings.357 / China, mainland
Item Code / Item Code (CPC) / Iteminteger / string / stringCommodity identifier, its Central Product Classification mapping and its name - roughly 572 items from soya beans and wheat through bovine meat, cheese and food preparations.236 / '222.20 / Soya beans
Element Code / Elementinteger / enumMeasure reported on the row: Import Quantity, Import Value, Export Quantity or Export Value - four sibling elements per flow rather than one wide table.5910 / Export quantity
Year / Year CodeintegerCalendar year of the flow, 1986 through 2024 in the verified release; the Year Code equals Year in this domain.2023
UnitenumUnit of measure for the row: tonnes for quantities, thousand USD for values, heads or 1000 heads where live animals are counted rather than weighed.t
ValuenumberReported magnitude of the flow, stored as text with six decimal places upstream and cast to numeric on load - the single mandatory transformation in the pipeline.74471954.170000
FlagenumPer-observation provenance classifying each figure: A official, E estimated, I imputed by a receiving agency, X from an external organization - so reported and compiled numbers never have to pass as equals.A

FAOSTAT - Detailed Trade Matrix - product specification

AttributeValue
IndustryAgricultural Products & Services
Records52,410,630 rows, one per reporter x partner x item x element x year
Fields8 documented core field groups; extensions on request
Geographic coverage232 reporter areas and 255 partner areas worldwide, including the World aggregate and FAO regional groupings
Temporal coverageAnnual, 1986-2024 in the verified December 2025 release
GranularityBilateral country-level flows only; no sub-national or firm-level resolution
Delivery cadenceDaily, weekly, or hourly
SourceFood and Agriculture Organization of the United Nations (FAOSTAT)

What teams do with it

  • Market-share and market-access analysis Bilateral flows make shares computable directly - who supplies whose soybean, dairy or meat imports, and how those shares move year over year - without assembling a mosaic of national statistics offices.
  • Supply-chain exposure mapping Trace which origins feed which markets commodity by commodity: the corridor-level dependency map behind sourcing decisions, tariff-impact scenarios and disruption planning.
  • Price-per-tonne and unit-value indices Because quantity and value ship as sibling rows under one join key, unit values fall out as a division - the raw material for export-quality indices and price-proxy series back to 1986.
  • Quant features and trade-flow models Fifty-two million tidy rows give gravity-model and ML pipelines a common bilateral history across roughly 572 items, joinable onto production and land-use series on country-year.
  • Food-security and policy work Import-dependency by commodity and partner - which nations lean on which suppliers for cereals, oilseeds or fertilizers' cousin flows - computed from one consistent ledger rather than stitched press releases.
  • Citation-grade baselines A UN-agency compilation with documented provenance flags gives papers, policy briefs and market sizings numbers that survive review.

Questions buyers ask

What does the FAOSTAT Detailed Trade Matrix cover?

Bilateral agricultural trade flows: import and export quantities and values for roughly 570 crop, livestock and processed items - cereals, oilseeds, meat, dairy, sugar, beverages, hides, rubber, cotton and processed food preparations - traded between about 232 reporter countries and 255 partner areas, observed annually from 1986 through 2024.

How large is the dataset?

52,410,630 rows in the verified December 2025 normalized extraction, one row per reporter x partner x item x element x year. Four elements describe every flow - import quantity, import value, export quantity, export value - so a single corridor-commodity-year resolves to up to four sibling rows under one join key.

How far back does it go, and how current is it?

Annual observations start in 1986 and run through 2024 in the release verified during the August 2026 research pass. Thirty-nine years per corridor spans multiple policy regimes and at least three global food-price shocks, all inside one consistent reporting framework.

Does the data resolve below country level?

No. Bilateral country-level flows are the grain - there is no province, port, firm or shipment detail anywhere in the domain. Regional aggregates and the World total sit among the partner labels beside actual countries, so joins should bind on numeric codes rather than names to keep panels honest.

Why do two countries report the same trade differently?

Every row is recorded from the reporting country's own customs perspective, so A's declared exports to B rarely equal B's declared imports from A - differences arise from timing, valuation basis, transport attribution and coverage. This mirror-statistics gap is inherent to reporter-based trade records and is often the analytically interesting part.

Can a sample be scoped to specific corridors, commodities and years?

Yes. Name the reporters, partners, items and year window - the full 1986-2024 span or a subset - and whether the extract arrives long-form or pivoted wide with quantity and value side by side. The sample comes back in exactly the field shape documented above, filled with your scope rather than ours.

Notes on this record

  • Declarations, not truths Each figure is recorded from the reporting country's own customs perspective. A's exports to B will not exactly equal B's imports from A - the mirror gap is structural, and often more informative than either number alone.
  • Aggregates sit beside countries The World total and FAO regional groupings appear among the 255 partner labels next to individual countries. Bind on the numeric code or a naive sum double-counts mainland China several times over.
  • Quantity and value are siblings Import and export quantities ride in tonnes, values in thousand USD, under one join key. Unit values - dollars per tonne - fall out as a division, which is what turns this corpus into a price proxy going back to 1986.
  • Flags keep honest numbers honest Every observation is classified official, estimated, imputed or externally sourced. Weight accordingly and your corridor totals stay defensible; ignore the column and compiled figures quietly pose as declarations.
  • Scored at the top of the catalog Datadory scores this record 10/10 against a catalog mean of 7.81 - one of 145 datasets to reach the ceiling out of 1,744 cataloged, credited to verified field definitions and captured sample evidence.

Datasets that pair with this one

  • FAOSTAT - Crops and Livestock Products The FAO flagship for production and trade volumes of crop and livestock products - pair it with this matrix and output gets matched against who bought it and for how much.

See the rows before you pay anything.

Name this dataset and we send real records from it — scoped to the fields you asked for.

See pricing