Cross-Platform

Cross-Platform Spreads

Spread endpoints are the fastest way to find price gaps between Kalshi and Polymarket. Use /spreads for the full scanner with filters, or /spreads/top for the ranked leaderboard.

Real response from production APICross-platform spread example

Find live Kalshi/Polymarket price gaps

This request returns real data captured from production. Prices and spreads change over time.

Request
curl 'https://api.thepredictionmarkets.com/api/v2/spreads/top?limit=5&window=24' \
  -H 'X-API-Key: YOUR_TPM_API_KEY'
Response200 OK
{
  "data": [
    {
      "event_slug": "top-artist-on-spotify-us-in-2026",
      "event_title": "Top Artist on Spotify U.S. in 2026?",
      "outcome_title": "Drake",
      "platform_a": "polymarket",
      "platform_b": "kalshi",
      "price_a": 0.1055,
      "price_b": 0.79,
      "spread_bps": 6845,
      "confidence": 0.628,
      "is_stale": false,
      "updated_at": "2026-04-22T02:30:53.049830",
      "platform_a_url": "https://polymarket.com/event/top-spotify-artist-2026",
      "platform_b_url": "https://kalshi.com/markets/kxtopartistusa",
      "matching_strategy": "normalized_title_fallback",
      "match_quality": "auto_medium"
    },
    {
      "event_slug": "which-bills-will-become-law-in-2026-1",
      "event_title": "Which bills will become law in 2026?",
      "outcome_title": "Credit-card routing competition",
      "platform_a": "kalshi",
      "platform_b": "polymarket",
      "price_a": 0.08,
      "price_b": 0.44,
      "spread_bps": 3600,
      "confidence": 0.628,
      "is_stale": false,
      "updated_at": "2026-04-22T02:30:53.049830",
      "platform_a_url": "https://kalshi.com/markets/kxbills",
      "platform_b_url": "https://polymarket.com/event/which-bills-will-become-law-in-2026",
      "matching_strategy": "normalized_title_fallback",
      "match_quality": "auto_medium"
    }
  ],
  "count": 2
}
GET/api/v2/spreadsTry It

Find cross-platform spreads

The full spread scanner. Filter by event, minimum spread, volume threshold, platform, and staleness cutoff. Returns all qualifying cross-platform price gaps.

Live GET Request

Try it

Live Response
Click Try It to run this GET request against the API.
Request
curl 'https://api.thepredictionmarkets.com/api/v2/spreads?min_spread=0.05&min_volume=5000&stale_cutoff_minutes=60' \
  -H 'X-API-Key: YOUR_TPM_API_KEY'
Response
{
  "data": [
    {
      "event_slug": "top-artist-on-spotify-us-in-2026",
      "event_title": "Top Artist on Spotify U.S. in 2026?",
      "outcome_title": "Drake",
      "platform_a": "polymarket",
      "platform_b": "kalshi",
      "price_a": 0.1055,
      "price_b": 0.79,
      "spread": 0.6845,
      "spread_bps": 6845,
      "confidence": 0.628,
      "is_stale": false,
      "matching_strategy": "normalized_title_fallback",
      "match_quality": "auto_medium"
    }
  ],
  "count": 1
}

Query Parameters

NameTypeRequiredDefaultExampleDescription
event_slugstringNo-top-artist-on-spotify-us-in-2026Filter to one event slug.
min_spreadnumberNo0.020.05Minimum spread in probability points (0.02 = 2%).
min_volumenumberNo10005000Minimum platform volume in dollars.
platformsstringNo-polymarket,kalshiComma-separated platform slugs to include.
stale_cutoff_minutesintegerNo4560Minutes after which a quote is considered stale.

Response Fields

