pinnacle.com APIpinnacle.com ↗
Access live and pre-event odds, matchups, scores, and prop markets from Pinnacle across sports, politics, and entertainment via 8 structured endpoints.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/0f6b4408-6448-445a-82a9-134f066c2d53/get_sports' \ -H 'X-API-Key: $PARSE_API_KEY'
List all available sports and their IDs from Pinnacle. Returns a flat array of sport objects including matchup counts and feature ordering.
No input parameters required.
{
"type": "object",
"fields": {
"data": "array of sport objects with id, name, matchupCount, primaryMarketType, and feature flags"
},
"sample": {
"data": [
{
"id": 1,
"name": "Badminton",
"isHidden": false,
"isSticky": false,
"isFeatured": false,
"featureOrder": -1,
"matchupCount": 0,
"matchupCountSE": 0,
"primaryMarketType": "moneyline"
}
],
"status": "success"
}
}About the pinnacle.com API
The Pinnacle API exposes 8 endpoints covering pre-event odds, live markets, real-time scores, and deep prop markets across sports, politics, and entertainment. Starting with get_sports to enumerate available sport IDs, you can chain through get_leagues and get_matchups to retrieve structured event data, then pull moneyline, spread, total, and alternate-line odds from get_odds or get_live_odds for in-progress events.
Sports, Leagues, and Matchup Discovery
The get_sports endpoint returns a flat array of sport objects, each with an id, name, matchupCount, and feature flags. These IDs feed directly into get_leagues, which groups active leagues by region and returns id, name, group, and matchupCount alongside parent sport metadata. From there, get_matchups accepts either a sport_id or league_id and returns an array of matchup objects with participants, startTime, periods, and market availability flags — giving you a complete picture of upcoming events before querying odds.
Pre-Event and Live Odds
get_odds accepts either a sport_id (returns primary markets only) or a league_id (returns all markets including alternates). Each market object in the response carries matchupId, type (moneyline, spread, total, or team_total), prices, period, and cutoffAt. For in-play events, get_live_matchups and get_live_odds both require a sport_id and return real-time data — participant stats and scores in the matchup response, current live lines in the odds response. Both return empty arrays when no events are currently live for the requested sport.
Event-Level Depth and Specialty Markets
get_event_details takes a matchup_id from either get_matchups or get_live_matchups and returns the full matchup tree — the parent event plus all related child matchups — alongside an exhaustive markets array that includes props, alternative lines, and specials not visible in the top-level odds endpoints. This is the primary route for accessing granular betting markets on a single event.
Political and Entertainment Betting
get_political_betting requires no inputs and returns a single structured object with politics (sport ID 24) and entertainment (sport ID 58) keys. Each key contains matchups and odds arrays following the same schema as the sports endpoints. Either category may return empty arrays when no markets are currently listed on Pinnacle.
- Aggregate and compare Pinnacle's moneyline, spread, and total odds against other bookmakers for line-shopping tools
- Track live scores and in-play odds shifts via get_live_matchups and get_live_odds for real-time alerting systems
- Build an odds movement dashboard by polling get_odds at intervals and recording changes in price fields
- Monitor political event betting markets using get_political_betting for election and geopolitical forecasting research
- Pull prop and alternate-line markets for a specific match via get_event_details for detailed pre-game analysis
- Populate a league browser by chaining get_sports → get_leagues with the group (region) field for geographic filtering
- Feed matchup schedules and cutoffAt timestamps into a notification system for upcoming event reminders
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.