API
A market-data feed for ecological signals
One canonical schema, one endpoint per signal, vintaged responses, lineage on every observation. The API is the same shape design partners are using today; general access is on the commercial-tier rollout.
A complete request and response
curl https://api.earth-signals.com/v1/signals/eci \
-H "Authorization: Bearer es_preview_..." \
-d "lat=44.4654" \
-d "lng=-72.6874" \
-d "as_of=2026-04-30" {
"signal_id": "eci",
"version": "1.4.2",
"methodology_version": "EC-M-1.1",
"as_of": "2026-04-30",
"vintage_pinned": true,
"value": 0.6398,
"components": {
"physical": 0.71,
"chemical": 0.62,
"composition": 0.74,
"structure": 0.58,
"function": 0.51,
"landscape": 0.68
},
"uncertainty": { "stdev": 0.041, "ci_95": [0.56, 0.72] },
"lineage": {
"inputs": [
"nlcd-2021",
"landfire-2022",
"soilgrids-2.0",
"gbif-2024-q1"
],
"computation_graph": "https://api.earth-signals.com/v1/signals/eci/lineage/0xa3f2..."
}
} Request shape
Every signal is queried at the same endpoint pattern. The path is
/v1/signals/{signal_id}. Required parameters are
location and an as-of date; the response is the signal's value at that
location pinned to that vintage.
| Parameter | Type | Required | Description |
|---|---|---|---|
signal_id | path | yes | Catalog id, e.g. eci, threat-multiplier. |
lat, lng | float | one of | Point query. Returns the parcel-level value at this point. |
parcel_id | string | one of | Pre-defined parcel id from the Earth API parcel registry. |
polygon | GeoJSON | one of | Aggregate the signal across an arbitrary polygon. |
as_of | date | yes | The vintage to query. Past dates return the same value forever. |
methodology_version | string | no | Pin to a methodology. Defaults to the latest released methodology. |
Response shape
The response is a flat JSON object that always contains the same
seven keys. Signal-specific structure lives under components.
- signal_idThe catalog id queried.
- versionSignal version that produced this observation.
- methodology_versionMethodology pinned to the observation.
- as_ofThe vintage of the observation. Past dates are immutable.
- vintage_pinned
trueif the response is reproducible verbatim. - valueThe signal value, in the units the catalog specifies.
- uncertaintyStandard deviation and 95% interval where the signal is probabilistic.
- componentsSignal-specific sub-structure (e.g. SEEA-EA dimensions).
- lineageInputs by source & hash; URL of the full computation graph.
Authentication, rate limits, SLA
Bearer tokens, scoped per environment (es_test_,
es_live_). Rate limits are tier-dependent and documented
in your access agreement. Production tier carries an availability and
freshness SLA; design-partner tier does not yet.
Status
The API is in private beta with a small group of design partners. Access for additional design partners is reviewed monthly. Email hello@landseed.earth with the use case to apply.