---
title: "Location enrichment"
method: GET
path: "/v1/enrich"
tags: ["Spatial Queries"]
---

# Location enrichment

`GET /v1/enrich`

## Request

- Base URL: `https://api.terranode.co`
- URL: `https://api.terranode.co/v1/enrich`
- Auth: API key in header `x-api-key`

Send a location, get back everything Terranode knows about it. Queries one, many, or all datasets in a single call. Each dataset queried counts as one request against the monthly quota. Under the hood, this fans out a spatial join (intersects, match_mode=all) across the selected datasets in parallel.

## Query parameters

- `lat` number, required
- `lng` number, required
- `system_dataset` string
- `dataset` string
- `dataset_id` string
- `radius` number

## Response `200`

Enrichment result.

- EnrichResponse
  - `summary` object, required
    - `datasets_queried` integer, required
    - `datasets_matched` integer, required
    - `requests_charged` integer, required
  - `radius_m` number: Echo of the radius parameter, in meters. Omitted when not provided.
  - `results` EnrichResult[], required
    - `dataset` string, required: Dataset slug or ID.
    - `type` 'system' | 'user', required
    - `version` integer, required
    - `match` boolean, required
    - `intersections` SpatialJoinMatchDetail[], required (unresolved $ref)
  - `errors` EnrichError[], required
    - `dataset` string, required
    - `type` 'system' | 'user', required
    - `error` string, required
  - `latency_ms` number, required
  - `api_version` string, required
  - `semantics_version` string, required

## Other responses

- `400`: Invalid request parameters or body.
- `401`: Missing or invalid API key.
- `404`: Resource not found.
- `429`: Monthly request quota exceeded.
- `500`: Internal server error.

---

[API](https://skmtc.dev/terranode/apis/terranode-geospatial-api.md) · [All operations](https://skmtc.dev/terranode/apis/terranode-geospatial-api/llms.txt) · [OpenAPI document](https://skmtc.dev/terranode/apis/terranode-geospatial-api/revisions/bdd80613bc7a?raw)
