Polymarket Data API

Polymarket API for Pre-Match & Live Sports Odds

Access sports odds from Polymarket, the largest prediction market, across 13 sports. Market-driven prices with last trade, best bid/ask, volume, and liquidity per selection — normalized markets, paginated REST endpoints, and a real-time WebSocket feed. One API key for all bookmakers.

What a Polymarket API Response Looks Like

GET /api/polymarket/soccer/events?page=1&limit=5
{
  "total": 1330,
  "page": 1,
  "limit": 5,
  "totalPages": 266,
  "hasNextPage": true,
  "events": [
    {
      "sport": "soccer",
      "league": "Russian Premier League",
      "eventId": "688669",
      "slug": "rus-csk-bal-2026-07-24",
      "home": "PFK CSKA Moskva",
      "away": "FK Baltika Kaliningrad",
      "live": false,
      "startTime": "2026-07-24T17:00:00.000Z",
      "volume": 3173.35,
      "volume24hr": 3000.36,
      "liquidity": 105933.49,
      "markets": [
        {
          "canonicalMarket": "MATCH_RESULT",
          "rawName": "Match Result",
          "period": "FULL_TIME",
          "isActive": true,
          "marketId": "ml_rus-csk-bal-2026-07-24",
          "volume": 2138.68,
          "liquidity": 21425.63,
          "selections": [
            {
              "canonicalOutcome": "HOME",
              "rawName": "HOME",
              "odds": 2.12,
              "lastPrice": 0.455,
              "bestBid": 0.44,
              "bestAsk": 0.47,
              "isActive": true
            },
            {
              "canonicalOutcome": "DRAW",
              "rawName": "DRAW",
              "odds": 3.33,
              "lastPrice": 0.295,
              "bestBid": 0.29,
              "bestAsk": 0.3,
              "isActive": true
            },
            {
              "canonicalOutcome": "AWAY",
              "rawName": "AWAY",
              "odds": 3.84,
              "lastPrice": 0.245,
              "bestBid": 0.23,
              "bestAsk": 0.26,
              "isActive": true
            }
          ]
        }
      ]
    }
  ]
}

Why Use PulseScore for Polymarket Data

13 Sports Priced by a Real Market

Pre-match odds from Polymarket across 13 sports — Soccer, Tennis, Table Tennis, Cricket, Baseball, Esports, and more, including niche verticals like Lacrosse and Pickleball. Every price comes from real traders putting money on the line, not a bookmaker's margin.

Volume, Liquidity & Order Book Signal

Each selection carries decimal odds derived from the last traded price plus the current best bid and best ask. Markets and events include traded volume (total and 24h) and available liquidity — signal you simply cannot get from a classic sportsbook feed.

Live WebSocket Streaming

Real-time push of every in-play event for the chosen sport, broadcast roughly every second. PRO and MAX plans only — connect once and receive each update as it happens. All markets use canonical naming (MATCH_RESULT, OVER_UNDER) so there are no mapping headaches.

One Key, All Bookmakers

A single API key unlocks every odds source included in your plan — Polymarket, Bet365, Betfair, BetOnline, Fanduel, and more. Compare prediction-market prices against classic bookmaker odds with no separate accounts or rotation logic.

Frequently Asked Questions

What data does the Polymarket API provide?

PulseScore provides pre-match and live sports odds from Polymarket, the largest prediction market, across 13 sports. Each event includes normalized market data with canonical market types, selections with decimal odds, last traded price, best bid/ask, and per-market traded volume and liquidity.

How do prediction-market odds differ from bookmaker odds?

Polymarket prices are set by traders buying and selling outcome shares, not by a bookmaker. The decimal odds are derived from the last traded price (odds = 1 / price), and each selection also exposes the current best bid and best ask so you can see the spread. Volume and liquidity fields tell you how much conviction is behind a price.

What sports are covered?

The 13 sports Polymarket publishes markets for: Soccer, Basketball, Tennis, Table Tennis, Cricket, American Football, Baseball, Boxing, Esports, Lacrosse, MMA, Pickleball, and Volleyball. Each sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId.

How are leagues handled?

Polymarket has no separate league feed, so /api/polymarket/<sport>/leagues derives the league list (with event counts) from the current events on the fly. Use /leagues/:league/events to pull all events for one league by name.

How are the markets structured?

All markets use a canonical format: each market has a type (e.g., MATCH_RESULT, OVER_UNDER), period (FULL_TIME), and selections with decimal odds, last traded price, and best bid/ask. Markets also carry their Polymarket conditionId, so you can cross-reference the on-chain market. The same canonical structure is used across all sports and bookmakers.

Is there a free tier?

Yes. The BASIC plan is free and includes 500 API requests per month. Upgrade to PRO or MAX for unlimited requests.

Can I access Polymarket alongside other bookmakers with the same API key?

Yes. A single API key gives you access to every odds source included in your plan — Polymarket, Bet365, Betfair Sportsbook, BetOnline, Fanduel, and more. That makes bookmaker-vs-prediction-market comparisons trivial. No need for separate keys or accounts.

Does the Polymarket API support live in-play data?

Yes. Live in-play events are available via REST (/api/polymarket/live-events, /live-events/sports, /live-events/events/:eventId) and via WebSocket at wss://api.pulsescore.net/api/polymarket/ws/live. The WebSocket pushes every in-play event for the subscribed sport roughly every second. PRO and MAX plans only.

Start Using the Polymarket API Today

Free tier available. No credit card required. Get your API key in 30 seconds.