API

Every forecast, as data.

Open JSON endpoints for the live forecasts, the evidence behind each one and the track record. No key, no sign-up. Please cite HazardPulse and link back when you use the data.

Quick start

curl https://hazardpulse.com/api/v1/live/pulse

Every response is wrapped the same way: the payload under data, and meta.version, meta.generated_at and meta.cache_ttl beside it. Errors carry error.code, error.message and a error.trace_id to quote if you contact us. All times are ISO 8601 in UTC.

Live forecasts

EndpointReturnsCache
/api/v1/live/pulseThe current headline forecast for every hazard5 min
/api/v1/live/earthquakeThe current earthquake forecast, with its highest-chance cells5 min
/api/v1/live/hurricaneEvery active tropical cyclone with its rapid-intensification chance5 min
/api/v1/live/tornadoEvery tracked thunderstorm with its tornado chance5 min
/api/v1/alerts/recentRecent high-chance forecasts across hazards1 min

Live events

What the agencies that observe hazards are reporting now, read from their public feeds at most once a minute. A source that did not answer is named under sources, and the counts it supplies are null — unknown, never zero.

EndpointReturnsCache
/api/v1/nowThe earthquakes of the last 24 hours (M2.5+, from the USGS) and the week’s largest; every active tropical cyclone (NOAA’s positions where NOAA forecasts, the HazardPulse feed elsewhere, each with its rapid-intensification chance); the US tornado warnings in effect (from the National Weather Service); and the counts of each1 min
/api/v1/near“Near you” for the caller’s approximate location, as the home page shows it; reliable is false where no location is available. The location is used for that one request only (see Privacy)none

Forecast records and evidence

Every forecast is frozen when it is issued. These endpoints return it exactly as published, with the hashes and checks that let you confirm nothing changed afterwards.

EndpointReturnsCache
/api/v1/forecast/{forecast_id}One forecast’s frozen record, for example eq_fcst_20261004_0600: the published numbers, the model version and the inputs it used (for earthquakes, the catalog window and its hash)1 year
/api/v1/replay/{forecast_id}The same record, under its older name1 year
/api/v1/evidence/{provenance_id}Input and output hashes and the sources used (prov_{forecast_id})1 year
/api/v1/gates/{gate_decision_id}The automatic checks the forecast passed before publication (gdec_{forecast_id})1 year

Track record and models

EndpointReturnsCache
/api/v1/verification/summaryHow each live model has scored against what happened1 hour
/api/v1/verification/tornado-recoveryThe tornado model’s live scoring, run by run10 min
/api/v1/registry/modelsEvery model that produces a live number, with its version, how it was chosen and where its forecasts are kept1 hour
/api/v1/laic/summaryResults of the population-scale precursor tests on the research page1 hour
/api/v1/ops/statusEach hazard’s latest forecast, its age and whether it is overdue, worked out when you ask1 min
/api/v1/federation/atlasThis node’s federation fingerprint: its node id, its Ed25519 public key and the tables it offers to peers. A discovery record only; signed queries between nodes do not go through this endpoint1 hour

Streams

Server-sent events. Each connection receives the current snapshot when it opens; reconnect on your own schedule for updates.

EndpointReturns
/stream/live/pulseThe live headline forecasts
/stream/ops/statusSystem status

Versioning and fair use

Stable within a version

  • Every endpoint lives under /api/v1/. Fields are never removed or renamed within a version; new fields may be added.
  • A breaking change ships as a new version, announced in the RSS feed before the old one is retired.

Fair use

  • No key is needed. Please keep to 120 requests a minute from one address; above that the API may answer 429 with an error you can retry after a minute.
  • Each response carries the cache lifetime above. The data behind it changes only when a forecast is published, so polling faster than that gains nothing.
Bulk data. The full archive of issued forecasts is in /data/replay/ (index: replay-index.json), and the research datasets behind every model are published as versioned open-data releases with a hash for every file.