Skip to content

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