pinnodds-com Kit API
The Kit API from pinnodds-com — 5 operation(s) for kit.
The Kit API from pinnodds-com — 5 operation(s) for kit.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pinnodds-com:pinnodds-com-kit-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: pinnodds — Pinnacle Odds Kit API
version: 1.0.0
description: 'Real-time Pinnacle odds: live and prematch REST snapshots with full line depth (quarter lines included), player props via include_specials, and a queryable odds-drops buffer. Server-Sent Events drop streams (/odds-drop, /odds-drop-prematch) and a raw WebSocket feed (wss /ws/feed) are documented at https://pinnodds.com/docs — SSE/WS cannot be represented in OpenAPI paths. Free trial key at https://pinnodds.com — no card, no Pinnacle account.'
contact:
name: pinnodds
url: https://pinnodds.com
email: info@pinnodds.com
license:
name: Terms
url: https://pinnodds.com/docs
servers:
- url: https://pinnodds.com
security:
- ApiKeyHeader: []
tags:
- name: Kit
paths:
/kit/v1/markets:
get:
summary: Live or prematch markets for one sport
operationId: getMarkets
description: 'Full board for a sport. Sport ids: Soccer=1, Tennis=2, Basketball=3, Hockey=4, Football=5, Baseball=6, Rugby=7, MMA=8, Boxing=9, Other=10 (Volleyball+Handball combined), Esports=11, Golf=12, Cricket=13, Volleyball=14, Handball=15. Ids 14 and 15 are narrower views of 10 and overlap it — requesting 10, 14 and 15 returns those events twice.'
parameters:
- name: sport_id
in: query
description: Dropping-odds sport id
required: true
schema:
type: integer
example: 1
- name: event_type
in: query
description: live (default) or prematch
required: false
schema:
type: string
enum:
- live
- prematch
example: live
- name: since
in: query
description: Delta cursor — pass the `last` value from the previous response
required: false
schema:
type: integer
- name: include_specials
in: query
description: 1 adds player/team props, exact scores and futures as extra event rows (soccer prematch grows ~1.5k -> ~12k events)
required: false
schema:
type: string
enum:
- '1'
- nested
responses:
'200':
description: 'Board envelope: sport_id, sport_name, last (cursor), events[]'
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
'429':
description: Plan rate limit hit; retry_after_ms in the body
tags:
- Kit
/kit/v1/details:
get:
summary: Single live event by id
operationId: getDetails
parameters:
- name: event_id
in: query
description: Event id from a board response
required: true
schema:
type: integer
responses:
'200':
description: events[] with one entry
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
'429':
description: Plan rate limit hit; retry_after_ms in the body
tags:
- Kit
/kit/v1/prematch/fixtures:
get:
summary: All prematch fixtures for a sport
operationId: getPrematchFixtures
parameters:
- name: sport_id
in: query
description: Dropping-odds sport id
required: true
schema:
type: integer
example: 1
- name: since
in: query
description: Delta cursor
required: false
schema:
type: integer
responses:
'200':
description: Fixtures with full markets envelope
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
'429':
description: Plan rate limit hit; retry_after_ms in the body
tags:
- Kit
/kit/v1/prematch/markets:
get:
summary: Full markets for one prematch event
operationId: getPrematchMarkets
parameters:
- name: event_id
in: query
description: Prematch event id
required: true
schema:
type: integer
responses:
'200':
description: Markets for the event
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
'429':
description: Plan rate limit hit; retry_after_ms in the body
tags:
- Kit
/kit/v1/prematch/lines:
get:
summary: Compact line view for one prematch event
operationId: getPrematchLines
parameters:
- name: event_id
in: query
description: Prematch event id
required: true
schema:
type: integer
- name: market_type
in: query
description: moneyline | spread | total | team_total
required: false
schema:
type: string
responses:
'200':
description: Compact lines
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key
'429':
description: Plan rate limit hit; retry_after_ms in the body
tags:
- Kit
components:
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: Your pinnodds API key — it doubles as your account login.