A Good API
for Bad News

Real-time geopolitical events, cross-crisis contagion tracking, and market impact — in one API call.

Create API Key View API Docs

One API. Every crisis.
Every connection.

POLYCRISIS monitors geopolitical events in real time, tracks how crises spread across borders, and maps the market impact.

📌
📡

Raw Signal → Structured Events

Missile strikes, blockades, summits, disasters — hundreds of feeds distilled into geocoded, confidence-scored events every 15 min.

📌
🔗

Cross-Crisis Propagation

Iran escalates → Gaza activates → US politics shift. The connections engine maps ripple effects with impact scores and mechanisms.

📌
📊

Market + Macro Correlation

Correlate events against oil, VIX, currencies, yields. Multi-window analysis reveals when correlations flip.

📌
🌡️

Confluence Detection

When scenarios, intensity, connections, and humanitarian alerts all converge on the same crisis — one score tells you.

📌
🔮

Scenario Probability

Is Hormuz closing? Nuclear breakout? AI-assessed probabilities with evidence, reassessed against live headlines.

📌
🕰️

80 Years of Precedent

Semantic matching against your history plus conflict data back to 1946. Find what this moment looks like — and what followed.


Clean REST API. Real endpoints.

Everything returns JSON. Offset pagination with a meta.total count. Rate limit headers on every response. Versioned at /api/v1/.

GET /v1/crises Discovery — all tracked crises
GET /v1/events?crisis=iran&type=military Filtered crisis events with confidence
GET /v1/connections?crisis=iran&event_type=naval Cross-crisis propagation graph
GET /v1/signals Multi-layer confluence detection
GET /v1/intensity?crisis=iran Escalation scores + current index
GET /v1/correlations?crisis=iran&market=VIX&windows=7d,30d Event-to-market/macro correlation
GET /v1/scenarios?crisis=ukraine AI scenario assessments
GET /v1/patterns PCA event clusters + UCDP analogs
GET /v1/actors Entity-centric intelligence
GET /v1/analogs?crisis=iran Historical precedent matching
GET /v1/markets/cone?crisis=iran Forward uncertainty cone for key tickers
GET /v1/briefing?crisis=iran&depth=deep Cached intelligence briefing
GET /v1/stream?crisis=iran SSE real-time event stream
POST /v1/webhooks Push alerts — events, scenarios, intensity

Data that speaks for itself

Every event is geocoded, typed, confidence-scored, and enriched with market correlation data. Multi-source validation improves accuracy continuously.

The connections endpoint tells you not just what happened — but what's likely to happen next, and which assets will move when it does.

7
Crisis theaters
15m
Refresh cycle
80yr
Conflict history
// GET /v1/connections?crisis=iran
{
  "connections": [{
    "source_crisis": "iran",
    "target_crisis": "gaza",
    "strength": 0.85,
    "intensity": 7.2,
    "cluster_alignment": 0.71,
    "mechanisms": ["military escalation",
      "Hezbollah/Hamas axis"],
    "evidence_count": 14
  }],
  "meta": { "count": 6 }
}

One request to your first crisis event

Mint a key from your dashboard, export it as $POLYCRISIS_KEY, and you’re in. Standard REST — use any language, any framework.

# 1. Discover all tracked crises
curl -H "Authorization: Bearer $POLYCRISIS_KEY" \
  https://polycrisis.world/api/v1/crises

# 2. Iran military events, last 24h
curl -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/events?crisis=iran&type=military&limit=10"

# 3. Current intensity index for Iran (with 30d timeseries)
curl -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/intensity?crisis=iran&window=30"

# 4. Scenario probabilities for Iran
curl -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/scenarios?crisis=iran"

# 5. Stream events in real time (SSE) — Developer tier
curl -N -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/stream?crisis=iran"

Real-world examples

From trading bots to risk dashboards — here's how people use the API.

Trading bot: risk-off on escalation

Poll the intensity index and reduce equity exposure when a crisis goes critical.

# Check Iran intensity every 5 minutes
while true; do
  curl -s -H "Authorization: Bearer $POLYCRISIS_KEY" \
    "https://polycrisis.world/api/v1/intensity?crisis=iran&window=30" \
    | jq '.current_index | "\(.value) [\(.band)] \(.delta_7d)"'
  sleep 300
done

Cross-crisis connections position building

When a crisis spikes, check where it connects and front-run the secondary effects.

