Skip to content

Public soil data, with its context intact

Experimental API version 0.1.0

OpenSoil is building a consistent, provenance-first interface to public soil information. The goal is to help developers, land stewards, researchers, and educators find data without hiding the differences between a mapped survey value, a laboratory observation, and a modeled estimate.

Run the quickstart Explore the live API

Use with scientific care

OpenSoil is experimental. A normalized name and unit do not make records comparable. Always inspect data kind, depth, method, spatial support, source, transformations, and warnings.

What is live

The first working adapter queries USDA Soil Data Access for SSURGO map-unit, component, and horizon attributes at a WGS84 point. Responses clearly label those values as mapped survey data, preserve the original USDA column name and value, and link each observation to its map unit, component, and horizon.

The API also publishes:

  • a provider catalog that separates supported, planned, and researched systems;
  • a developing canonical property vocabulary;
  • normalized and explicitly raw provider routes;
  • generated OpenAPI at api.opensoil.net/openapi.json;
  • browser-friendly CORS for read-only dashboard and mapping work.

Who this is for

  • Developers

    Build maps, dashboards, notebooks, and decision-support prototypes against one documented contract.

  • Researchers

    Inspect provenance and provider limitations before deciding whether records can be compared.

  • Land stewards

    Discover what public information exists around a location without confusing it with a site-specific soil test.

  • Contributors

    Research providers, improve canonical vocabulary, add tested adapters, and document limitations.

Project boundaries

OpenSoil does not own or silently relicense provider data. It does not treat modeled or mapped values as field measurements. It does not convert properties unless a reviewed rule records the exact operation. No Python package is being published in this milestone; Python examples use ordinary HTTP requests.

Source code and documentation live in the OpenSoil repository.