Getting Started

Quickstart

Fetch live prediction market data in under 5 minutes.

1

Get Your API Key

  1. Sign up at the pricing page
  2. Check your email for your API key
  3. Copy your API key — you'll need it in the next step
2

Fetch Live Prediction Markets

The simplest request — fetch open events from Kalshi and Polymarket:

Browser / curl

https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&bookmakerID=kalshi,polymarket&oddsAvailable=true&limit=10

JavaScript

fetch("https://api.sportsgameodds.com/v2/events?bookmakerID=kalshi,polymarket&oddsAvailable=true&limit=10", {
  headers: { "x-api-key": "YOUR_API_KEY" },
})
  .then((res) => res.json())
  .then((data) => console.log(data));

Python

import requests

response = requests.get(
    "https://api.sportsgameodds.com/v2/events",
    headers={"x-api-key": "YOUR_API_KEY"},
    params={
        "bookmakerID": "kalshi,polymarket",
        "oddsAvailable": "true",
        "limit": 10
    }
)
print(response.json())
3

Inspect the Response

A successful response looks like this:

{
  "success": true,
  "data": [
    {
      "eventID": "WILL_FED_CUT_RATES_JUNE_2025_KALSHI",
      "leagueID": "KALSHI_ECONOMICS",
      "status": {
        "started": false,
        "ended": false,
        "startsAt": "2025-06-18T18:00:00Z"
      },
      "odds": {
        "probability-home-game-ml-yes": {
          "oddID": "probability-home-game-ml-yes",
          "fairOdds": "+185",
          "bookOdds": "+180",
          "byBookmaker": {
            "kalshi":    { "odds": "+180", "available": true },
            "polymarket": { "odds": "+190", "available": true }
          }
        }
      }
    }
  ]
}
4

Filter by Platform or Specific Markets

Use bookmakerID to target specific platforms, and oddIDs to fetch only the markets you care about:

# Only Kalshi, with odds available
/v2/events?bookmakerID=kalshi&oddsAvailable=true&limit=20

# Only Polymarket
/v2/events?bookmakerID=polymarket&oddsAvailable=true&limit=20

# Kalshi + Novig, specific oddID markets only
/v2/events?bookmakerID=kalshi,novig&oddIDs=probability-home-game-ml-yes,probability-home-game-ml-no&limit=20

# Resolved events for backtesting
/v2/events?bookmakerID=kalshi&finalized=true&limit=100
5

Understanding oddIDs

Every odds market is identified by an oddID in this format:

{statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}

# Example — yes side of a binary prediction market:
probability-home-game-ml-yes

# Example — no side:
probability-home-game-ml-no

Use the oddIDs parameter to request only specific markets and keep response payloads small and fast.