oddssea
Get API key

Using ps3838 API code with oddssea

ps3838 uses the same API as Pinnacle. oddssea serves Pinnacle's odds in exactly those shapes under /ps3838, so code written for it keeps working.

What changes

What stays the same

GET /v3/sportsSports, with whether they have offerings
GET /v3/leagues?sportId=Leagues of a sport
GET /v1/periods?sportId=Period numbers and names
GET /v3/fixtures?sportId=Events: leagueIds, eventIds, isLive, since
GET /v4/odds?sportId=Odds: the same filters, oddsFormat (default American), toCurrencyCode=USD

Field names, nesting and since deltas follow ps3838. Fields are only ever added, never renamed or removed, so a ps3838 parser ignores what it doesn't know. Limits (maxMoneyline, maxSpread, a line's max) are volumes, as on ps3838.

Beyond ps3838

A WebSocket at wss://api.oddssea.dev/ps3838/stream pushes each changed event in the same shape, so you can stop polling /v4/odds. The /v1 API adds fair prices, line history, opening and closing prices and dropping odds; see the docs.

curl -H "X-API-Key: $KEY" "https://api.oddssea.dev/ps3838/v4/odds?sportId=29&oddsFormat=Decimal"