Get Matching Markets
Find matching markets across Polymarket and Kalshi platforms.
Provide either a Polymarket market slug OR a Kalshi market ticker (not both).
Important: You must provide exactly one of polymarket_market_slug or kalshi_market_ticker. Providing both parameters simultaneously is not allowed and will result in a 400 Bad Request error.
Returns
- Exact matches: Markets representing the same event
- Related matches: Markets for correlated events
Each category is further split by market status (active/closed).
Match Types
Exact Matches
Same underlying event with equivalent resolution criteria. Ideal for arbitrage. Similarity score >= 0.95.
Related Matches
Similar or correlated events (same entity different outcome, or same event different candidate). Useful for hedging and research. Similarity score between 0.90 and 0.95.
Note: The
similarityfield may be null for matches created before January 4th, 2025.
Finding Market Identifiers
Polymarket Market Slug
Refer to the Polymarket Gamma Markets API documentation for retrieving market slugs.
Note: A market slug is different from an event slug. An event can contain multiple markets, so ensure you're using the correct market-level identifier.
Kalshi Market Ticker
To find a market ticker:
- Navigate to any market on Kalshi
- Click the Timeline and Payout button on the market page to find the market ticker
query Parameters
polymarket_market_slugPolymarket market slug to find matches for
kalshi_market_tickerKalshi market ticker to find matches for
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
Successful Response
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: query, matches, summary | |
| type = object · requires: query, matches, summary |
Polymarket query information
Matches grouped by platform
Get Active Exact Matched Pairs
Get all active exact-matched market pairs across Polymarket and Kalshi.
Returns pairs of markets that have been exactly matched, where both markets are currently active. Only returns exact matches (similarity >= 95) - related matches are excluded since one market can have multiple related matches which doesn't fit the pair concept.
This endpoint is useful for discovering arbitrage opportunities across platforms without needing to query individual markets.
Key Differences from Get Matching Markets
| Aspect | Get Matching Markets | Get Active Exact Matched Pairs |
|---|---|---|
| Input | Requires a specific market slug/ticker | No input required - returns all pairs |
| Match Types | Returns both exact and related | Only exact matches |
| Status | Returns all statuses | Only active pairs (both markets must be active) |
| Use Case | Look up matches for a specific market | Discover all arbitrage opportunities |
Notes
- Similarity scale: 0-100 (not 0-1). A similarity of 97 means 97% match confidence.
- Pagination: Results are ordered by similarity (highest first). Use
pagination_keyfrom the response to fetch the next page. - Active pairs only: A pair is only returned if both the Polymarket and Kalshi markets are currently active/open.
- The
similarityfield may be null for matches created before January 4th, 2025.
query Parameters
min_similarityMinimum similarity score (0-100). Only returns pairs with similarity >= this value.
limitMaximum number of pairs to return (1-50).
pagination_keyCursor from previous response for pagination.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
Successful Response
Cursor-based pagination