We assemble records that live scattered across thousands of small publishers, keep the history nobody else keeps, and sell it as a clean API and custom datasets. Every number traces back to the page it came from.
A land survey divides a square-mile section into sixteen forty-acre parcels. So does our record — one field per forty. This is a real row from the dataset; the amber corner is the sale it describes.
Coverage today is the Corn Belt, where land changes hands at auction and the results get published, then overwritten. We keep the snapshots. Toggle the view.
Query by geography, date, price, or soil rating. Pull the whole thing as Parquet or CSV. Point an agent at the MCP endpoint. Free tier is lagged 90 days; fresh data is paid.
# sales in Iowa over 100 acres, 2024+ GET /v1/farmland/sales ?state=IA&min_acres=100 &since=2024-01-01 Authorization: Bearer hv_live_…
{
"sale_date": "2026-04-23",
"county": "Porter, IN",
"acres": 102.0,
"price_per_acre": 14588.56,
"soil": {"value":140.5,"system":"WAPI"},
"source_url": "auctions.gfarmland.com/…"
}
The same machine that built the farmland set builds others: scattered public records, collected on a schedule, verified to the source, delivered how you want them. If it's published somewhere and nobody has assembled it, we can.
Hundreds of small sites, PDFs, filings, listings — whatever the record lives in.
Numbers are checked against the original bytes. Nothing is invented; low-confidence rows are quarantined.
Point-in-time history retained from day one, so you get the past, not just today.
Tell us what you're building. We'll send a key for the live farmland data, or a quote for a custom collection.