API — Features
The OGC API — Features surface. Five endpoints, rigorously regular: discover the catalogue, read one collection's metadata, discover what you can filter on, query features, fetch a single feature.
Every path in this page is relative to the base URL https://api.adam.geospatial.wfp.org/api.
GET /collections
Lists all the collections the API exposes.
Query parameters (all optional):
| Name | Type | Purpose |
|---|---|---|
type |
string | Filter by collection type |
bbox |
minLon,minLat,maxLon,maxLat |
Keep only collections whose extent intersects this box |
datetime |
ISO 8601 / interval | Keep only collections whose temporal extent intersects this window |
limit |
integer | Page size |
offset |
integer | Pagination offset |
Response — a JSON object with a collections array and HATEOAS links:
{
"collections": [
{
"id": "adam.adam_eq_events",
"title": "Earthquake Events",
"description": "...",
"extent": { "spatial": { "bbox": [[-180, -90, 180, 90]] }, "temporal": { ... } },
"links": [ ... ]
}
],
"links": [ ... ]
}
See Collections Reference for the curated catalogue of what each collection contains.
GET /collections/{collectionId}
Metadata for a single collection — title, description, extent, and links to its items, queryables and tiles.
GET /collections/{collectionId}/queryables
Returns a JSON Schema describing the filterable properties of the collection. This is the authoritative list of names you can use in filter= expressions.
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "object",
"properties": {
"mag": { "type": "number" },
"depth": { "type": "number" },
"iso3": { "type": "string" },
"published_at": { "type": "string", "format": "date-time" }
}
}
GET /collections/{collectionId}/items
The bread-and-butter endpoint. Returns a GeoJSON FeatureCollection of features in the collection, with filtering, sorting and pagination.
Query parameters:
| Name | Type | Purpose |
|---|---|---|
bbox |
minLon,minLat,maxLon,maxLat |
Spatial filter |
datetime |
ISO 8601 / interval | Temporal filter |
filter |
CQL2 expression | Attribute filter — see CQL2 |
sortby |
property name (prefix - for desc) |
Sort order |
limit |
integer | Page size |
offset |
integer | Pagination offset |
Response:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "...",
"geometry": { "type": "Point", "coordinates": [34.5, 38.1] },
"properties": { "mag": 6.7, "published_at": "2026-04-15T13:42:11Z", "iso3": "TUR" },
"links": [ ... ]
}
],
"links": [ ... ],
"numberMatched": 217,
"numberReturned": 50
}
See Query Features for full recipes.
GET /collections/{collectionId}/items/{itemId}
A single feature by id. Returns a GeoJSON Feature.
For earthquake and cyclone events, the properties object includes dynamic fields with absolute URLs pointing to derived products (population impact tables, shapefile bundles, hazard rasters). See Fetch Event Outputs.
Errors
| Status | Meaning |
|---|---|
400 Bad Request |
Invalid bbox, datetime, filter, or other parameter syntax |
404 Not Found |
Unknown collectionId or itemId |
5xx |
Service-side error; retry with backoff |
Live references
- List collections — Swagger →
items_collections__collectionId__items_get· Live HTML → /api/collections - Collection metadata — Swagger →
collection_collections__collectionId__get - Queryables — Swagger →
queryables_collections__collectionId__queryables_get - Items — Swagger →
items_collections__collectionId__items_get - Single feature — Swagger →
item_collections__collectionId__items__itemId__get