shortage.life · last_sync · 2026-07-01 08:49:59 UTCbuild 27d88d1 · node v22.22.2

// node

shortage.life
v0.3 · brussels · build f3a2c81
● online · 47/47 sources · 312ms

// $_ exec

$ shortage api --spec
> base https://api.shortage.life/v1
> 10 endpoints · OpenAPI 3.1
> mcp.shortage.life/mcp

// readout · live

BRENT     $72.14/b 
TTF       €43.68/MWh 
OPEC_ORB  n/a
SPR_US    331.2 Mb 
FAO_FFPI  130.8 
auto-refresh 60slatency 312msbuild 0.3.0commit f3a2c81UTC 00:00:00
$_TICKER
BRENT$73.00● 0.0%TTF€43.68● 0.0%HH$3.24▲0.62%SPR_US331.2 Mb17.0dEU_GAS47.4%18c avgFAO_FFPI130.8▼0.2%WHT$5.94/bu● 0.0%BRENT$73.00● 0.0%TTF€43.68● 0.0%HH$3.24▲0.62%SPR_US331.2 Mb17.0dEU_GAS47.4%18c avgFAO_FFPI130.8▼0.2%WHT$5.94/bu● 0.0%

$_API · public REST

Free, anonymous, rate-limited. Every commodity, every country, every scenario — reads only, no SDK, no key. Responses are JSON; the dataset is CC-BY-4.0 with a required backlink. Base URL https://api.shortage.life/v1.

AUTHanonymous
DATA ENDPOINTS60 req/min/IP
/v1/ask10 req/min/IP
LICENCECC-BY-4.0
FORMATJSON · UTF-8

$_ENDPOINTS · v1

10 routes · 9 GET · 1 POST
GET/v1/commodities

List every tracked commodity with current spot, stress index and last update.

COPY$ curl -s https://api.shortage.life/v1/commodities
GET/v1/reserves?commodity=oil&country=US

Current strategic reserve for a commodity and country, with fill percentage and cover.

COPY$ curl -s https://api.shortage.life'/v1/reserves?commodity=oil&country=US'
GET/v1/reserves/timeseries?commodity=oil&from=

Normalised time-series for a reserve metric over an arbitrary date range.

COPY$ curl -s https://api.shortage.life'/v1/reserves/timeseries?commodity=oil&country=US&from=2025-01-01'
GET/v1/countries/{iso}

Full country profile: stress index, top exposures, autonomy, supplier concentration.

COPY$ curl -s https://api.shortage.life/v1/countries/SAU
GET/v1/commodities/{slug}

Full commodity sheet: producers, consumers, flows and the current stress reading.

COPY$ curl -s https://api.shortage.life/v1/commodities/OIL.BRT
GET/v1/scenarios

List prospective crisis scenarios with probability, severity and status.

COPY$ curl -s https://api.shortage.life/v1/scenarios
GET/v1/events?since=

Tagged geopolitical events — conflict, sanction, disaster, policy, infrastructure.

COPY$ curl -s https://api.shortage.life'/v1/events?since=2026-05-01'
GET/v1/briefings?lang=en&limit=20

Latest editorial briefings for a language, newest first.

COPY$ curl -s https://api.shortage.life'/v1/briefings?lang=en&limit=20'
GET/v1/search?q=

Semantic search across briefings and scenarios, powered by the RAG layer.

COPY$ curl -s https://api.shortage.life'/v1/search?q=opec+spare+capacity'
POST/v1/ask

Conversational endpoint — a natural-language question, answered with cited sources. Rate-limited hard.

COPY$ curl -s -X POST https://api.shortage.life/v1/ask \ -H 'content-type: application/json' \ -d '{"q":"is EU gas storage above the 5-year mean?"}'

// MCP server

AI agents — Claude Desktop, Cursor and others — can query the data directly over SSE at mcp.shortage.life/mcp. Tools exposed: get_reserve, get_price, compare_countries, list_scenarios, search_briefings, get_country_profile.

# add to your MCP client config $ mcp add shortage https://mcp.shortage.life/mcp
→ /mcp · full server documentation, all 10 tools

// discovery

The full machine-readable contract is published as OpenAPI 3.1. Three discovery files sit under /.well-known/ for AI crawlers and agents.