Soil maps you generate, not soil maps you buy per acre.
Every listing packet, appraisal, and loan file in the corn belt has a soils page in it. Most of them were bought one at a time. The underlying data is USDA SSURGO — public, national, and free. What you are actually paying for is the work of turning overlapping map units into a clean table that sums to 100%. That is the part we sell as an API.
Why this is hard
Soil maps are a per-report line item. Most teams rent them from a mapping vendor and pay per parcel, per user, or per seat — for a rendering of a public USDA dataset. The cost scales with how much you sell, which is exactly backwards.
The output is a PDF, not data. You get an image you can staple into a brochure. You cannot rank a portfolio by CSR2, filter listings by prime farmland acres, or feed the weighted average into a valuation model, because the numbers only exist inside the rendered page.
SSURGO is not a table you can just join. Map unit polygons overlap, components aggregate three different ways, and the productivity indices live in separate tables from the geometry. Getting from raw SSURGO to "53.3% Canisteo, CSR2 84" is the whole job.
The vendor's template is the vendor's brand. Their logo, their layout, their column choices, their footer. If you want your own report inside your own product, you are asking a mapping company to white-label their core product.
Coverage stops where their business stopped. Soil maps are solved for Iowa row crop and thin everywhere else — and the moment you underwrite outside the corn belt you are back to manually pulling Web Soil Survey.
What changes
One call returns the soils inside any boundary you can draw. You own the template it renders into — including the one on the right, which is generated live from the API on this page.
Live document
Generated from the API, right now
Pick a tract in Iowa, Indiana, or Ohio. Every acre, percentage, and index below comes back from a single AOI call — nothing on this page is hard-coded.
The same call renders a page or feeds a model
The document above is one consumer of the response. The other is your database. Because the soils come back as rows rather than a rendered image, the weighted rating on that page is the same number you can sort a 400-tract portfolio by.
Response (truncated)
// select a tract
Productivity legend
Iowa is coloured by CSR2. Indiana and Ohio publish no state rating, so the same ramp is driven by NCCPI — which is why the tract selector above crosses state lines.
What we do to the raw data
- Clip every map unit to your boundary, not to the tile it arrived in
- Resolve overlapping units so inclusions sit on top and acres total the tract
- Join productivity indices from the component and horizon tables
- Area-weight CSR2, NCCPI, and farmland class across the whole parcel
Who ships this
Land brokers & auction companies
Put a soils page in every listing packet without a per-report invoice. Generate it the moment a listing is created, not when someone remembers to order one.
Farm management & appraisal
Weighted CSR2 and prime farmland acres for every tract under management, refreshed on the same schedule as the rest of your data — and exportable into the valuation model you already run.
Ag software & fintech
Drop a soils tab into your product. Lenders want productivity indices behind a loan; agronomy platforms want drainage class and available water behind a recommendation.
Built to sit under your stack
We are not selling you a report template. The template on this page is example code — the product is the endpoint underneath it. Keep your own layout, your own branding, and your own column choices.
Your output
listing packet · appraisal exhibit · loan file · portfolio dashboard
LandMapMagic API
POST /v1/data/aoi · layers: ["ssurgo"] · 10 tokens per request
Source data
USDA NRCS SSURGO · CSR2 · NCCPI · capability class · state productivity indices
Run your own tracts
Send us three or four boundaries you already have soil maps for. We will run them through the API and hand back a side-by-side against the reports you paid for.
If the acres and the weighted rating line up, you already know what the per-report fee was buying.