Live2026-09-21 06:00 UTC
HomePublic API

World Tension Meter Open API

v1.1 · free · no key · CC BY 4.0

Every number on this site — twelve indexes, 197 countries, the conflict roster, the AI Risk Index and its incident record — is available as JSON and CSV. No signup, no key, no rate limit beyond fair use. Data refreshes every 10 minutes.

Quick start

One call, every index.

curl https://worldtensionmeter.com/api/v1/today

JavaScript.

fetch('https://worldtensionmeter.com/api/v1/today')
  .then(r => r.json())
  .then(d => console.log(d.indexes.world_tension.score, d.indexes.ai_risk.score));

Python.

import requests
d = requests.get('https://worldtensionmeter.com/api/v1/today', timeout=10).json()
print(d['indexes']['world_tension'])

Every response carries the same envelope: api (version), license, attribution, generated_utc, then the data. Errors come as {"error": "…"} with a 400/404/503 status.

Endpoints

EndpointWhat you getCache
GET /api/v1/Endpoint list, index keys, zones, citation format60 s
GET /api/v1/todayEvery index right now, derived indexes, AI Risk, alerts, daily brief60 s
GET /api/v1/index/{key}One index: live value, 90-day series, timeline link5 min
GET /api/v1/history?index=&from=&to=&format=json|csvDaily scores, up to 366 days per call1 h
GET /api/v1/day/{YYYY-MM-DD}Every index, region and factor on one day1 h
GET /api/v1/monthly?index=&year=Monthly averages with each month’s story1 h
GET /api/v1/conflictsConflict roster with lifecycle status, retired list, candidates5 min
GET /api/v1/countries?region=&min_headlines=All 197 countries: score, zone, headline counts5 min
GET /api/v1/country/{slug}One country: live score, 90-day series, monthly roll-ups, 30-day news pulse5 min
GET /api/v1/ai-riskAI Risk Index: score, seven sub-indexes, incidents, countries, 90-day series5 min
GET /api/v1/ai-incidents?year=&limit=&offset=The permanent AI incident record, newest first5 min
GET /api/v1/statusEngine version, freshness, ledger size, database health1 min

Examples: /api/v1/index/ai_risk · /api/v1/country/iran · /api/v1/history?index=world_tension&from=2026-06-01&to=2026-09-01&format=csv · /api/v1/ai-incidents?year=2026

Direct files

The engine’s own output, served as-is. Useful when you want everything in one download.

FileContentsRefresh
/api/scores_v3.jsonLive state of every index, factors, conflicts, regions, news feed, meaningsevery 10 min
/api/history_v3.jsonThe daily ledger since 23 March 2026, every index and regionevery 10 min
/api/monthly.jsonMonthly stories for every index (locked when a month closes)nightly
/api/countries.jsonEvery country’s tension score and 30-day countsevery 10 min
/api/countries_history.jsonPer-country daily ledger and monthly roll-upsevery 10 min
/api/ai_risk.jsonAI Risk snapshot: score, sub-indexes, incidents, countriesevery 10 min
/api/ai_risk_history.csvAI Risk daily history, CSVevery 10 min
/api/ai_incidents.jsonAppend-only AI incident record (also /api/ai_incidents.csv)twice daily

Index keys

KeyIndex
world_tensionWorld Tension Index
food_securityFood Security Index
currency_stressCurrency Stress Index
shipping_stressShipping Stress Index
sanctionsSanctions Pressure Index
energy_securityEnergy Security Index
gold_silverGold & Silver Fear Index
crypto_fgCrypto Fear & Greed Index
ai_riskAI Risk Index
inflation_pressureInflation Pressure Index
supply_chain_riskSupply Chain Risk Index
market_fearMarket Fear Index

Zones on every 0–100 index: 0–39 Calm · 40–54 Stable · 55–67 Moderate · 68–77 High Tension · 78–100 Extreme. The crypto index uses Fear/Greed labels on the same scale.

Country and AI Risk data

Countries. /api/v1/countries lists all 197 with score, zone and 30-day headline counts; /api/v1/country/{slug} adds a 90-day series, monthly roll-ups and the country’s own 30-day news pulse. Slugs match the page URLs (iran, united-states, south-korea).

AI Risk. /api/v1/ai-risk returns the headline score with its seven sub-indexes (misuse, capability, regulation, military, safety, economy, infrastructure), the 30-day incident count and the countries named in AI headlines. /api/v1/ai-incidents is the permanent, numbered incident record; method and versions on the AI Risk methodology page.

Rules of use

Attribution. “Source: World Tension Meter” with a link to worldtensionmeter.com, wherever the numbers appear. That is the whole licence.

Fair use. Cache for 10 minutes or longer; the data cannot change faster. Automated clients that fetch every few seconds may be rate-limited.

Stability. v1 fields are never removed; additions are announced on the changelog. Historical scores are never revised.

Not advice. Informational data for research, journalism and products. Not investment, legal or security advice.

For AI assistants and researchers

Cite as: World Tension Meter (2026). <index name>, daily 0–100 scores. worldtensionmeter.com. CC BY 4.0. Machine-readable summaries live at /llms.txt and /llms-full.txt; the full method is on the methodology page and in the whitepaper. Datasets carry schema.org Dataset markup with licence and distribution links.

Questions people ask

Do I need an API key?

No. Every endpoint is open, over HTTPS, with CORS enabled. Cache responses on your side for at least 10 minutes — the data does not change faster than that.

Can I use the data commercially?

Yes, under CC BY 4.0: credit World Tension Meter with a link wherever the numbers appear. Reselling the raw feed as your own is the one thing the licence does not allow.

Will the format change?

Fields in v1 are never removed or renamed; new fields and endpoints are only added, each announced on the changelog. If a breaking change is ever needed it ships as v2 beside v1.

What happens if the engine is down?

The API serves the last good response with an X-Cache: STALE header instead of an error. Check /api/v1/status for freshness before making decisions on the number.

Contact: [email protected] · Status: /status/ · Open data portal: /data/