Pinnacle API for pre-match sportsbook odds

Request covered Pinnacle prices with the canonical pinnacle filter, then use the same event, market, selection, and freshness fields across other bookmakers.

Paid plans from $40/month. No surprise charges.

GET /v1/events/{event_id}/odds/snapshot?bookmakers=pinnacle
{
  "event_id": "mlb-example-001",
  "items": [
    
    {
      "bookmaker": "pinnacle",
      "bet_type": "handicap",
      "period_str": "full game",
      "side": "home",
      "selection_name": "Home team -1.5",
      "odds": 1.91
    },
    
    {
      "bookmaker": "pinnacle",
      "bet_type": "total",
      "period_str": "full game",
      "side": "over",
      "selection_name": "Over 8.5",
      "odds": 1.95
    }
    
  ],
  "resume": "1784092451749-0"
}
Pinnacle API filter Request only Pinnacle prices with the canonical pinnacle bookmaker key.
Normalized odds data Use consistent event, market, period, selection, and price fields.
REST and live streams Start with REST, then add SSE or WebSocket updates.

Pinnacle data through one odds API.

Request current Pinnacle coverage through the same REST and streaming contract used across the bookmaker catalogue.

Uptime target

99.8%

Monthly operating target for production API endpoints. Check current health live.

Pinnacle updates

Pre-match

Load a REST snapshot first, then add supported SSE or WebSocket changes.

Observed coverage

Multi-sport

Recent coverage includes soccer, tennis, baseball, basketball, football, rugby league, AFL, and MMA.

International odds API guides

Compare international odds sources

Use one normalized contract, then select the canonical source key required by your product.

Browse every bookmaker integration

Pinnacle API markets

Recent Pinnacle coverage spans core lines, period markets, tennis games and sets, soccer corners and cards, and baseball player props.

Market API bet_type What it covers
Moneyline and match result moneylinemoneyline 3wmoneyline 3w / 1st inning Two-way and three-way winner prices for full events, periods, sets, and innings.
Spreads and handicaps handicaphandicap / 1st halfhandicap / gameshandicap / sets Point spreads, run lines, game handicaps, set handicaps, and other line-based selections.
Game and match totals totaltotal / 1st halftotal / 2nd halftotal / rounds Over and under prices for full events, halves, quarters, sets, games, and rounds.
Team total team totalteam total / 1st halfteam total / games One-team totals across full events, halves, quarters, and tennis games.
Tennis games and sets moneyline / 1st settotal / gamestotal / games / 1st settotal / sets First-set moneylines plus game, set, and first-set totals and handicaps.
Soccer corners total / corners Over and under corner totals for covered soccer leagues and fixtures.
Soccer cards total / cards Card totals for covered soccer competitions.
Baseball player props player prop / player home runsplayer prop / player pitcher strikeoutsplayer prop / player total bases Home run, pitcher strikeout, and total bases markets for covered baseball games.
Quarter and period lines moneyline / 1st quarterhandicap / 2nd quarterteam total / 2nd quartertotal / 1st quarter Moneylines, spreads, and totals broken out by covered halves, quarters, sets, innings, and rounds.

And more. These are representative groups from 35 recently observed market labels across 81 leagues and eight sports. View the full live market catalogue.

Built for agents and humans

MCP server

Tools for events, odds, line movement, and streams. Bets endpoints are support-approved.

Agent skill

Agent-ready instructions.

SDKs and examples

TypeScript, Python, Postman and example builds.

Sports and racing

Sports and racing odds coverage for agent workflows.

SSE odds stream

Lightweight streaming updates for dashboards and alerts.

WebSocket feeds

Bidirectional streams for richer pre-match products.

How to use the Pinnacle API

Load the current event state, request only Pinnacle prices, and preserve freshness metadata before opening a supported stream.

  1. 1

    Check the Pinnacle key

    Request GET /v1/bookmakers and use the canonical pinnacle key returned for your account.

  2. 2

    Choose a covered event

    Load a bounded event slate and select a matchup that includes Pinnacle in its bookmaker coverage.

  3. 3

    Request Pinnacle prices

    Call the event snapshot with bookmakers=pinnacle and retain its market, period, selection, price, and freshness fields.

  4. 4

    Follow pre-match movement

    Open the matching stream for supported changes and use the resume token when reconnecting.

Odds API Pricing

Choose a monthly plan based on request volume, rate limits, and support.

Best for testing

Starter

50K
$40 USD / month

Odds

Requests
50K / month
Streams
150 stream-hours / month
  • All Bookmakers
  • All Markets
  • 60 requests/min
  • Self-serve

Bets

  • Positive EV and arbitrage bets
  • Up to 2 bookmakers
Best value

Builder

2M
$90 USD / month

Odds

Requests
2M / month
Streams
1,500 stream-hours / month
  • All Bookmakers
  • All Markets
  • 300 requests/min
  • Email support

Bets

  • Positive EV and arbitrage bets
  • Up to 6 bookmakers

Live

20M
$250 USD / month

Odds

Requests
20M / month
Streams
6,000 stream-hours / month
  • All Bookmakers
  • All Markets
  • 600 requests/min
  • Priority email

Bets

  • Positive EV and arbitrage bets
  • Up to 15 bookmakers

Pro

75M
$500 USD / month

Odds

Requests
75M / month
Streams
20,000 stream-hours / month
  • All Bookmakers
  • All Markets
  • 1,200 requests/min
  • Priority email plus onboarding

Bets

  • Positive EV and arbitrage bets
  • Up to 50 bookmakers

Scale

Custom
Custom

Odds

Requests
100M+ typical
Streams
Custom
  • All Bookmakers
  • All Markets
  • Custom
  • Dedicated support

Bets

  • Positive EV and arbitrage bets
  • Custom bookmaker access

Pinnacle API FAQs

Answers about Pinnacle access, bookmaker filters, normalized markets, streams, and affiliation.

Is this the official Pinnacle API?

No. odds-api is an independent data service. It is not affiliated with, endorsed by, or sponsored by Pinnacle, and it does not place bets or manage Pinnacle accounts.

What bookmaker key retrieves Pinnacle odds?

Use bookmakers=pinnacle on a covered event snapshot. Confirm the exact key returned by GET /v1/bookmakers before building the request.

Do I need separate Pinnacle credentials?

No. Authenticate with your odds-api key and use the documented odds-api endpoints. This integration does not expose Pinnacle account or bet-management operations.

Can I compare Pinnacle with other bookmakers?

Yes. On endpoints that accept multiple bookmaker filters, pass pinnacle with the other canonical keys and compare normalized event, market, period, line, and selection fields.

Can I stream Pinnacle price changes?

Start with the REST snapshot, then use the matching SSE or WebSocket route for supported pre-match changes and resume handling.

Start using the Pinnacle API

Choose a plan, find a covered event, and request its current Pinnacle pre-match prices.

Paid plans from $40/month. No surprise charges.