HomeBlog

API Guide

Supply Chain Disruption Monitoring: What You Can Build Today

March 16, 2026 · 8 min read · By FreightPulse Engineering

The Ever Given blocked the Suez Canal for six days in 2021 and cost global trade an estimated $9.6 billion per day. The Red Sea crisis rerouted most container traffic around the Cape of Good Hope. COVID-19 shut down ports across Asia for weeks.

Supply chain disruptions are constants. Early detection still matters — reroute before capacity fills, lock rates before panic pricing, tell customers before they see the headline. This article is about what FreightPulse actually exposes today, including what it still doesn't.

What /v1/disruptions actually returns

The endpoint merges three free sources: GDACS (global natural disasters), USGS (significant earthquakes), and NOAA/NWS (US severe weather). Each source degrades independently — check meta.source_status before trusting an empty result.

curl "https://freightpulsehq.com/api/v1/disruptions?port=USLAX&severity=high" \
  -H "X-API-Key: your_api_key" \
  -H "Accept: application/json"
{
  "success": true,
  "data": {
    "results": [
      {
        "id": "gdacs:TC:1001305",
        "type": "cyclone",
        "severity": "moderate",
        "title": "Tropical Cyclone SAUDEL-26",
        "country": "Japan",
        "location": { "lat": 17.1, "lon": 147.3 },
        "starts_at": "2026-08-18T12:00:00+00:00",
        "source": "GDACS"
      }
    ],
    "meta": {
      "sources": ["GDACS", "USGS", "NOAA/NWS"],
      "coverage": "Natural hazards only. Does not cover geopolitical events, strikes, port closures, or canal disruptions.",
      "source_status": { "gdacs": "ok", "usgs": "ok", "nws": "ok" }
    }
  }
}

Pass port to filter events within a radius of a port (300km, 100km for US severe weather), type to filter by hazard (cyclone, earthquake, flood, volcano, drought, wildfire, severe_weather), or severity. There's still no /disruptions/history and no webhooks — poll and cache, the same pattern that already works for fuel, ports, and FTL.

The cost of late detection

Most logistics teams still learn about disruptions from the news. By then rates have moved and alternative capacity is gone. Early signals — even imperfect ones — help you:

Combine disruptions with the other live endpoints

/v1/disruptions covers natural hazards. For everything it doesn't — capacity, cost, and congestion signals — compose three more live calls:

Example: watch a gateway

Poll /port-congestion?port=USLAX once a day. If congestion is high or ratio_vs_baseline ≥ 1.2, page the ops channel. That is a volume-vs-normal flag, not a confirmed closure.

Example: watch inland cost

Store yesterday’s FTL price_usd for a handful of ZIP pairs. A sudden jump is a capacity/fuel signal you can show next to the PortWatch label — still not a weather alert.

Don't assume broader coverage than the source list

type is limited to cyclone | earthquake | flood | volcano | drought | wildfire | severe_weather — the categories GDACS, USGS, and NOAA/NWS actually publish. There's no labor or geopolitical type because no free structured source exists for those; treat carrier advisories and the news as the source for that category, same as before.

What's still not covered

Geopolitical events, strikes, port closures, and canal disruptions have no free structured source, so /v1/disruptions doesn't carry them — check meta.coverage on every response for the current boundary. Webhooks aren't on the roadmap in v1; polling plus your own cache is the pattern that already works for fuel, ports, and FTL.

Getting started

Use the API docs for live endpoints. Free tier: 100 calls/month. Register at /register — there is no /signup route.

Use the Live Endpoints

Natural-hazard disruptions, port activity, EIA fuel, US FTL, and carrier lookup. 100 free calls/month.

Start Free →