LOADING MARKET DATA...

WARWATCH API

REST access to conflict intelligence. Requires the API-access tier.

GET API ACCESS →

AUTHENTICATION

Create a key in your dashboard and pass it as a Bearer token. Keys are shown once at creation.

curl https://warwatch.app/api/v1/articles?limit=5 \
  -H "Authorization: Bearer wk_live_xxxxxxxx"

ENDPOINTS

GET/api/v1/articles

Paginated articles. Filters: q, region, countryCode, source, priority, from, to, range, sort, page, limit.

GET/api/v1/conflict-scores

Per-country severity scores with coordinates, plus the alert-based escalation trend: trend, trendPct, momentum and the 14-day sparkline.

GET/api/v1/conflict-alerts

Conflict alerts. Params: history=true, targetCountry, page, limit.

GET/api/v1/countries/{code}

Country instability index & analysis (ISO-3166 alpha-2): posture, energy mix and demand structure, debt, sanctions, chokepoint exposure, and the commodities its assets produce. Cached; 404 if none.

GET/api/v1/missiles

Active missile launches with origin/destination geo.

GET/api/v1/sigint

Active SIGINT signals (callsigns, aircraft, frequencies).

GET/api/v1/chokepoints

Maritime chokepoints: sourced corridor, the goods crossing it with tonnage a year and share of world trade, and the latest route-health score under `sourced`/`health` (components and history live on /api/v1/route-health); the legacy model-generated figures under `simulated` (flagged, never mixed with the measured ones).

GET/api/v1/routes

Trade routes (maritime, pipeline). Params: type, commodity, page, limit. Empty until a verified geometry source exists — `meta.gaps` says so.

GET/api/v1/health-alerts

Disease surveillance (hantavirus, ebola) countries & cases.

GET/api/v1/commodities

The commodity ontology: category, HS codes, unit, description, per-commodity asset and corridor counts. Params: key, category, page, limit.

GET/api/v1/assets

Physical assets (mines, refineries, smelters, ports, terminals, power stations, dams) with capacity per asset and per product, operator edges, status, coordinates and provenance. Params: key, type, country, commodity, status, operator, q, page, limit.

GET/api/v1/companies

Organisations that operate those assets — company, state-owned, public body — with ticker, domicile and the assets each runs. Params: key, q, country, kind, commodity, page, limit.

GET/api/v1/production

Sourced production series (USGS, EIA) and trade flows (UN Comtrade). Shares compare only within one (commodity, stage, measure, year) series. Params: commodity, country, stage, year, dataset=flows, page, limit.

GET/api/v1/route-health

Daily measured health of a corridor, pipeline or asset, with every component and its weight and a `coverage` block naming what could not be computed. Params: subject=CHOKEPOINT|ROUTE|NODE, key, days, incidents, transits.

RESPONSE FORMAT

List endpoints return a uniform envelope:

{
  "data": [ ... ],
  "meta": { "page": 1, "limit": 30, "total": 412, "totalPages": 14 }
}

RATE LIMITS

  • 10,000 requests / month per key (monthly quota).
  • 120 requests / minute burst limit.
  • Quota headers on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Window.
  • Over quota → HTTP 429.

ERRORS

  • 401 — missing / invalid / revoked key.
  • 403 — API access not enabled on the account.
  • 404 — resource not found.
  • 429 — rate or quota limit exceeded.