Pinnacle odds, as they move.
Prematch and live, every sport and every alternative line, pushed over WebSocket or served over REST. In the PS3838 format your code already reads, or a simpler one. Or watch them on the odds board in your browser, no code needed.
Latency
Every update of the last minute, from a price change reaching our servers to a client. How we measure it →
API
One key, two formats. Point a PS3838 client at /ps3838 and it works unchanged, or use /v1: one object per match, one flat list of markets.
# every soccer match, with fair prices
curl -H "X-API-Key: $KEY" "https://api.oddssea.dev/v1/events?sport=soccer&devig=power"
// every change, pushed as it happens
const ws = new WebSocket("wss://api.oddssea.dev/v1/stream");
ws.onopen = () => ws.send(JSON.stringify({ op: "subscribe", sports: ["soccer"], live: true, opened: true, limits: true }));
ws.onmessage = m => console.log(JSON.parse(m.data));
Odds board
The same odds in your browser, no code needed: every sport, league and alternative line, fair prices, drops, and each line's moves on a chart. Real time in every paid plan, delayed on the free plan.
What you get
- Real time
- Every price change pushed over WebSocket, the moment it reaches us.
- PS3838-compatible
- Fixtures and odds in the shapes of PS3838's own API.
- Full ladders
- Moneylines, handicaps and totals with every alternative line, for the match and each half, quarter or set.
- Fair prices
- No-vig prices by multiplicative, additive, power or Shin.
- Drops and limits
- Price drops, new lines and limit changes, as data or on the board.
- History
- Every line's moves, opening and closing prices, one id per match from prematch into live.
Pricing
Every paid plan streams every price change as it happens. No add-ons, no request credits.
| Free | Prematch | Live | Scale | |
|---|---|---|---|---|
| USD / month | $0 | $59 | $149 | $299 |
| Prematch odds | delayed | real time | real time | real time |
| Live odds | – | – | real time | real time |
| Odds board | delayed | real-time prematch | real time | real time |
| WebSocket stream | – | ✓ | ✓ | ✓ |
| PS3838 format | – | ✓ | ✓ | ✓ |
| Drops, limit changes, line history | – | prematch | ✓ | ✓ |
| Fair (no-vig) prices | – | ✓ | ✓ | ✓ |
| Stream connections | – | 1 | 1 | 10 |
| REST requests | 100/day | 60/min | 120/min | 600/min |
| Create account | Choose | Choose | Choose |
Paying for 3 months save 10%, 6 months 15%, 12 months 20%. Paid in crypto; cards are coming. Prepaid: nothing renews by itself.
Any plan is for your own use, as a company or an individual: your bots, models and tools. Showing the data to others or reselling it (odds sites, apps, other APIs) needs a redistribution licence: contact us.
Questions
Is there still a public Pinnacle API?
Pinnacle closed its public API to most users in July 2025. oddssea serves Pinnacle's prematch and live odds through its own API: moneylines, handicaps and totals for every sport, period and alternative line, pushed over WebSocket or served over REST.
Can I use my existing PS3838 or Pinnacle API code?
Yes. Point your client at the /ps3838 base URL and send your key in the X-API-Key header: fixtures, odds and the other endpoints answer in PS3838's own JSON shapes. There's also a simpler oddssea format.
How fast is it?
Measured continuously since 6 Oct 2026: 9,421,938 updates, median 5.3 ms, 95th percentile 20 ms, 99th percentile 42 ms, from a price change reaching our servers (Helsinki) to the update arriving at a client. Your own network time comes on top; the latency page has estimates per country and a script to measure it yourself.
Is there line history, opening and closing odds?
Yes. Every line's price moves are kept for 7 days after the match starts, and opening and closing prices for a year, through the API and on the odds board. Recording started on 3 October 2026, so there's nothing from before that date. Dropping odds and limit changes are pushed as they happen.
Do you have match results?
Yes. Final scores per period, as the bookmaker settles them, for matches that started in the last 7 days: in each match of /v1/history/events, and in PS3838's settled fixtures for PS3838 clients. A result usually arrives by 12:00 UTC the day after the match. Included in every paid plan.
Is there a free plan?
Yes: delayed prematch odds, 100 requests a day, and the odds board with delayed odds. No email or card needed.
Can I use it without writing code?
Yes. The odds board shows the same odds in your browser: every sport, league and line, fair prices, drops and each line's history. Real time in every paid plan; delayed on the free plan.
Can I use it for arbitrage, value betting or models?
That's what it's for. Every plan includes fair (no-vig) prices, and the stream pushes every change. oddssea only supplies data: it isn't a bookmaker and doesn't place bets.
How do I pay?
In crypto (USDT, BTC, ETH and others); cards are coming. Plans are prepaid time: nothing renews by itself, and longer terms are cheaper (3, 6 or 12 months: 10, 15 or 20% off).
Where are the servers?
In Helsinki, Finland.
More: latency · how oddssea compares · guides