FieldTypeExampleDescription
event_slugstringtop-artist-on-spotify-us-in-2026TPM event slug for event detail and history routes.
event_titlestringTop Artist on Spotify U.S. in 2026?Market or event title.
outcome_titlestringDrakeOutcome being compared across venues.
platform_astringpolymarketPlatform slug with the lower price.
platform_bstringkalshiPlatform slug with the higher price.
price_anumber0.1055Normalized probability on platform_a (0 to 1).
price_bnumber0.79Normalized probability on platform_b (0 to 1).
spreadnumber0.6845Absolute price difference as a decimal.
spread_bpsnumber6845Price difference in basis points (spread × 10,000).
confidencenumber0.628TPM composite score (0–1) factoring spread size, volume, liquidity, and freshness.
is_stalebooleanfalseTrue when one or both platform quotes exceed the stale cutoff.
updated_atstring2026-04-22T02:30:53.049830ISO timestamp of the most recent platform quote.
platform_a_urlstring-Direct link to the market page on platform_a.
platform_b_urlstring-Direct link to the market page on platform_b.
matching_strategystring-How the cross-platform match was established: auto_canonical, manual_override, normalized_title_fallback, or event_key.
match_qualitystring-Match confidence tier: manual, auto_high, or auto_medium.
GET/api/v2/spreads/topTry It

Get top cross-platform spreads

Returns the strongest current Kalshi/Polymarket spread opportunities ranked by confidence. Use this for dashboards and alerts.

Live GET Request

Try it

Live Response
Click Try It to run this GET request against the API.
Request
curl 'https://api.thepredictionmarkets.com/api/v2/spreads/top?limit=5&window=24' \
  -H 'X-API-Key: YOUR_TPM_API_KEY'
Response
{
  "data": [
    {
      "event_slug": "top-artist-on-spotify-us-in-2026",
      "event_title": "Top Artist on Spotify U.S. in 2026?",
      "outcome_title": "Drake",
      "platform_a": "polymarket",
      "platform_b": "kalshi",
      "price_a": 0.1055,
      "price_b": 0.79,
      "spread": 0.6845,
      "spread_bps": 6845,
      "confidence": 0.628,
      "is_stale": false,
      "updated_at": "2026-04-22T02:30:53.049830",
      "platform_a_url": "https://polymarket.com/event/top-spotify-artist-2026",
      "platform_b_url": "https://kalshi.com/markets/kxtopartistusa",
      "matching_strategy": "normalized_title_fallback",
      "match_quality": "auto_medium"
    }
  ],
  "count": 1
}

Query Parameters

NameTypeRequiredDefaultExampleDescription
limitintegerNo205Number of opportunities to return.
windowintegerNo2424Freshness window in hours used for top-spread ranking.

Response Fields

FieldTypeExampleDescription
event_slugstringtop-artist-on-spotify-us-in-2026TPM event slug for event detail and history routes.
event_titlestringTop Artist on Spotify U.S. in 2026?Market or event title.
outcome_titlestringDrakeOutcome being compared across venues.
platform_astringpolymarketPlatform slug with the lower price.
platform_bstringkalshiPlatform slug with the higher price.
price_anumber0.1055Normalized probability on platform_a (0 to 1).
price_bnumber0.79Normalized probability on platform_b (0 to 1).
spreadnumber0.6845Absolute price difference as a decimal.
spread_bpsnumber6845Price difference in basis points (spread × 10,000).
confidencenumber0.628TPM composite score (0–1) factoring spread size, volume, liquidity, and freshness.
is_stalebooleanfalseTrue when one or both platform quotes exceed the stale cutoff.
updated_atstring2026-04-22T02:30:53.049830ISO timestamp of the most recent platform quote.
platform_a_urlstring-Direct link to the market page on platform_a.
platform_b_urlstring-Direct link to the market page on platform_b.
matching_strategystring-How the cross-platform match was established: auto_canonical, manual_override, normalized_title_fallback, or event_key.
match_qualitystring-Match confidence tier: manual, auto_high, or auto_medium.

Build with TPM

Get your API key

Start with Kalshi and Polymarket market data, then add unified spreads, signals, alerts, and watchlists as your workflow grows.