EU Agricultural Commodity Prices — Beef, Pork, Dairy, Grain
Pricing
from $33.50 / 1,000 agri-food price records
EU Agricultural Commodity Prices — Beef, Pork, Dairy, Grain
Official EU market prices from the European Commission's Agri-food Data Portal: beef, pork, lamb, poultry, eggs, dairy, raw milk, cereals, oilseeds, rice, olive oil, fruit and vegetables by country and week. Part of NexGen Signal — official-source data products
Pricing
from $33.50 / 1,000 agri-food price records
Rating
0.0
(0)
Developer
NexGen Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Official source. No API key. Pay per record.
This actor gives you the European Commission's official agricultural market prices as structured records, read from the Agri-food Data Portal's own price API (run by the Commission's agriculture department, DG AGRI). These are the prices member states report to the Commission every week or month under EU market rules — the numbers the Commission uses to watch farm markets.
Thirteen series are covered in one actor:
| Sector | What it holds |
|---|---|
beef | Carcass prices by category (young bulls, cows, heifers…) and grade |
pigmeat | Pig carcass prices by class, plus piglets |
sheepAndGoat | Lamb and sheep prices by category and market |
liveAnimal | Live calf and cattle prices |
poultry | Broiler and other poultry meat prices |
eggs | Egg prices by farming method (cage, barn, free range, organic) |
dairy | Butter, cheeses, milk powders |
rawMilk | Monthly raw milk prices |
cereal | Wheat, barley, maize, durum… by market and delivery stage |
oilseeds | Rapeseed, sunflower, soya by market and stage |
rice | Rice by stage, type and variety |
oliveOil | Olive oil by grade and market |
fruitAndVegetable | Fruit and vegetable prices by variety and supply-chain stage |
For just the three weeks ending 6, 13 and 20 September 2026, beef, pork, cereals and dairy came to 3,065 price rows across the member states (beef 1,948, cereals 720, pigmeat 205, dairy 192). Some series go back decades: beef prices for Germany are available at least from January 1991.
Who buys this and for what job
- Commodity traders, agri-food buyers and procurement teams tracking EU livestock, dairy and grain prices by country, week by week.
- Food manufacturers and retailers watching input costs (milk, butter, wheat, pork) across their sourcing countries.
- Farm advisers, co-operatives and agricultural lenders benchmarking local prices against other member states.
- Analysts, economists and journalists following food inflation and farm incomes from the official source.
- Data teams who need a clean feed without handling the portal's per-sector formats.
Sample output

{"record_id": "AGRI:cereal:7bc323cc68e33fad","sector": "cereal","sector_name": "Cereal prices","member_state_code": "AT","member_state_name": "Austria","begin_date_iso": "2026-09-14","end_date_iso": "2026-09-20","price_value": 217.5,"unit": "TONNES","memberStateCode": "AT","memberStateName": "Austria","beginDate": "14/09/2026","endDate": "20/09/2026","price": "€217,50","weekNumber": 12,"productName": "Feed wheat","marketName": "Wels","stageName": "Departure from silo - after some storage - on truck or other transport means","referencePeriod": "24/09/2026","api_url": "https://api.tech.ec.europa.eu/agrifood/api/cereal/prices?beginDate=01/09/2026&endDate=30/09/2026","source": "European Commission, DG Agriculture and Rural Development — Agri-food Data Portal price API (https://api.tech.ec.europa.eu/agrifood/api/)","licence": "Creative Commons Attribution 4.0 (CC BY 4.0) — the portal's Legal notice (commission.europa.eu/legal-notice_en) states that EU-owned content 'is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) licence'.","attribution": "Source: European Commission, Agri-food Data Portal (CC BY 4.0); reformatted by NexGen Signal.","observed_at": "2026-09-28T03:25:49Z"}
Pricing
| Apify plan | Price per record |
|---|---|
| Free | $0.05 |
| Bronze | $0.045 |
| Silver | $0.04 |
| Gold and above | $0.0335 |
You pay only for records delivered to your dataset. maxRecords caps what a run can cost: 500 records cost $25 on the Free plan. Filtering by country, dates and product is free.
Input
| Field | What it does | Default |
|---|---|---|
sectors | Which series to read (see the table above) | beef, pigmeat, cereal, dairy |
memberStates | Two-letter country codes, e.g. DE, FR, PL | all |
lastWeeks | Only price periods in the last N weeks | last 8 weeks if no dates are given |
fromDate, toDate | Only price periods overlapping these dates (YYYY-MM-DD) | 8 weeks ago → today |
productContains | Keep rows whose product, category, variety, stage or market contains this text, e.g. durum, butter, heifers | none |
maxRecords | Maximum records delivered and billed | 500 |
Newest periods come first. Within each period the sectors take turns, so a small run shows every sector you picked instead of filling up with the largest one.
Example — this month's butter and cheese prices in Germany, France and the Netherlands:
{"sectors": ["dairy"], "memberStates": ["DE", "FR", "NL"], "lastWeeks": 4, "maxRecords": 500}
Example — durum wheat in France and Italy since January 2025:
{"sectors": ["cereal"], "memberStates": ["FR", "IT"], "productContains": "durum", "fromDate": "2025-01-01", "maxRecords": 2000}
(On 27 September 2026 that returned 633 rows in 81 seconds.)
Output
| Field | Meaning |
|---|---|
record_id | AGRI:<sector>:<row fingerprint> — unique per price row |
sector, sector_name | The series the row came from |
member_state_code, member_state_name | Country (copies of the API's fields) |
begin_date_iso, end_date_iso | The price period as YYYY-MM-DD |
price_value | The price as a number, parsed from the published text |
unit | Unit as published: €/100Kg, TONNES, 100KG, €/head, national currency/ton… |
price and every other API field | Exactly as the API returns them, under the API's own names (category, productCode, productName, marketName, stageName, weekNumber, farmingMethod, variety…) |
api_url, source, licence, attribution, observed_at | Provenance on every record |
The fields differ by sector because the Commission's series differ; nothing is renamed or merged across sectors.
Cost guidance
Beef, pork, cereals and dairy for all countries come to about 1,000 rows a week (3,065 for three weeks in September 2026), so a weekly run of those four costs about $34 on Gold; beef alone is about 650 rows a week. Smaller series are much cheaper: all 13 sectors for France over six weeks were 519 rows ($17 on Gold). One country is much smaller: all 13 sectors for France over six weeks were 359 rows ($12 on Gold). Narrow with memberStates and productContains for regular monitoring.
Tips
- Weekly monitoring: schedule a run each Thursday or Friday with
lastWeeks: 2and the sectors and countries you follow; the newest week is delivered first. - Compare like with like: filter with
productContains(for exampleheifers,butter,milling wheat) and compare rows that share the sameunitand market or stage. - Back-fill once: take the history you need in one run with
fromDate, then switch to the weekly schedule. - Currency: most series are in euros; where
unitsays national currency, convert with the ECB rate for that week before comparing.
How a run works
The actor checks robots.txt, then asks the Commission's API for each chosen sector one calendar month at a time, newest month first. Because the API returns only periods lying wholly inside the requested dates, each monthly request starts six days before the month, so weeks that cross a month end are not lost; rows seen twice are dropped. The API also answers "server error" for a moment now and then, even on small requests — one test run needed 4 retries across 21 requests — so every request is spaced out and retried with growing waits; in testing every retried request came through. Records are pushed to your dataset first and charged only after they are delivered; if you set a maximum charge, the run stops cleanly when it is reached. Test runs took 4–81 seconds depending on sectors and dates. Every run saves a receipt (RUN_RECEIPT) with the robots decision, requests, retries, rows per sector and any request that still failed. If the API stays down, the run ends with a clear message and charges only what was delivered.
Honest limitations
- Reported averages, not trades. These are the representative prices member states report to the Commission, not transaction-level or futures prices.
- Not every country reports every product. Olive oil, for example, comes from producing countries only.
- The "€" in
priceis the API's. Where a price is published its text starts with "€", but some series give the unit as "national currency/…". Checkunitbefore comparing countries. A few rows, such as some EU-wide cereal averages, carry no price at all. - Country codes are the Commission's. Greece is
GRin some series andELin others (asking for either returns both), and some series add averages such asEUandEU+UK. - Decimal comma. Some series publish prices like "€217,50";
price_valuereads that as 217.5, and the original text stays inprice. - Different periods. Most series are weekly; raw milk is monthly. Week numbers follow each series' own calendar (cereals and oilseeds count weeks within the marketing year).
- Wine and a few smaller series in the portal are not included.
- The API can be slow or flaky. Large historical pulls take longer because of the retry pacing.
Licence and attribution
The Agri-food Data Portal's footer links to the European Commission's legal notice, which says EU-owned content "is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) licence". Every record carries the credit Source: European Commission, Agri-food Data Portal (CC BY 4.0); reformatted by NexGen Signal. This actor is not affiliated with or endorsed by the European Commission.
Differentiation
Commodity actors on the Store — such as scrapemint/commodity-futures-settlements (exchange futures), martc03/usda-crop-prices (US) and codeclouds/agrigrondstofprijzen-monitor (one national market) — cover other markets or single sources. This actor covers the EU's own official price reporting for 13 sectors and every member state in one input, with each series' fields kept as the Commission publishes them.
The NexGen Signal family
Part of NexGen Signal — official-source data products, no API keys, pay per record. Related actors: