FAO FAOSTAT API and bulk downloads
FAO FAOSTAT API and bulk downloads
FAOSTAT provides agricultural production, trade, prices, land, inputs, food-security and other official statistics through a JSON/CSV API and zipped CSV bulk files. Observations carry area, item, element, period, unit, value and flag fields, and no key is needed for bulk files.
Required Attribution:
“FAO. [YYYY (year of last update)]. [Name of database: Name of dataset OR Name of database]. [Accessed on [DD Month YYYY]]. [URL] Licence: CC-BY-4.0.”
Coverage
FAO says FAOSTAT covers more than 245 countries and territories from 1961 to the latest available year. Domains follow separate release schedules; the checked bulk catalog dated 20 October 2026 includes consumer prices and fertilizer product, nutrient and trade-matrix files.
Verdict
A broad supply, production, input-cost and price signal for comparing agricultural conditions across countries and time. Publication timing, reporting quality and revision cycles differ by domain and reporting area. Flags and notes should travel with values, and nominal price series need explicit base-year and currency treatment. The checked API host was intermittently unavailable, so bulk files are the more reproducible ingestion route today.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load a FAOSTAT consumer-price bulk file into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.
Access
- No account or key is needed for the checked bulk catalog and ZIP file.
- The API developer portal documents programmatic JSON and CSV access; the API host was intermittent during this check.
Request
curl -O 'https://bulks-faostat.fao.org/production/ConsumerPriceIndices_E_All_Data_(Normalized).zip'Format
ZIP containing normalized CSV observations plus area, item, element and flag lookup files. Observation columns include area, item, element, month, year, unit, value, flag and note.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""FAOSTAT normalized consumer-price bulk file -> pandas -> Parquet."""
import io
import zipfile
import requests
import pandas as pd
URL = "https://bulks-faostat.fao.org/production/ConsumerPriceIndices_E_All_Data_(Normalized).zip"
HEADERS = {"User-Agent": "Mozilla/5.0 SignalLabCheck/1.0"}
r = requests.get(URL, headers=HEADERS, timeout=120)
r.raise_for_status()
with zipfile.ZipFile(io.BytesIO(r.content)) as zf:
name = "ConsumerPriceIndices_E_All_Data_(Normalized).csv"
df = pd.read_csv(zf.open(name), low_memory=False)
df.to_parquet("faostat_consumer_prices.parquet", index=False)
print(len(df), "rows", df["Area"].nunique(), "areas", int(df["Year"].min()), "to", int(df["Year"].max()))Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 266292 rows 247 areas 2000 to 2026
Limits
- Rate limit: Not stated.
- The checked normalized consumer-price ZIP is about 2.1 MB compressed and expands to about 41.3 MB across five CSV files.
- Bulk files contain complete domains; select columns and rows after download.
Quirks
- Domain release dates differ; use the bulk catalog DateUpdate field rather than assuming one FAOSTAT-wide refresh date.
- Keep Flag and Note because they identify estimates, imputations and base-year details.
- Area Code (M49) contains a leading apostrophe in the CSV and is safest to retain as text.
Terms and attribution
- FAOSTAT data are CC BY 4.0 unless a dataset's metadata or page says otherwise.
- Use FAO's required database citation and check metadata for third-party exceptions.
Sources
- https://www.fao.org/statistics/highlights-archive/highlights-detail/faostat-launches-a-new-api-developer-portal-to-make-data-access-easier/en: “Access all FAOSTAT domains through a single, consistent interface”
- https://www.fao.org/statistics/highlights-archive/highlights-detail/faostat-launches-a-new-api-developer-portal-to-make-data-access-easier/en: “Filter data by area, item, element, year and more dimensions”
- https://www.fao.org/contact-us/terms/db-terms-of-use/en: “all datasets disseminated through FAO corporate statistical databases (see examples in Annex 1) are licensed under the Creative Commons Attribution-4.0 International licence”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer