Get all active exact-matched market pairs across Polymarket and Kalshi
| Constraint | Value |
|---|---|
limit | 1–200 (default 100) |
sort_by | similarity (default), expiration |
sort_order | asc, desc (default) |
similarity in descending order (highest first). You can change the sort field and direction:
sort_by=similarity (default) — Order by match confidence scoresort_by=expiration — Order by earliest_expiration_ts (the soonest expiration across both platforms). Pairs where both expirations are null are excluded when sorting by expiration.sort_order=asc to reverse the direction (e.g., soonest-expiring first).
| Parameter | Description |
|---|---|
expires_before | Only pairs where earliest_expiration_ts is before this timestamp |
expires_after | Only pairs where earliest_expiration_ts is after this timestamp |
k_expires_before | Only pairs where Kalshi expires before this timestamp |
k_expires_after | Only pairs where Kalshi expires after this timestamp |
pm_expires_before | Only pairs where Polymarket expires before this timestamp |
pm_expires_after | Only pairs where Polymarket expires after this timestamp |
expires_before will exclude pairs where both platform expirations are null.| Field | Description |
|---|---|
POLYMARKET.expiration_ts | Polymarket market expiration (unix seconds), or null if unavailable |
KALSHI.expiration_ts | Kalshi market expiration (unix seconds), or null if unavailable |
earliest_expiration_ts | The earliest expiration across both platforms (unix seconds), or null if both are unavailable |
| Score Range | Classification | Description |
|---|---|---|
| 98-100 | High confidence | Virtually identical markets with near-perfect semantic alignment. |
| 96-97 | Confident | Strong matches with minor wording variations. Reliable for most use cases. |
| 95-96 | Threshold | Meets exact match criteria but may include edge cases with differences in resolution criteria. |
min_similarity=98 when precision is critical. The 95-97 range is generally reliable but may contain occasional false positives where resolution criteria have minor discrepancies.sort_by=expiration&sort_order=asc to find soonest-expiring pairs, or min_similarity to filter for high-confidence matches only.Only return pairs where both markets are active
Minimum similarity score (0-100)
0 <= x <= 100Sort field: 'similarity' or 'expiration'
similarity, expiration Sort direction: 'asc' or 'desc'
asc, desc Filter: earliest expiration after this unix timestamp (seconds)
Filter: earliest expiration before this unix timestamp (seconds)
Filter: Kalshi expiration after this unix timestamp (seconds)
Filter: Kalshi expiration before this unix timestamp (seconds)
Filter: Polymarket expiration after this unix timestamp (seconds)
Filter: Polymarket expiration before this unix timestamp (seconds)
Maximum number of pairs to return
1 <= x <= 200Pagination key from previous response