What we hold, per jurisdiction and type
Answers "is it worth asking?" before a query comes back empty.
An empty result from /events or /features has always meant one of two opposite things — we have never carried that data, or we carry it and there is nothing right now — and nothing in the response separated them. This endpoint does.
Public metadata — no API key required.
Reads a summary the worker rebuilds hourly, so the answer is up to COVERAGE_REFRESH_INTERVAL stale: a type that started producing minutes ago can still read as empty.
What it does not tell you: why something is empty. A seasonal feed that is quiet by design and one that broke an hour ago look identical; latest_data_at narrows that and does not settle it. Nor does listing a jurisdiction here mean your plan may query it — coverage is about the data we hold, not entitlement.
Query parameters
A single jurisdiction code. Omit it to get only the summary metadata — the per-type detail is over a thousand rows and is not returned unfiltered.
Response
Coverage for the requested jurisdiction
Example response
{
"events": [
{
"row_count": 1820,
"type": "cameras"
}
],
"features": [
{
"row_count": 1820,
"type": "cameras"
}
],
"jurisdiction": "FRA",
"warnings": [
{
"code": "unknown_jurisdiction",
"did_you_mean": [
"FRA"
],
"message": "jurisdiction \"FR\" does not exist — did you mean FRA? GET /api/v1/jurisdictions lists every valid code.",
"value": "FR"
}
]
}