API reference

Incidents

Live and historical emergency incidents from every state and territory, in one GeoJSON schema. Base URL https://emergencyapi.com/api/v1.

GET/incidents

List all current incidents

Returns a GeoJSON FeatureCollection of all current emergency incidents, with support for filtering, pagination, and bounding box queries.

Parameters

NameInRequiredTypeDescription
statequeryNostringComma-separated state codes (e.g. nsw,vic,qld)
eventTypequeryNostringComma-separated event types (bushfire, burn_off, fire_ban, structure_fire, vehicle_fire, grass_fire, hazmat, rescue, flood, storm, tree_down, cyclone, earthquake, extreme_heat, vehicle_accident, medical, alarm, other)
categoryqueryNostringComma-separated event categories. Groups related event types (e.g. fire includes bushfire, structure_fire, grass_fire, vehicle_fire). burn_off is its own category (planned). See /api/v1/schema for the full mapping.
featureTypequeryNostringComma-separated feature types. Defaults to 'incident' (point incidents only), so boundary polygons never appear unless requested. Request them explicitly: incident_area, warning_area, fire_ban_area. See /api/v1/schema.
severityqueryNostringCAP-AU severity levels (Extreme, Severe, Moderate, Minor, Unknown)
urgencyqueryNostringCAP-AU urgency levels (Immediate, Expected, Future, Past, Unknown)
certaintyqueryNostringCAP-AU certainty levels (Observed, Likely, Possible, Unlikely, Unknown)
warningLevelqueryNostringAustralian Warning System levels
statusqueryNostringIncident status filter
agencyqueryNostringSource agency filter
bboxqueryNostringBounding box: minLon,minLat,maxLon,maxLat
limitqueryNointegerResults per page (default 100, max 500)
cursorqueryNostringOpaque pagination cursor, taken from meta.next_cursor of the previous response. Absent next_cursor means there are no further pages.
afterqueryNostringAlias for cursor. This is the parameter name emitted in links.next, and is accepted for backward compatibility. If both are supplied, after wins.
formatqueryNostringResponse format. CSV includes columns: id, state, agency, feed_id, title, event_type, status, warning_level, severity, urgency, certainty, lng, lat, address, suburb, lga, location_state, reported_at, updated_at, fetched_at, is_retracted, retracted_at, retraction_reason. cap-atom returns a standards-validated CAP Atom feed (each entry inlines a CAP-AU alert in <content>; incidents retracted in the last 7 days appear as Cancel messages). cap-au is the deprecated legacy <alerts> wrapper, kept for backward compatibility; new consumers should use cap-atom.
include_retractedqueryNobooleanInclude retracted incidents (default false). Retracted incidents are marked when upstream feeds stop publishing them.

Responses

StatusDescription
200A GeoJSON FeatureCollection of incidents
429Rate limit exceeded
Request
curl "https://emergencyapi.com/api/v1/incidents?state=nsw%2Cvic&eventType=bushfire%2Cflood" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "nsw-rfs-1234567",
      "geometry": {
        "type": "Point",
        "coordinates": [
          150.604,
          -33.883
        ]
      },
      "properties": {
        "source": {
          "state": "nsw",
          "agency": "RFS",
          "feedId": "1234567"
        },
        "title": "Bush Fire - Warragamba",
        "eventType": "bushfire",
        "status": "active",
        "warningLevel": "watch_and_act",
        "severity": "Severe",
        "urgency": "Expected",
        "certainty": "Observed",
        "location": {
          "address": "Warragamba Dam Rd, Warragamba NSW",
          "suburb": "Warragamba",
          "state": "NSW",
          "latitude": -33.883,
          "longitude": 150.604
        },
        "details": {
          "description": "Bush fire burning in a south-easterly direction"
        },
        "timestamps": {
          "reported": "2026-04-07T14:30:00+10:00",
          "updated": "2026-04-07T16:45:00+10:00",
          "fetched": "2026-04-07T16:46:12+10:00"
        },
        "retraction": {
          "retracted": true,
          "retractedAt": "2026-04-07T18:00:00+10:00",
          "reason": "upstream_removed"
        }
      }
    }
  ],
  "meta": {
    "total_count": 245,
    "has_more": true,
    "next_cursor": "cursor_xyz789",
    "generatedAt": "2026-04-07T16:46:12+10:00"
  },
  "links": {
    "self": "/v1/incidents?limit=100",
    "next": "/v1/incidents?limit=100&after=cursor_xyz789"
  },
  "attribution": "https://emergencyapi.com/api/v1/attribution"
}
GET/incidents/{id}

