Next free-source hunt
We check for new free data every weekday.
Datasets / Agriculture & Food
agridata.ec.europa.eu/

EU Agri-food Data Portal API

Freeauth: noneCC-BY-4.0#agriculture-food#historical-data#time-series#commodities#prices✓ verified Nov 1, 2026

EU Agri-food Data Portal API

The European Commission's Agri-food Data API returns JSON market data for EU agricultural prices, production, trade and reference dimensions, with 116 paths in the checked OpenAPI document. Records vary by service and can include member state, product or class, period, price, unit and market fields; no key is needed.

Required Attribution:

Give appropriate credit to the European Union and indicate changes, as required by the Commission legal notice and CC BY 4.0.

Coverage

Coverage is national and EU-level, with history and refresh cadence varying by sector and endpoint. The checked pigmeat example returned weekly Slovenian class-S prices for 27 January through 9 February 2020; the portal also offers selected CSV bulk exports and Excel exports.

Verdict

A structured EU price, production and trade signal for monitoring agricultural markets by member state and sector. Series definitions, units, geography and frequency differ across endpoints, so integrations need endpoint-specific schemas and reference lookups. Historical depth is uneven, and portal data can be revised. The gateway applies throttling but publishes no numeric quota, and browser CORS restrictions do not affect server-side ingestion.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load EU pigmeat prices into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.

Raw skill file (/skills/eu-agri-food-data-api.md)Also in our MCP server: call get_ingestion_skill with {"slug": "eu-agri-food-data-api"}.

Access

  • No account or API key was needed for the checked endpoint.
  • The current API base is https://api.tech.ec.europa.eu/agrifood; the documentation says the previous domain is temporary.

Request

bash
curl 'https://api.tech.ec.europa.eu/agrifood/api/pigmeat/prices?memberStateCodes=SI&pigClasses=S&beginDate=22/01/2020&endDate=09/02/2020'

Format

JSON array with member-state code and name, begin and end dates, formatted price, unit, week number and pig class.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""EU Agri-food weekly pigmeat prices -> pandas -> Parquet."""
import requests
import pandas as pd

URL = "https://api.tech.ec.europa.eu/agrifood/api/pigmeat/prices"
PARAMS = {
    "memberStateCodes": "SI", "pigClasses": "S",
    "beginDate": "22/01/2020", "endDate": "09/02/2020"
}
r = requests.get(URL, params=PARAMS, timeout=60)
r.raise_for_status()
df = pd.DataFrame(r.json())
df["beginDate"] = pd.to_datetime(df["beginDate"], format="%d/%m/%Y")
df["endDate"] = pd.to_datetime(df["endDate"], format="%d/%m/%Y")
df.to_parquet("eu_pigmeat_prices.parquet", index=False)
print(len(df), "weekly prices", df["memberStateName"].iloc[0],
      df["beginDate"].min().date(), "to", df["endDate"].max().date())

Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 2 weekly prices Slovenia 2020-01-27 to 2020-02-09

Limits

  • Rate limit: Not stated.
  • The gateway documents 429 and 503 responses without a numeric quota.
  • Available filters and historical depth vary by service.

Quirks

  • Dates use day/month/year strings.
  • The price field includes a currency symbol and is not directly numeric; preserve the unit before parsing it.
  • CORS is disabled on endpoint responses, so browser applications need a same-origin proxy; server-side Python is unaffected.

Terms and attribution

  • EU-owned website content is CC BY 4.0 unless a specific notice says otherwise.
  • Give credit, indicate changes and clear any separately marked third-party rights.

Sources

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