pinnacle api / access after 23 july 2025
The Pinnacle API after July 2025
OLDpublic signup for Pinnacle's own API
closed to the general public on 23 July 2025
NOWGET /kit/v1/markets?sport_id=1
soccer was 29, key issued on signup200 OK
Pinnacle stopped handing out API access to the general public on 23 July 2025. It still considers business partners, and some individual and research uses, one application at a time. If you need Pinnacle's prices in code without waiting on that, a third-party feed serves them with a key issued on signup.
Create a free keyNo Pinnacle account needed · 100 calls a day free
What changed, in order
- until 23 jul 2025Developers could use Pinnacle's API under the terms published with its public documentation.
- 23 jul 2025General public access ends, as stated in the official documentation's readme.
- since thenPinnacle accepts applications for bespoke access from business partners and some individual customers. Price and availability depend on the use case and region.
- todayThird-party feeds, including the one this site covers, serve Pinnacle's live and prematch prices over REST, SSE and WebSocket without a Pinnacle account.
two routes to the same prices
Apply to Pinnacle, or use a feed today
They are not interchangeable. The official route is the one to take if you need to place bets through an API or want a contract with Pinnacle itself. A feed is for reading prices: models, alerts, comparison pages, spreadsheets.
Based on Pinnacle's public API page and the feed's documentation, checked 26 September 2026.
| Question | Pinnacle, by application | This feed |
|---|---|---|
| Getting access | Apply and wait for a decision | Key on signup, free tier included |
| Pinnacle account | Part of the relationship with Pinnacle | Not needed |
| Placing bets | Pinnacle's betting API, for approved users | No, data only |
| Delivery | Set by Pinnacle's terms | REST, SSE drop alerts, raw WebSocket |
| Price | Depends on use case and region | $0, then $99 to $229 a month |
| History | Ask Pinnacle | No archive; record your own |
opt[porting code written for Pinnacle's IDs]
Swap the sport IDs and keep the rest of your loop
The feed numbers sports 1 to 13 and publishes Pinnacle's own ID beside each. Map them once at the edge of your code. Responses carry events with periods, and each period its money line, spreads, totals and team totals, so a parser built around Pinnacle's market types needs little change.
Polling works the same way it always has for this kind of data: keep the last cursor and send it back as since. The Python page has a loop you can run as it is.
| Sport | Pinnacle ID | Feed ID |
|---|---|---|
| Soccer | 29 | 1 |
| Tennis | 33 | 2 |
| Basketball | 4 | 3 |
| Hockey | 19 | 4 |
| Football | 15 | 5 |
| Baseball | 3 | 6 |
| Rugby | 27, 26 | 7 |
| MMA | 22 | 8 |
| Boxing | 6 | 9 |
| Volleyball, handball | 34, 18 | 10 |
| Esports | 12 | 11 |
| Golf | 17 | 12 |
| Cricket | 8 | 13 |
What people ask before switching
Short answers to the questions that decide whether a feed can replace what you had.
- Is this Pinnacle's API under another name?
No. It is an independent service that serves Pinnacle's prices. It is not affiliated with or endorsed by Pinnacle, and neither is this site.
- Do I need a Pinnacle account?
No. You sign up with the feed and get an API key. The free key allows 20 calls a minute and 100 a day.
- Can I place bets through it?
No. It is read only. Bets go through your bookmaker's own site or API.
- Is there historical data?
There is no archive to download. If you need closing lines or line history, poll with
sinceand store what comes back from the day you start.- How fast are the prices?
The feed publishes its own latency figures. Measure on your connection before you depend on them: log the time each change arrives next to the time you act on it.
NEXTreplace the base URL and the key
Point your old loop at a new key
Start on the free key to check the shapes against your parser, then pick the plan your polling rate needs.