Filtering
Attribute filters — CQL2
Pass a CQL2 expression in filter with filter-lang=cql2-text. Full CQL2 is supported:
comparison, boolean and arithmetic operators, IN, LIKE, spatial operators, functions.
# Live, high-confidence, energetic detections
curl -sG "https://ogc.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=active = true AND confidence = 'HIGH' AND fire_radiative_power > 50" \
--data-urlencode "f=application/json"
Spatial filter — bbox
bbox=min_lon,min_lat,max_lon,max_lat in WGS84 — longitude first, then latitude.
Example: California.
curl -s "https://ogc.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items?bbox=-125,32,-114,42&limit=1000&f=application/json"
Time filters — use CQL on observed_at
Filter by time with a CQL predicate. observed_at is indexed, so this is fast even
against the full history:
curl -sG "https://ogc.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=observed_at > TIMESTAMP('2026-07-01T00:00:00Z')" \
--data-urlencode "f=application/json"
datetime= needs a closed intervalThe standard datetime= parameter works only with a closed interval
(datetime=2026-07-01T00:00:00Z/2026-07-06T00:00:00Z). Open-ended intervals (.../..)
are not supported and return an error — prefer the CQL form above.
Combining filters
bbox, filter, and limit combine freely:
curl -sG "https://ogc.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "bbox=-10,36,4,44" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=active = true AND fire_radiative_power > 20" \
--data-urlencode "limit=5000" \
--data-urlencode "f=application/json"
Scoped queries (bbox + time window + active) are also what keeps you clear of the
30-second query limit — see Performance & limits.
Discovering filterable fields
Each collection publishes its filterable attributes at /queryables as a JSON Schema
document, e.g. Queryables for hotspots. Note the
media type — it's application/schema+json, not plain JSON:
curl -s "https://ogc.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/queryables?f=application/schema+json"