GET /v1/movers/politics-world$0.02realtimetier: datacache 60sEngine A — Probability API
The fastest way to see where news is landing in world politics: active markets ranked by absolute probability change over your chosen window, with volume surge ratios. Same shape as /v1/movers, pre-filtered to world politics markets.
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
window | query | string | no | (default: "24h") — one of "1h", "6h", "24h" |
category | query | string | no | — one of "politics", "economics", "weather", "crypto", "sports", "science-tech", "entertainment" |
min_liquidity | query | number | no | Minimum liquidity_score (0–1) |
limit | query | integer | no | (default: 20) |
curl "https://x402-factory.com/v1/movers/politics-world?window=24h&limit=10"
{
"data": {
"movers": [
{
"slug": "eu-ukraine-accession-talks-2026-10",
"question": "Will the EU approve opening accession talks with Ukraine by October 31?",
"p_now": 0.1738,
"p_prev": 0.1955,
"delta": -0.0217,
"volume_surge_ratio": 1.12,
"category": "politics"
},
{
"slug": "uk-pm-confidence-vote-2026-09",
"question": "Will the UK Prime Minister face a confidence vote by September 30?",
"p_now": 0.2047,
"p_prev": 0.2233,
"delta": -0.0186,
"volume_surge_ratio": 0.95,
"category": "politics"
}
]
},
"meta": {
"endpoint": "/v1/movers/politics-world",
"version": "1.0.0",
"generated_at": "2026-08-18T22:54:16.958Z",
"freshness": "realtime",
"sources": [
"kalshi",
"polymarket"
],
"request_id": "req_00000000",
"docs": "https://x402-factory.com/docs/probability.movers.politics-world",
"data_mode": "live"
}
}data payload){
"type": "object",
"properties": {
"movers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"question": {
"type": "string"
},
"p_now": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"p_prev": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"delta": {
"type": "number"
},
"volume_surge_ratio": {
"type": "number"
},
"category": {
"type": "string"
}
},
"required": [
"slug",
"question",
"p_now",
"p_prev",
"delta",
"volume_surge_ratio",
"category"
],
"additionalProperties": false
}
}
},
"required": [
"movers"
],
"additionalProperties": false
}
The platform wraps every payload in an envelope: { "data": …, "meta": { endpoint, version, generated_at, freshness, sources, request_id, docs, data_mode } }.
Unpaid requests receive 402 with payment requirements (accepts). Pay $0.02 in USDC on Base per call via an X-PAYMENT header — see docs.x402.org. With PAYMENT_MODE=disabled (local dev) the endpoint is open.
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_PARAMS | Input failed validation; message lists the offending fields. |
| 404 | NOT_FOUND | No matching resource; suggestion may point to a sibling endpoint. |
| 410 | RESOLVED | Market/event settled; body includes a resolution summary. |
| 503 | STALE_DATA | Upstream feed down; stale data is never silently served beyond 2× cache TTL. |
| 500 | INTERNAL | Our bug. The request_id helps us find it. |