AgWeb APIagweb.com ↗
Access AgWeb agricultural news, commodity futures prices for corn, soybeans, and wheat, plus local cash grain bids by ZIP code via a single REST API.
What is the AgWeb API?
The AgWeb API exposes 12 endpoints covering agricultural news, commodity futures, and local cash grain bids sourced from AgWeb.com and Barchart market data. You can pull full article content with get_article_detail, retrieve corn and soybean futures across multiple contract months with get_futures_data, and query elevator bid prices by 5-digit ZIP code with get_cash_grain_bids — all returning structured JSON.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/8addc113-671f-4120-99c6-be42180fc85a/get_latest_news' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace agweb-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: AgWeb SDK — agricultural news, futures, and local grain bids."""
from parse_apis.agweb_agricultural_data_api import (
AgWeb, Category, CommoditySymbol, ArticleNotFound
)
client = AgWeb()
# Browse latest crop news by category, using the Category enum.
for article in client.articlesummaries.list_by_category(category=Category.CROPS, limit=3):
print(article.title, "|", article.date, "|", article.author)
# Search articles and drill into the first result for full content.
hit = client.articlesummaries.search(query="soybean prices", limit=1).first()
if hit:
full = hit.details()
print(full.title, full.author, len(full.content), full.tags)
# Get corn futures via the convenience method.
corn = client.futuresoverviews.corn()
print(corn.root, list(corn.data.keys()))
# Get soybean futures.
soybeans = client.futuresoverviews.soybeans()
print(soybeans.root, list(soybeans.displayCommodities.keys()))
# Market price overview snapshot.
for price in client.futuresoverviews.get_overview(limit=5):
print(price.symbol, price.price, price.change)
# Local cash grain bids near a ZIP code.
for elevator in client.elevators.list_by_zip(zip_code="61821", limit=2):
print(elevator.company, elevator.distance, elevator.city, elevator.state)
for bid in elevator.bids[:2]:
print(f" {bid.commodity_display_name} {bid.deliveryMonth}: ${bid.cashprice}")
# Typed error handling: catch a missing article.
try:
client.articles.get(url="https://www.agweb.com/news/nonexistent-article-slug")
except ArticleNotFound as exc:
print(f"Article not found: {exc.url}")
print("exercised: list_by_category / search / details / corn / soybeans / get_overview / list_by_zip / articles.get")
Retrieve the latest general news articles from AgWeb across all categories. Returns article summaries with titles, URLs, publication dates, and authors. Equivalent to fetching the 'news' category.
No input parameters required.
{
"type": "object",
"fields": {
"articles": "array of article summary objects with title, url, summary, date, author",
"category": "string indicating the category fetched"
}
}About the AgWeb API
News and Content Endpoints
Seven endpoints cover AgWeb editorial content. get_latest_news returns a cross-category feed of articles, each with title, url, summary, date, and author. get_news_by_category accepts a category parameter with values such as crops, livestock, policy, machinery, and conservation-farming. get_article_detail takes a full article URL and returns the complete content body, a metadata object (including date_published, date_modified, author, and description), and an array of tags. search_articles accepts a keyword query and returns matching results with titles, URLs, and summaries.
Markets and Futures Data
get_markets_overview returns a snapshot of major commodity prices grouped by category, with symbol, price, and change fields for each contract. get_futures_data accepts a symbol parameter — common values include ZC (Corn), ZS (Soybeans), ZW (Chicago Wheat), and KE (K.C. Wheat) — and returns price data arrays across multiple delivery months along with a displayCommodities map. get_corn_futures and get_soybean_futures are convenience wrappers for ZC and ZS respectively, returning identical response shapes.
Cash Grain Bids
get_cash_grain_bids accepts a 5-digit US zip_code and returns an array of nearby elevator objects. Each elevator entry includes company, city, state, county, address, distance, and a bids array. Individual bids carry commodity name with grain grade, delivery month, basis, and cash price — making this the most granular local pricing endpoint in the set.
Market Analysis and Reports
get_market_analysis returns analyst commentary articles from AgWeb's market-analysis section. get_weekend_market_report retrieves periodic market outlook pieces. get_latest_markets_news covers USDA reports and broader commodity news. All three return the same article shape: title, url, summary, date, and author.
The AgWeb API is a managed, monitored endpoint for agweb.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when agweb.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official agweb.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display real-time local elevator bid prices on a farm management dashboard using
get_cash_grain_bidsfiltered by ZIP code. - Track corn and soybean futures across delivery months by polling
get_corn_futuresandget_soybean_futureson a schedule. - Build a commodity news digest by combining
get_news_by_category(crops, livestock, policy) into a single feed. - Index full article text for search or NLP by fetching body content from
get_article_detailwith article URLs. - Alert users to relevant AgWeb coverage by running keyword queries through
search_articlesagainst terms like 'farm bill' or 'USDA report'. - Monitor daily analyst sentiment on grain markets by scraping titles and summaries from
get_market_analysis. - Populate a commodity price widget with a broad market snapshot from
get_markets_overviewacross multiple contract categories.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AgWeb have an official developer API?+
What does `get_cash_grain_bids` actually return for each elevator?+
get_cash_grain_bids returns an array of elevator objects within proximity of the supplied ZIP code. Each object includes company, city, state, county, address, distance, and a bids array. Each bid entry carries the commodity name (with grain grade), delivery month, basis value, and cash price. The status object at the top level carries a response code and message from the upstream data provider.Which commodity symbols are supported by `get_futures_data`?+
ZC (Corn), ZS (Soybeans), ZW (Chicago Wheat), and KE (K.C. Wheat), among others listed in the displayCommodities map returned in each response. The response includes price data arrays across multiple delivery months for the requested symbol.Does the API cover historical futures prices or only current contract data?+
Is article pagination supported when fetching news by category?+
get_news_by_category returns paginated article listings, but the current endpoint inputs only expose the category parameter — there is no explicit page or offset input documented. If you need to paginate deeper into a category archive, you can fork this API on Parse and revise it to expose a page number parameter.