Agriculture & Environment
Soil Suitability Scoring API
Two neighbouring parcels at the same price can differ by several tonnes per hectare in what they will reliably grow. Soil is most of that difference and it rarely appears in the listing.
- Agricultural land valuers
- Agricultural lenders
- Land investment funds
- Agritech platforms
- Carbon project developers
What your customers would see
example interfaceMockupIllustrative mockup of the interface we would build. Figures shown are examples, not results from a live deployment.
The problem this solves
Agricultural land is priced on comparables, location and whatever the vendor says about it. The physical productive capacity of the soil — how much water it holds, how well it drains, what pH and texture mean for crop choice — is the thing that actually determines long-run yield, and it is usually represented in a transaction by a soil survey map from decades ago, if at all.
For a lender the gap matters at scale. Security valuation on farmland implicitly assumes a productive capacity, and a portfolio assembled without consistent soil assessment carries variation nobody has measured. For an investment fund buying across regions, comparing parcels on headline yield history confuses soil quality with management quality: a well-managed poor soil can outproduce a neglected good one for years, and then revert.
Useful soil data does exist, and it is more accessible than most buyers realise. National soil surveys, open global gridded products, satellite-derived bare-soil reflectance and digital elevation models together support credible property estimates. The honest caveat is resolution: gridded soil products are coarse relative to the variation inside a single field, and no amount of modelling substitutes for a sampling programme when a decision turns on a specific parcel.
Who buys this
Agricultural land valuers, Agricultural lenders, Land investment funds, Agritech platforms, Carbon project developers
What the API returns
What comes back
- Soil property estimates — texture, organic carbon, pH, depth, water-holding capacity
- Drainage and waterlogging risk from terrain and soil structure
- Crop suitability scores by crop and parcel, with limiting factors named
- Productivity potential estimates with expected yield ranges
- Within-parcel variability and sampling recommendations
- Erosion and slope risk indicators
- Comparison against regional soil distributions
- Confidence reporting reflecting the resolution of the underlying data
Endpoints
| Method | Path | Returns |
|---|---|---|
| POST | /v1/parcels/soil | Soil property estimates for one or more parcels |
| POST | /v1/parcels/suitability | Crop suitability scores with limiting factors |
| GET | /v1/parcels/{id}/productivity | Productivity potential and expected yield range |
| GET | /v1/parcels/{id}/variability | Within-parcel variability and sampling plan |
| POST | /v1/parcels/compare | Compare parcels on the same soil and suitability measures |
| POST | /v1/samples/ingest | Upload laboratory sample results to refine estimates |
Request and response
illustrativeRequest
{
"parcels": [
{ "parcel_id": "p_7741", "geometry": { "type": "Polygon", "coordinates": "..." } }
],
"crops": ["winter_wheat", "oilseed_rape", "sugar_beet", "permanent_grass"],
"include": ["properties", "variability", "limiting_factors"]
}Response
{
"parcel_id": "p_7741",
"area_ha": 62.8,
"properties": {
"dominant_texture": "clay_loam",
"organic_carbon_pct": { "estimate": 2.4, "range": [1.9, 3.0] },
"ph": { "estimate": 6.8, "range": [6.4, 7.2] },
"effective_depth_cm": { "estimate": 78, "range": [55, 95] },
"available_water_capacity_mm": { "estimate": 162, "range": [128, 191] },
"drainage_class": "imperfectly_drained"
},
"suitability": [
{ "crop": "winter_wheat", "score": 78, "band": "good",
"limiting_factors": ["autumn_workability", "waterlogging_risk"] },
{ "crop": "sugar_beet", "score": 41, "band": "marginal",
"limiting_factors": ["harvest_trafficability", "effective_depth"] },
{ "crop": "permanent_grass", "score": 88, "band": "very_good", "limiting_factors": [] }
],
"productivity": { "crop": "winter_wheat", "expected_t_per_ha": [7.4, 9.1],
"regional_percentile": 0.62 },
"variability": { "cv_estimate": 0.21, "zones": 3,
"sampling_recommendation": "5 composite samples, one per zone plus two in the north-west depression" },
"confidence": { "band": "medium",
"limits": ["National soil map polygon resolution is coarser than this parcel",
"No laboratory samples supplied for this parcel"] }
}Where the data comes from
| National soil survey data | Mapped soil series and properties from national surveys. Authoritative where it exists, often decades old, and licensing varies — some are open, some commercial, some restrict derived products |
| Open global gridded soil products | SoilGrids and similar global predictions at 250 metre resolution. Freely usable, and coarse relative to a single field, which is the central limitation to be clear about |
| Digital elevation models | Open terrain data for slope, aspect, curvature and flow accumulation — which drive drainage and erosion risk and are often more informative than the soil map at parcel scale |
| Satellite bare-soil composites | Multi-year composites of exposed soil from Sentinel-2, used to map within-field texture and organic matter variation. Open with attribution |
| Laboratory sample results | Where the client or the grower has them. These replace estimates with measurements for the properties sampled and transform confidence |
| Historical yield data | Parcel or field yield history where available, used to validate productivity estimates against what the ground has actually produced |
The intelligence layer
The difference between a demo and a service is mostly in this section. These are the parts that keep the answer trustworthy once real traffic is hitting it.
- Digital soil mapping that combines national survey polygons with terrain derivatives and bare-soil reflectance, since terrain often explains within-parcel variation that the soil map cannot resolve
- Every property returned as an interval rather than a point value, because a point estimate from a 250 metre grid cell applied to a six-hectare parcel implies precision that does not exist
- Water-holding capacity derived from texture, depth and stone content through established pedotransfer functions, with the function and its published error reported
- Suitability scored against documented crop requirement frameworks, with limiting factors named individually rather than collapsed into a single number
- Laboratory sample ingestion that updates estimates locally and widens or narrows confidence accordingly, so a client's own sampling improves the answer rather than sitting beside it
- Within-parcel variability estimated from bare-soil composites and terrain, driving a sampling plan — the most useful output is often where to sample rather than what the soil is
- Validation of productivity estimates against historical yield where it exists, reported by region and crop, with regions lacking validation data marked as unvalidated
- Tracking of soil survey revisions and gridded product version changes, which shift values across whole regions when the provider reprocesses
What it changes for the business
Valuation support
Consistent soil assessment across a portfolio gives valuers and lenders a comparable productivity basis.
Acquisition screening
Suitability scoring ranks candidate parcels before the cost of site visits and sampling.
Sampling efficiency
A variability-driven sampling plan gets more information from fewer laboratory samples.
Cropping decisions
Named limiting factors turn a suitability score into something an agronomist can act on.
How it fits into your product
How it embeds
- Parcel geometry as GeoJSON, or referenced from cadastral identifiers where licensing permits
- Batch endpoints for portfolio screening across thousands of parcels
- Laboratory result ingestion so client sampling improves estimates over time
- Map layers and zone polygons for your existing GIS or mapping interface
- Report generation for valuation and lending files with sources and confidence stated
- White-label delivery for valuers, funds and agritech platforms
Included in every build
- Authentication, scoped API keys and per-customer rate limiting
- Input validation with predictable, documented error responses
- Versioned endpoints so your integration never breaks without notice
- Request and response logging for audit and dispute resolution
- Latency, error-rate and usage monitoring with alerting
- OpenAPI specification, sandbox environment and client examples
- Backups, failover design and a documented recovery procedure
- An agreed support arrangement once the service is live
How we would build it
about 12 weeksDiscovery and data review
Weeks 1–2
We agree the exact question the API answers, review the sources you already hold, check what has to be licensed, and write down the response contract your developers will code against.
Architecture and prototype
Weeks 3–4
You get a written architecture plus a working endpoint on real data — narrow, but genuinely callable — so integration can be tested against something concrete rather than a document.
Production build
Weeks 5–10
Pipelines, models, storage, authentication, rate limiting, logging, tests and documentation. Security and observability are part of this phase, not a later one.
Integration and handover
Weeks 11–12
We support your engineers through their integration, run load tests at your expected volume, and agree how the service is monitored and supported once it is live.
Commercial models
There is no fixed price list, because the cost is driven by data complexity, integration count, model requirements, request volume and the support level you need. Scope is agreed in writing before development starts.
Fixed-scope prototype
A defined slice of the service, built and priced as one piece of work. The usual first step when the business case needs proving internally.
Fixed-price build
An agreed scope against a written architecture, delivered for an agreed price. Best when the requirements are already clear.
Build then retainer
We build the service, then operate and improve it under a monthly agreement covering monitoring, updates and model maintenance.
White-label product
The service runs under your brand, your domain and your pricing, with MLPivot invisible to your customers.
Questions buyers ask
How accurate are the soil estimates?
Accurate enough to screen and rank, not accurate enough to settle a transaction on. Open gridded products are predictions at 250 metre resolution and national survey polygons were often mapped at scales where a whole parcel is a single unit. Real soils vary over metres. The API returns intervals rather than point values for exactly this reason, and where a decision turns on a specific parcel the honest recommendation is laboratory sampling.
Does this replace soil sampling?
No, and we would resist any positioning that suggests it does. It reduces how much sampling you need and tells you where to sample, which is genuinely valuable at portfolio scale. For a single high-value purchase or a precision nutrient plan, measurements beat predictions and that will remain true. The product is most useful as the layer that decides where the sampling budget goes.
Can you use the national soil survey data in a commercial product?
It depends on the country, and the answer is less convenient than people expect. Some national soil datasets are open with attribution, some require a commercial licence for use in a paid service, and a few restrict derived products specifically. We check each jurisdiction in discovery and, where the national data cannot be used, build on open global products and terrain with the resulting accuracy reduction stated rather than hidden.
Why not just use historical yields?
Because yield history mixes soil quality with management quality, weather and crop choice. A well-run poor soil outproduces a neglected good one for a long time, and a parcel's five-year average tells you about the previous occupier as much as about the ground. We use yield history to validate productivity estimates where it exists, which is a different and more defensible use of it.
Can you score suitability for crops not in your framework?
For crops with documented requirement ranges, yes. For novel or very local crops the requirement data often does not exist in publishable form, and inventing thresholds would produce a score with nothing behind it. We would say which crops are supportable and which are not rather than extending the list to match a request.
Related blueprints
Satellite Crop Monitoring API
Vegetation indices, crop stress detection and field change monitoring from satellite imagery, as a data layer for agritech and insurance software.
Water Availability Intelligence API
Drought risk, water stress and availability indicators by location, for agriculture, lending, insurance and industrial siting.
Crop Yield Forecasting API
Expected yield by crop, location and season, with honest uncertainty, for agritech platforms, insurers, lenders and grain buyers.
Want this built for your platform?
Tell us what your product does today and what you want another system to be able to ask it. We will come back with an approach, a scope and a price.