Guide
Map a Kalshi or Polymarket link to the other venue
A user pastes a Kalshi link. You want the same market on Polymarket and both prices. One call to /matches, one to /events/{slug}.
Steps
- Call
/matcheswithurl=<the link>. If you have an id instead, sendvenueandid(a Kalshi ticker, a Polymarket event slug or a condition id). matches[]lists the listings on the other venue, with amatch_stateandmatch_score.matched_contractis set when the link pointed at one contract.- Call
/events/{event_slug}for prices on both venues. - Handle
404 not_found.market(TPM does not track that market yet) and400 validation.invalid_url(not a Kalshi or Polymarket link).
Code
Link to other venue
curl -sG 'https://api.thepredictionmarkets.com/api/public/v1/matches' \
--data-urlencode 'url=https://kalshi.com/markets/kxpresnomd' \
-H 'X-API-Key: tpm_demo_key_authorized_2026'Example response
{
"data": {
"source": {
"venue": "kalshi",
"market_id": "KXPRESNOMD-28",
"url": "https://kalshi.com/markets/kxpresnomd",
"title": "Democratic Presidential Nominee 2028",
"status": "active"
},
"matched_contract": {
"title": "Gavin Newsom",
"platform_outcome_id": "KXPRESNOMD-28-GN"
},
"event_slug": "democratic-presidential-nominee-2028",
"web_url": "https://thepredictionmarkets.com/odds/democratic-presidential-nominee-2028",
"matches": [
{
"venue": "polymarket",
"market_id": "democratic-presidential-nominee-2028",
"url": "https://polymarket.com/event/democratic-presidential-nominee-2028",
"event_slug": "democratic-presidential-nominee-2028",
"match_state": "AUTO_CANONICAL",
"match_score": 0.93
}
]
}
}Related
Build with TPM
Get your free API key
One key gives you Kalshi and Polymarket events, prices with freshness, price history, cross-venue gaps and the live quotes WebSocket.