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
33 endpointsEvents, markets, matching, prices, order books, trades and signals. JSON over HTTPS.
Browse endpoints →WebSockets
9 channels5 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 →Explicit Kalshi ticker subscriptions on WebSocket prices now share the dedicated Kalshi feed while retaining price_update messages and numeric cent prices. Existing snapshots, entitlements and subscription limits remain. Kalshi readiness and interruption warnings identify when REST price reconciliation is required. Group-only subscriptions retain the general price feed.
/markets now returns a structured 400 for limits outside 1-2000 or malformed integers.
/search matches short uppercase acronyms such as NFL as whole words, so unrelated words such as inflation no longer match.