Thermal anomalies: heat sources measured by satellite

3 tokens minimum per request; above 30 rows, 1 token per 10 rows returned (rounded up) — the same rule as a page of signals, and the same plan window applies (meta.window_clamp says when it was cut). A thermal anomaly is a satellite measurement, not a report (fire radiative power, VIIRS on NOAA-20 / NOAA-21 / Suomi NPP via NASA FIRMS). Two kinds are returned. kind=facility: a heat source of at least 10 MW within 2 km of a registered facility — a refinery, power plant, port, base, dam, bridge and the like; airports are excluded — that is at least 5 times the strongest detection within 500 m of the same spot in the 21 days before (or where none was detected). kind=night_source: a night-time heat source of at least 20 MW with no registered facility within 2 km, at least 5 times its own spot's 21-day maximum and 3 times that of the surrounding 10 km, compact and with little burning around it; its facility and distance_m are null, and it does not rule out vegetation fires. Each record states what was measured — strength, time, satellite, the earlier level, and for kind=facility the distance to the facility — and never a cause: a detection does not distinguish an attack, an accident, flaring or a vegetation fire, and the heat source may be outside the facility. Every record is also an event (same event_id as GET /api/v1/signals with categories=thermal_anomaly, where it carries measured=true and measured_kind=thermal), so the event endpoints work on it. linked_events lists reported events tied to the same facility by name within 3 days of the detection; it needs a plan with event relations (otherwise null, and meta.notes says so). Severity is inherited from linked reporting and is null when there is none. The measurement detail — which facility or place it was near, the distance, the strength, the summary and linked_events — needs a plan with the full event detail. Without it every record still returns that a heat source was measured, when, the pixel position and its kind, with detail_withheld=true, a placeholder title and null in the withheld fields (meta.detail_included and meta.detail_required_plan say so); the same records in GET /api/v1/signals carry the placeholder title too. Cursor pagination via meta.next_cursor.

get/api/v1/thermal-anomalies

Request

  • Base URL: https://offnadir-delta.com
  • URL: https://offnadir-delta.com/api/v1/thermal-anomalies
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

bboxstring

Bounding box "minLon,minLat,maxLon,maxLat" (WGS84). Omit for worldwide.

start_datestring date

Date range start, YYYY-MM-DD (UTC). Give with end_date, or neither for the last 7 days up to the latest day your plan can read.

end_datestring date

Date range end, YYYY-MM-DD (UTC), inclusive.

limitinteger

Max rows per page (1-100, default 50).

cursorstring

Opaque cursor from meta.next_cursor. Bound to the query it came from.

Response

A page of thermal anomalies, newest detection first.

metaobject
thermal_anomaliesobject[]

Changes

No recorded changes to this operation across all 1 revision of this API.