Build with the Prediction.com API
Prices, trades, history and matched markets across eight venues, through one REST API, WebSocket streams and an MCP server. Start with your first request.
New here? See what the API does →Your first request
1Get your API key
Create a free key to make authenticated requests.
2Make a request
Set PREDICTION_HUNT_API_KEY in your shell, then run:
curl -H "X-API-Key: $PREDICTION_HUNT_API_KEY" \ "https://prediction.com/api/v2/events?limit=1"
3Go further
Explore matched groups and use next_cursor to page through results. Full quickstart →
Response
Example response
{
"events": [
{
"event_date": "2028-11-05",
"event_name": "2028 US Presidential General Election",
"event_type": "election",
"groups": [
{
"group_id": 726,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Pete Buttigieg"
},
{
"group_id": 727,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Tim Walz"
},
{
"group_id": 730,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Gretchen Whitmer"
},
{
"group_id": 736,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Alexandria Ocasio-cortez"
},
{
"group_id": 737,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Wes Moore"
},
{
"group_id": 738,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Ron Desantis"
},
{
"group_id": 745,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Andy Beshear"
},
{
"group_id": 747,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Glenn Youngkin"
},
{
"group_id": 754,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Stephen A. Smith"
},
{
"group_id": 757,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Tulsi Gabbard"
},
{
"group_id": 760,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "J.b. Pritzker"
},
{
"group_id": 761,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Donald J. Trump"
},
{
"group_id": 767,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Donald J. Trump Jr."
},
{
"group_id": 770,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Nikki Haley"
},
{
"group_id": 772,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Vivek Ramaswamy"
},
{
"group_id": 774,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Greg Abbott"
},
{
"group_id": 713,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "J.d. Vance"
},
{
"group_id": 720,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Gavin Newsom"
},
{
"group_id": 729,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Josh Shapiro"
},
{
"group_id": 733,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Marco Rubio"
},
{
"group_id": 751,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Kamala Harris"
}
],
"id": 8,
"status": "active"
},
{
"event_date": "2028-08-01",
"event_name": "2028 US Presidential Democratic Nominee",
"event_type": "election",
"groups": [
{
"group_id": 547,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Stephen A. Smith"
},
{
"group_id": 548,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Gretchen Whitmer"
},
{
"group_id": 564,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Pete Buttigieg"
},
{
"group_id": 566,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Gina Raimondo"
},
{
"group_id": 571,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Raphael Warnock"
},
{
"group_id": 572,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Barack Obama"
},
{
"group_id": 577,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Corey Booker"
},
{
"group_id": 578,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Jon Stewart"
},
{
"group_id": 582,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Tim Walz"
},
{
"group_id": 583,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Bernie Sanders"
},
{
"group_id": 587,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Liz Cheney"
},
{
"group_id": 593,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Michelle Obama"
},
{
"group_id": 594,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Zohran Mamdani"
},
{
"group_id": 599,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Rahm Emanuel"
},
{
"group_id": 600,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "John Fetterman"
},
{
"group_id": 606,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Jared Polis"
},
{
"group_id": 608,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Mark Cuban"
},
{
"group_id": 609,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Phil Murphy"
},
{
"group_id": 612,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Wes Moore"
},
{
"group_id": 614,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Lebron James"
},
{
"group_id": 615,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Hunter Biden"
},
{
"group_id": 638,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Roy Cooper"
},
{
"group_id": 649,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Hillary Clinton"
},
{
"group_id": 948,
"platform_count": 2,
"platforms": [
"kalshi",
"predictit"
],
"title": "Ruben Gallego"
},
{
"group_id": 949,
"platform_count": 2,
"platforms": [
"kalshi",
"predictit"
],
"title": "Ro Khanna"
},
{
"group_id": 1219,
"platform_count": 2,
"platforms": [
"kalshi",
"predictit"
],
"title": "Elissa Slotkin"
},
{
"group_id": 565,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Jon Ossoff"
},
{
"group_id": 558,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Andy Beshear"
},
{
"group_id": 598,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Alexandria Ocasio-cortez"
},
{
"group_id": 613,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "J.b. Pritzker"
},
{
"group_id": 648,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Kamala Harris"
},
{
"group_id": 586,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Mark Kelly"
},
{
"group_id": 637,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Josh Shapiro"
},
{
"group_id": 663,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Gavin Newsom"
}
],
"id": 9,
"status": "active"
},
{
"event_date": "2028-08-01",
"event_name": "2028 US Presidential Republican Nominee",
"event_type": "election",
"groups": [
{
"group_id": 813,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Tulsi Gabbard"
},
{
"group_id": 814,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Glenn Youngkin"
},
{
"group_id": 818,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Donald J. Trump Jr."
},
{
"group_id": 819,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Matt Gaetz"
},
{
"group_id": 824,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Nikki Haley"
},
{
"group_id": 828,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Vivek Ramaswamy"
},
{
"group_id": 832,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Sarah Huckabee Sanders"
},
{
"group_id": 833,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Greg Abbott"
},
{
"group_id": 837,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Robert F. Kennedy Jr."
},
{
"group_id": 840,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Brian Kemp"
},
{
"group_id": 845,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Elise Stefanik"
},
{
"group_id": 849,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Josh Hawley"
},
{
"group_id": 851,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Ted Cruz"
},
{
"group_id": 853,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Elon Musk"
},
{
"group_id": 856,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Katie Britt"
},
{
"group_id": 859,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "John Thune"
},
{
"group_id": 860,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Kristi Noem"
},
{
"group_id": 864,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Mike Pence"
},
{
"group_id": 872,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Steve Bannon"
},
{
"group_id": 802,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Donald J. Trump"
},
{
"group_id": 805,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "J.d. Vance"
},
{
"group_id": 821,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Ron Desantis"
},
{
"group_id": 811,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Marco Rubio"
},
{
"group_id": 838,
"platform_count": 2,
"platforms": [
"kalshi",
"polymarket"
],
"title": "Tucker Carlson"
}
],
"id": 10,
"status": "active"
},
{
"event_date": "2026-11-03",
"event_name": "2026 US Senate Control",
"event_type": "election",
"groups": [
{
"group_id": 929,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Democratic Party"
},
{
"group_id": 930,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Republican Party"
}
],
"id": 11,
"status": "active"
},
{
"event_date": "2026-11-03",
"event_name": "2026 US House of Representatives Control",
"event_type": "election",
"groups": [
{
"group_id": 939,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Democratic Party"
},
{
"group_id": 940,
"platform_count": 3,
"platforms": [
"kalshi",
"polymarket",
"predictit"
],
"title": "Republican Party"
}
],
"id": 12,
"status": "active"
}
],
"next_cursor": "eyJpZCI6MTJ9",
"total_count": 2800
}Run it uses recorded sample data until you add a key.
Pick an interface
REST API
34 endpointsEvents, markets, matching, prices, order books, trades and signals. JSON over HTTPS.
Browse endpoints →WebSockets
11 channels7 channels on Dev. Pro adds 4 more, including arbitrage and order books.
Open the channel docs →MCP server
All plansAsk Claude, Cursor or any MCP client about live markets. Your API plan's limits apply.
Set up MCP →Common tasks
All endpoints →GET/v2/matching-marketsAll plansList live events and their marketsGET/v2/eventsAll plansGet current prices in bulkGET/v2/prices/bulkAll plansPull candles for a backtestGET/v2/prices/historyAll plansSee one order book across venuesGET/v2/unified-orderbookAll plansScan for arbitrageGET/v2/arbDev and upBase URL and auth
Base URL
https://prediction.com/api/v2Header
X-API-Key: YOUR_API_KEYAuthentication →Tools
OpenAPI specification↗Starter scripts↗WebSocket playground↗Recent changes
Full changelog →**OpenAPI 12.0.0 corrects the documented status field on returned markets and events.** API responses are unchanged; only the published schema was wrong. - Market.status (/markets) is the venue's own lifecycle status, passed through unchanged. Values returned today are active, initialized, inactive, closed, determined and finalized. The spec previously advertised active, resolved and cancelled, two of which the API never returns. Treat the field as an open string, since venues can add values. - Event.status (/events) and the event status in /search results are active or completed, not active, resolved or cancelled. completed means the event has passed its visibility window (for example, a game at kickoff). - Neither field reports a settlement outcome. finalized or completed does not say which side won, and a venue can keep a market active for a while after it settles. For Kalshi, /kalshi/markets/{ticker} returns the official result and settlement_value_dollars. Regenerate clients that derive these enums from the spec.
GET /v2/status no longer documents the polymarket_frozen and polymarket_frozen_message fields, the paused platform status, or the paused_reason and paused_message platform fields. No current response carries them. Polymarket is reported like every other venue.
polymarket_reference streams the live Chainlink USD prices that Polymarket's crypto up/down markets settle on, for btc/usd, eth/usd, sol/usd, xrp/usd and the other symbols Polymarket lists. Each symbol updates about once per second. Subscribe without IDs using the existing prices entitlement, then filter by index_id and use source_ts_ms for freshness. Kalshi's settlement indices remain on kalshi_reference.