USDA Cattle Market Report Scraper
Pricing
from $4.07 / 1,000 results
USDA Cattle Market Report Scraper
Scrape USDA cattle market reports into flat rows with class, grade, head count, weight range and weighted average price. Export to CSV, Excel, JSON or XML.
Pricing
from $4.07 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share

๐ USDA Cattle Market Report Scraper
๐ Export USDA cattle prices in seconds. 59 live Livestock Mandatory Reporting cattle reports, 25 fields per row, head count and weighted average price on every line, straight to CSV, Excel, JSON or XML.
USDA Agricultural Marketing Service publishes fed cattle trade under the Livestock Mandatory Reporting program. Packers report every purchase, AMS aggregates it, and the result is the price the whole beef supply chain settles against. The catch is the format: PDFs, fixed width text, and a query API that most teams never wire up. This Actor turns those reports into one flat row per class and grade combination, with the numbers already parsed into real numbers.
Coverage: 59 cattle reports from the open USDA Market News datamart, daily, weekly and monthly, covering the 5 Area negotiated trade, the Texas-Oklahoma-New Mexico, Kansas, Nebraska, Colorado and Iowa-Minnesota regions, national formulated and forward contract purchases, premiums and discounts, and the direct cow and bull trade. Every row carries the report slug, AMS code, report date, publication timestamp, market location, cattle class, quality grade, selling basis, purchase type, head count, weight range low, high and average, price range low and high, weighted average price and dressing percentage. USDA serves the full published history, so a single run can pull one week or ten years.
| ๐ฏ Target Audience | ๐ก Primary Use Cases |
|---|---|
| Cattle feeders and ranchers | Benchmark last week's sale against the regional weighted average |
| Beef packers and procurement teams | Track negotiated versus formula purchase mix by region |
| Commodity traders and analysts | Build live cash basis series against CME live cattle futures |
| Ag lenders and insurers | Value collateral and loss claims against official USDA prices |
| Ag-tech and data teams | Backfill a price database without maintaining a PDF parser |
| Academics and extension services | Study price discovery and mandatory reporting coverage |
๐ What the USDA Cattle Market Report Scraper does
๐ก Why it matters: the weighted average price in these reports is the reference price for a large share of US fed cattle contracts. Getting it as a typed number, on a schedule, is the difference between a spreadsheet somebody updates by hand and a data pipeline.
- Reads the open USDA Market News datamart, which needs no account and no API key.
- Pulls the
Detailsection of every report you select, for the look back window you choose. - Normalises USDA's varying column names into one stable schema, so
class_descriptionandclass_descboth land incattleClass. - Converts
"24,032"into24032and"08/31/2026"into2026-08-31, so sorting and charting work immediately. - Drops USDA's placeholder lines for class and grade combinations with no confirmed trade, unless you ask for them.
- Applies your class, grade, selling basis and date filters, deduplicates, and spreads the row budget evenly across every report you picked.
๐ฌ Full Demo (๐ง Coming soon)
๐ Output
| Field | Type | Description |
|---|---|---|
๐ reportTitle | string | Report name, for example National Weekly Direct Slaughter Cattle - Negotiated Purchases |
๐ท reportSlug | string | USDA Market News slug, for example AMS_2481 |
๐ค reportCode | string | Legacy AMS report code, for example LM_CT154, or N/A when the report has none |
๐ reportId | string | Numeric report id used by My Market News |
๐ reportUrl | string | Public report page on mymarketnews.ams.usda.gov |
๐
reportDate | string | Report date as YYYY-MM-DD |
๐ publishedAt | string | Publication timestamp as reported by AMS |
๐ marketLocation | string | Market location the AMS office reports for |
๐บ marketState | string | Two letter state code |
๐ officeName | string | AMS market news office that issued the report |
๐ฎ marketType | string | AMS market type, for example Direct Livestock - LMR Cattle |
๐ cattleClass | string | Steer, heifer, mixed, dairybred, cow or bull class as USDA prints it |
โญ gradeDescription | string | Quality grade band, for example Over 80% Choice |
โ๏ธ sellingBasis | string | Live or dressed, FOB or delivered |
๐ค purchaseType | string | Negotiated cash, negotiated grid, formula base or forward contract base |
๐ข headCount | number | Head reported for the class, grade and basis combination |
๐ weightRangeLow | number | Low end of the reported weight range in pounds |
๐ weightRangeHigh | number | High end of the reported weight range in pounds |
๐ weightRangeAvg | number | Weighted average weight in pounds |
๐ต priceRangeLow | number | Low end of the reported price range |
๐ฐ priceRangeHigh | number | High end of the reported price range |
๐ฏ weightedAvgPrice | number | Weighted average price, the headline number of the report |
๐ฅฉ dressedPercent | number | Weighted average dressing percentage where USDA reports it |
๐ scrapedAt | string | ISO timestamp of the extraction |
โ error | string | Populated only on an error row, otherwise null |
Fields USDA withholds on a given line come back as Not Disclosed. Fields that do not apply to a report come back as N/A. Numbers are never returned as text.
Three real records from a run:
[{"reportTitle": "National Weekly Direct Slaughter Cattle - Negotiated Purchases","reportSlug": "AMS_2481","reportCode": "LM_CT154","reportId": "2481","reportUrl": "https://mymarketnews.ams.usda.gov/viewReport/2481","reportDate": "2026-08-31","publishedAt": "2026-08-31T11:48:23","marketLocation": "St. Joseph, MO","marketState": "MO","officeName": "St Joseph, MO","marketType": "Direct Livestock - LMR Cattle","cattleClass": "STEER","gradeDescription": "Over 80% Choice","sellingBasis": "LIVE FOB","purchaseType": "NEGOTIATED CASH","headCount": 24032,"weightRangeLow": 1305,"weightRangeHigh": 1700,"weightRangeAvg": 1546,"priceRangeLow": 214,"priceRangeHigh": 227,"weightedAvgPrice": 219.54,"dressedPercent": 63.2,"scrapedAt": "2026-09-08T05:36:45.003Z","error": null},{"reportTitle": "National Weekly Direct Slaughter Cattle - Negotiated Purchases","reportSlug": "AMS_2481","reportCode": "LM_CT154","reportId": "2481","reportUrl": "https://mymarketnews.ams.usda.gov/viewReport/2481","reportDate": "2026-08-31","publishedAt": "2026-08-31T11:48:23","marketLocation": "St. Joseph, MO","marketState": "MO","officeName": "St Joseph, MO","marketType": "Direct Livestock - LMR Cattle","cattleClass": "STEER","gradeDescription": "65 - 80% Choice","sellingBasis": "LIVE FOB","purchaseType": "NEGOTIATED CASH","headCount": 3617,"weightRangeLow": 1250,"weightRangeHigh": 1650,"weightRangeAvg": 1514,"priceRangeLow": 218,"priceRangeHigh": 222,"weightedAvgPrice": 221.67,"dressedPercent": 62.8,"scrapedAt": "2026-09-08T05:36:45.004Z","error": null},{"reportTitle": "National Weekly Direct Slaughter Cattle - Negotiated Purchases","reportSlug": "AMS_2481","reportCode": "LM_CT154","reportId": "2481","reportUrl": "https://mymarketnews.ams.usda.gov/viewReport/2481","reportDate": "2026-08-31","publishedAt": "2026-08-31T11:48:23","marketLocation": "St. Joseph, MO","marketState": "MO","officeName": "St Joseph, MO","marketType": "Direct Livestock - LMR Cattle","cattleClass": "STEER","gradeDescription": "35 - 65% Choice","sellingBasis": "LIVE FOB","purchaseType": "NEGOTIATED CASH","headCount": 798,"weightRangeLow": 1250,"weightRangeHigh": 1500,"weightRangeAvg": 1441,"priceRangeLow": 221,"priceRangeHigh": 222,"weightedAvgPrice": 221.93,"dressedPercent": 62.3,"scrapedAt": "2026-09-08T05:36:45.004Z","error": null}]
โจ Why choose this Actor
- No account, no key, no proxy. The Actor reads the open USDA Market News datamart. A run works out of the box.
- Numbers arrive as numbers. Head counts, weights and prices are parsed, so a chart or a SUM works on the first try.
- One schema across 59 reports. USDA uses different column names in different report families. The Actor maps them all to the same 25 fields.
- No empty rows by default. USDA prints a line for every class and grade combination even when nothing traded. Those lines are filtered out unless you want them.
- Full history, not just today. Set the look back window to 3,650 days and pull ten years of weighted average prices in one run.
- Even coverage across reports. Pick five reports and a budget of 500 rows and the Actor spreads the budget across all five instead of exhausting the first one.
- Never a silent null. Withheld values come back as
Not Disclosed, inapplicable ones asN/A.
๐ How it compares to alternatives
| Approach | Setup | Structured numbers | Coverage | Maintenance |
|---|---|---|---|---|
| This Actor | None, run it | Yes, 25 typed fields | 59 LMR cattle reports, full history | None |
| USDA report PDFs | Download by hand | No, you parse the layout | Everything AMS publishes | Layout changes break your parser |
| My Market News API direct | Free key by eAuth registration, hours to issue | Yes, raw column names vary by report | Full AMS catalog | You write the normalisation |
| Generic web scrapers | Selector tuning | Rarely | Whatever renders in HTML | Breaks on every site change |
Honest ceiling: the open datamart carries the Livestock Mandatory Reporting catalog, which is direct trade between producers and packers. Auction barn reports live in the wider My Market News catalog and need the free API key, which you can paste into the optional API key input.
๐ How to use
- Create a free Apify account with $5 in starting credit through this link.
- Open the Actor and go to the Input tab.
- Pick one or more USDA cattle reports from the dropdown. The default is the National Weekly Direct Slaughter Cattle negotiated purchases report.
- Set the look back window, or set a From date to pull a specific stretch of history.
- Optionally filter by cattle class, quality grade or selling basis.
- Set Max Items and click Start.
- Download the dataset as CSV, Excel, JSON or XML, or read it from the Apify API.
๐ผ Business use cases
Cash basis and hedging
Pull the 5 Area weekly weighted average alongside the regional negotiated reports, join it to your futures settlements, and you have a live basis series per region. Feeders use it to time hedge placement, packers use it to price forward contracts.
Procurement benchmarking
A feedlot that sold 1,200 head of Over 80% Choice steers on a live FOB basis can compare its realised price against the national weighted average for the exact same class, grade and basis on the same report date. That comparison is a single filtered query once the data is in a table.
Market intelligence products
Ag-tech platforms and farm management apps embed cattle price widgets. Running this Actor on a schedule and writing the rows to a database is a complete backend for that feature, with no PDF parsing and no scraper to maintain.
Lending and risk
Ag lenders value cattle collateral against official USDA prices. Pulling the historical weighted average for the relevant class and weight range gives an auditable valuation basis that a regulator recognises.
๐ Automating USDA Cattle Market Report Scraper
- Schedules: run it every weekday at 4 pm Central, after the afternoon reports publish.
- Make and Zapier: trigger on a finished run and append new rows to Google Sheets or Airtable.
- Slack: post the weighted average price and head count to a trading channel the moment a report lands.
- Airbyte and Fivetran: pull the dataset through the Apify API into Snowflake, BigQuery or Postgres.
- GitHub Actions: call the Actor from a workflow and commit the CSV to a data repository for versioned history.
- Google Drive: drop the CSV into a shared folder so the analysts who live in spreadsheets always have the latest file.
๐ Beyond business use cases
- Research: study how much of the fed cattle trade is negotiated versus formula, region by region, over a decade.
- Personal: a small producer can check whether the local buyer's bid is close to the national weighted average before loading the trailer.
- Non-profit: food policy groups can document price discovery and market concentration with primary government data.
- Experimentation: train a forecasting model on ten years of weighted average prices with head counts as a volume signal.
๐ค Ask an AI assistant about this scraper
Paste this into ChatGPT, Claude or any assistant:
I am using the ParseForge USDA Cattle Market Report Scraper on Apify. It returns one row per USDA report line with reportSlug, reportDate, marketLocation, cattleClass, gradeDescription, sellingBasis, purchaseType, headCount, weightRangeLow, weightRangeHigh, weightRangeAvg, priceRangeLow, priceRangeHigh, weightedAvgPrice and dressedPercent. Help me build a weekly cash basis series for Nebraska live FOB steers and chart it.
โ Frequently Asked Questions
๐ Do I need a USDA account or an API key?
No. The Actor reads the open USDA Market News datamart, which answers without any credentials. The API key input is optional and only widens the report catalog.
๐ฎ Which reports are covered?
59 Livestock Mandatory Reporting cattle reports that publish a Detail section: daily, weekly and monthly negotiated purchases, formula and grid purchases, forward contract purchases, premiums and discounts, and the direct cow and bull trade, at national and regional level.
๐ Are auction barn reports included?
Not through the open route. Auction reports live in the wider My Market News catalog, which needs the free API key. Register at the My Market News API page and paste the key into the API key input.
๐ How far back can I go?
USDA serves the full published history through this route. The look back window accepts up to 3,650 days, and you can also set explicit From and To dates.
๐ฒ What unit are the prices in?
Exactly what USDA published on that report line. Live basis rows are dollars per hundredweight of live weight, dressed basis rows are dollars per hundredweight of carcass weight. The Actor does not convert between them.
๐ณ Why do some rows show Not Disclosed?
USDA suppresses a value when too few packers reported it, which protects confidentiality. Those lines are kept with a Not Disclosed sentinel rather than a null, so you can see the gap instead of guessing.
๐ซ Why are so many report lines missing from my output?
USDA prints a placeholder line for every class and grade combination, including the ones with no confirmed trade. Those lines are dropped by default. Turn on "Include rows with no reported sales" to keep them.
๐ How often should I run it?
Daily reports publish every weekday, weekly reports on Monday, monthly reports once a month. A weekday afternoon schedule catches everything.
๐ฆ Can I pull several reports in one run?
Yes. Select as many as you like and the Actor spreads your item budget evenly across them, so no single report eats the whole run.
๐งพ What formats can I export?
CSV, Excel, JSON, XML, JSONL and RSS, either from the Apify Console or through the dataset API.
โฑ How long does a run take?
A single report over a 30 day window returns in a few seconds. Ten reports over ten years is a couple of minutes, since the whole job is a handful of JSON calls.
๐ Do I need a proxy?
No. USDA answers plain requests, so the proxy input defaults to off. Turn it on only if you run very high volume from one account.
๐ Integrate with any app
Every run writes a standard Apify dataset, so anything that speaks HTTP can read it. Use the REST API, the JavaScript or Python client, the Make and Zapier integrations, or a plain scheduled export to Google Drive, Amazon S3 or a webhook.
๐ Recommended Actors
- USDA Market News Scraper for the wider AMS catalog beyond cattle.
- IndexMundi Commodity Price Scraper for long run global commodity price series.
- Metal Prices Scraper for industrial and precious metal quotes.
- Federal Regulator Watch Scraper for the rulemaking that moves agricultural markets.
๐ก Pro Tip: browse the complete ParseForge collection for more government and market data Actors.
๐ Need Help? Open our contact form
โ ๏ธ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the United States Department of Agriculture or its Agricultural Marketing Service. It collects only publicly available data published by USDA Market News.