Polymarket odds API

Polymarket prices as structured JSON through one REST API.

Polymarket is a prediction market with the bookmaker key polymarket. SockOdds is independent and is not affiliated with or endorsed by Polymarket.

Leagues

Polymarket prices are delivered for 10 leagues as of 30 October 2026: Bundesliga, English Premier League, La Liga, Ligue 1, MLB, MLS, NBA, College football, NFL and NHL.

Request Polymarket prices

Filter any odds request to Polymarket with bookmakers=polymarket:

curl -sS "https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=polymarket&markets=result&limit=1&starts_after=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
const response = await fetch(`https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=polymarket&markets=result&limit=1&starts_after=${new Date().toISOString().slice(0, 19)}Z`, {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
import json, os, urllib.request
from datetime import datetime, timezone

request = urllib.request.Request(
    f"https://api.sockodds.com/v1/odds?league=bundesliga&bookmakers=polymarket&markets=result&limit=1&starts_after={datetime.now(timezone.utc):%Y-%m-%dT%H:%M:%SZ}",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    print(json.dumps(json.load(response), indent=2))

Response from a local copy of the API with invented test prices

{
  "data": [
    {
      "id": "ev_000ckk0p5g0q",
      "name": "Bayer Leverkusen v Bayern Munich",
      "league": {
        "key": "bundesliga",
        "name": "Bundesliga"
      },
      "scheduled_start": "2026-10-16T10:00:00.000Z",
      "status": "scheduled",
      "participants": [
        {
          "role": "away",
          "identity": {
            "key": "bayern_munich",
            "name": "Bayern Munich"
          }
        },
        {
          "role": "home",
          "identity": {
            "key": "bayer_leverkusen",
            "name": "Bayer Leverkusen"
          }
        }
      ],
      "markets": [
        {
          "id": "mk_fne819xs8y097ry5",
          "key": "result",
          "name": "Result (with the draw)",
          "period": "full",
          "subject": null,
          "alternate": false,
          "outcomes": [
            {
              "id": "oc_g9cjjvqbn1n8cp07",
              "name": "Bayer Leverkusen",
              "side": "home",
              "line": null,
              "prices": [
                {
                  "bookmaker": "polymarket",
                  "decimal_odds": 1.97,
                  "implied_probability": 0.507614,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            },
            {
              "id": "oc_abjp6a60kvcjf2n4",
              "name": "Draw",
              "side": "draw",
              "line": null,
              "prices": [
                {
                  "bookmaker": "polymarket",
                  "decimal_odds": 3.26,
                  "implied_probability": 0.306748,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            },
            {
              "id": "oc_8xmzbcrrp04ah7m0",
              "name": "Bayern Munich",
              "side": "away",
              "line": null,
              "prices": [
                {
                  "bookmaker": "polymarket",
                  "decimal_odds": 3.46,
                  "implied_probability": 0.289017,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "meta": {
    "count": 1,
    "cursor": null
  },
  "links": {
    "next": null
  }
}

Plans

Polymarket is included on Pro. See pricing for the bookmakers each plan includes.

Search across the SockOdds documentation and catalogue.