Skip to main content

Performance & limits

Service limits at a glance

LimitValue
Per-query time limit30 seconds — longer queries fail with HTTP 500
Max page sizelimit clamped at 10,000 features
Edge cache60 seconds per response
Total countsNo numberMatched in responses (count via WFS)
Server-side sortingOGC API sortby is a no-op — use WFS sortBy
WritesNone — the API is read-only
CORSOpen (Access-Control-Allow-Origin: *)
Undocumented pathsReturn 403

Scope your queries

The service is backed by a large database (~18.7M hotspot rows). Well-scoped queries are fast — sub-second to a few seconds; broad unscoped ones can be slow or time out.

  • Combine a reasonable bbox, an observed_at time window, and/or active = true. A broad-area bbox with a large limit and no other filter is the main query shape that can exceed the 30-second limit and return HTTP 500.
  • active = true and observed_at ranges are fast (indexed). Filtering by non-indexed attributes over large sets is slower.
  • Prefer time windows over deep paging for bulk pulls — see Paging & bulk export.

Retries

Treat an HTTP 500 with a timeout message as retryable: narrow the query (smaller bbox, shorter time window, add active = true) and retry with backoff.

Caching & freshness

Responses are cached for ~60 seconds at the edge: identical requests within a minute are served from cache, and freshly ingested detections can lag by up to a minute on top of the ingestion cadence — see Data sources & update cadence.