Get a single incident

Returns a single incident as a GeoJSON Feature.

Parameters

NameInRequiredTypeDescription
idpathYesstringIncident ID (e.g. nsw-rfs-1234567)
formatqueryNostringResponse format. Default geojson returns a GeoJSON Feature. cap-au returns the incident as a single standards-valid CAP-AU <alert> document (Content-Type application/cap+xml), validated against the OASIS CAP 1.2 schema and the CAP-AU Profile v3.0.

Responses

StatusDescription
200A GeoJSON Feature, or a CAP-AU alert document when format=cap-au
404Incident not found
Request
curl "https://emergencyapi.com/api/v1/incidents/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/incidents/nearby

Find incidents near a location

Returns incidents within a radius (km) of a given lat/lng coordinate, sorted by distance.

Parameters

NameInRequiredTypeDescription
latqueryYesnumberLatitude
lngqueryYesnumberLongitude
radiusqueryYesnumberRadius in kilometres (max 500)
limitqueryNointeger
statequeryNostring
eventTypequeryNostring
severityqueryNostring
eventCategoryqueryNostring
urgencyqueryNostring
certaintyqueryNostring
warningLevelqueryNostring
agencyqueryNostring
statusqueryNostringComma-separated incident statuses (active, contained, controlled, safe, completed). Defaults to all.
include_retractedqueryNobooleanSet true to include retracted incidents. Default false; retracted incidents are hidden, matching /incidents.

Responses

StatusDescription
200Nearby incidents as GeoJSON FeatureCollection
400Missing or invalid parameters
Request
curl "https://emergencyapi.com/api/v1/incidents/nearby?lat=-33.87&lng=151.21" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/incidents/snapshot

Audit trail snapshot

Returns the incidents that were active at a specific point in time. Recent datetimes are reconstructed from live and lifecycle data. Datetimes before 2026-04-08 are reconstructed from the historical archive (4.8M+ records) and are gated by the same tier lookback as /incidents/history (free has no archive access; Starter 1 year, Developer and Business 5 years, Pro and Enterprise unlimited). Archive (pre-2026-04-08) snapshots require a state filter, and meta.source indicates whether the result came from "live" or "archive".

Parameters

NameInRequiredTypeDescription
datetimequeryYesstringISO 8601 datetime to query (cannot be in the future)
statequeryNostringFilter by state code. Required for archive (pre-2026-04-08) snapshots.
event_typequeryNostringFilter by event type
limitqueryNointegerMax results (default 500)

Responses

StatusDescription
200Incidents active at the requested datetime
400Missing or invalid datetime, or an archive (pre-2026-04-08) snapshot requested without the required state filter
403Archive access requires a paid plan, or the datetime predates your tier's lookback window
Request
curl "https://emergencyapi.com/api/v1/incidents/snapshot?datetime=2026-04-20T14%3A30%3A00%2B09%3A30&state=sa" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/incidents/history

Historical incident data (paid tier)

Returns historical emergency incidents from the 4.8M+ record archive (1840-2026). Free tier is blocked. Starter tier limited to 1 year lookback, Developer and Business to 5 years, Pro and Enterprise unlimited.

Parameters

NameInRequiredTypeDescription
statequeryNostringComma-separated state codes
eventTypequeryNostringComma-separated event types
afterqueryNostringStart of date range (ISO 8601, inclusive). Tier-limited.
beforequeryNostringEnd of date range (ISO 8601, exclusive). Defaults to now.
limitqueryNointegerMax results per page (1-500, default 100)

Responses

StatusDescription
200Historical incidents matching filters
403Free tier blocked or depth limit exceeded
Request
curl "https://emergencyapi.com/api/v1/incidents/history?state=wa%2Csa&eventType=bushfire%2Cflood" \
  -H "Authorization: Bearer YOUR_API_KEY"