# Iran military event detected — where does it connect?
curl -s -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/connections?crisis=iran" \
  | jq '.connections[] | select(.strength > 0.6)'

# Example match: iran → scs, strength 0.71, mechanisms: energy chokepoint
# Action: build shipping/energy positions on the secondary theater

Webhook alerts for your Slack/Telegram

Register a webhook and get pushed when intensity crosses your threshold (Developer tier).

# Register an intensity-spike webhook for Iran
curl -X POST -H "Authorization: Bearer $POLYCRISIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook",
    "triggers": ["new_event", "scenario_change", "intensity_spike"],
    "crisis": "iran",
    "intensity_threshold": 7
  }' \
  https://polycrisis.world/api/v1/webhooks

# Response includes signing_secret — store it to verify inbound deliveries

Find historical precedents

Query analogs to find past weeks that looked like the current situation — and what happened to markets after.

# What does the current week look like historically?
curl -s -H "Authorization: Bearer $POLYCRISIS_KEY" \
  "https://polycrisis.world/api/v1/analogs?crisis=iran" \
  | jq '.analogs[0]'

From noise to signal in seconds

Every 15 minutes, raw global news is transformed into structured, scored, connected intelligence through a multi-stage pipeline.

📡

Ingest — 150+ global sources

RSS feeds from BBC, Reuters, NPR, Al Jazeera, regional outlets. Reddit, Telegram, Bluesky social streams. GDELT event volumes. Historical conflict records back to 1946.

🧠

Extract — AI reads every article

Advanced language models extract structured events: coordinates, event type, actors, targets. A second model geocorrects against verified gazetteers. Headlines preserved verbatim.

🔬

Verify — multi-source validation

Dedup catches same-story rewrites. Bounds check ensures geographic relevance. Wikipedia pageview spikes confirm public attention. USGS seismic data validates events near nuclear facilities.

🧬

Embed — semantic vector space

Every event gets a high-dimensional embedding. Enables semantic search, cluster detection, and analog matching against 80 years of structured conflict data — so you can find what this moment looks like historically and what followed.

⚡

Enrich — scenarios, connections, correlations

AI continuously reassesses scenario probabilities. The connections graph computes cross-crisis impact. Market correlations run against equities, commodities, VIX, currencies, and macro indicators.

📤

Deliver — API, stream, webhooks

Structured JSON via REST. Real-time SSE streaming. Push webhooks on new events, scenario changes, and intensity spikes. Confluence signals when multiple layers converge.


Built for how you actually build

Webhooks with connection alert triggers push events to your infrastructure. SSE streaming gives you a real-time firehose. Or just poll the REST API — it's your call.

Building with Claude Code? Our MCP server lets Claude query live crisis data while it writes your trading bot. OpenAPI 3.1 spec available at /v1/openapi.json so any AI coding assistant can understand every endpoint.

10
Event types
SSE
Real-time streaming
MCP
Claude Code ready
// Webhook payload — connection alert
{
  "type": "connection.detected",
  "data": {
    "source_crisis": "iran",
    "source_event": {
      "type": "military",
      "title": "IRGC exercises near Hormuz"
    },
    "connection": {
      "target": "scs",
      "probability": 0.72,
      "peak_lag_days": 14,
      "mechanism": "energy_corridor"
    }
  }
}
// SSE stream output
event: new_event
data: {"crisis":"iran","type":"naval",
  "title":"Patrol near Strait of Hormuz",
  "lat":26.57,"lng":56.25}

event: intensity_update
data: {"crisis":"iran",
  "score":73,"level":"CRITICAL"}

Every kind of crisis event. Structured.

Airstrikes in Tehran. Typhoons in the Pacific. ICE raids in Chicago. Submarine patrols near Taiwan. Enrichment at Fordow. Campus protests in New York. Each one extracted, geocoded, typed, and scored — ready for your algorithm.

💥 Military ⚓ Naval ☢️ Nuclear 🏛 Political ✊ Protest 🛑 Humanitarian 👮 Enforcement 🔥 Wildfire 🌊 Flood 🌪 Storm 💻 Cyber 📍 Breaking

API pricing. Built for builders.

Full access to the /api/v1/ surface on the Developer plan. Dashboard features available on Free and Analyst tiers — see the dashboard plans.


Start building with crisis data

Need help? [email protected]

© 2026 Polycrisis.world LLC NOT FINANCIAL ADVICE
Examples Endpoints Pricing Docs