Pinnacle Live

Documentation de l'API

API temps réel des cotes Pinnacle — fixtures, cotes (moneyline / spread / totals), historique (ouverture / clôture / trajectoire), specials. Format plat compatible « BIC ».

Base URL
https://api.apinn.io
Authentification

Header X-API-Key: <votre-clé> sur chaque requête. Sans clé valide → 401.

Exemple

curl -H "X-API-Key: VOTRE_CLE" \
  "https://api.apinn.io/api/fixtures?sport_id=29&live=1&limit=5"

curl -H "X-API-Key: VOTRE_CLE" \
  "https://api.apinn.io/api/odds?event_id=1632422394&main_lines_only=1"

Endpoints

Catalogue & santé

GET/api/statusSanté de l'API (timestamp).
GET/api/statsCompteurs globaux : events, lignes de cotes, matchs live.
GET/api/coverageNombre d'events par sport.
GET/api/sportsListe des sports disponibles.
GET/api/leaguesListe des ligues.
sport_idFiltrer par sport.
GET/api/periodsPériodes disponibles (0 = match, 1 = 1re période/mi-temps…).

Fixtures (matchs)

GET/api/fixturesListe des matchs avec leurs métadonnées.
event_idUn event précis.
sport_idFiltrer par sport.
league_idFiltrer par ligue.
live1 = uniquement les matchs live, 0 = prématch.
starts_fromDébut ≥ (YYYY-MM-DD ou ISO).
starts_toDébut ≤.
sinceDelta : uniquement ce qui a changé depuis ce timestamp.
limitNombre max de résultats.

Cotes

GET/api/oddsCotes d'un event (format plat, une ligne par marché/ligne).
event_id*Requis — l'event.
periodFiltrer par période (0 = match).
marketmoneyline | spread | totals | …
lineFiltrer par ligne (handicap/total).
main_lines_only1 = uniquement les lignes principales (pas les alt-lines).
sinceDelta depuis un timestamp.
full_history1 = toute la trajectoire (mouvements), pas juste l'état courant.
GET/api/openingCotes d'ouverture.
event_id*L'event.
GET/api/closingCotes de clôture.
event_id*L'event.
GET/api/resultsRésultat + settlement.
event_id*L'event.
GET/api/clvClosing Line Value d'un pari (comparaison à la clôture).
event_id*L'event.
periodPériode.
marketMarché.
lineLigne.
selectionSélection (home/away/draw…).
bet_price*La cote prise.

Specials / Outrights

GET/api/specials/outrightsMarchés outrights (vainqueur…).
sport_id*Le sport.
GET/api/specials/oddsCotes d'un special.
event_id*L'event.
special_idUn special précis.
GET/api/specials/openingOuverture d'un special.
event_id*L'event.
GET/api/specials/closingClôture d'un special.
event_id*L'event.

* paramètre requis.

Modèles de données

Fixture

event_idIdentifiant Pinnacle du match (clé de jointure).
sport_id / sport_nameSport.
league_id / league_nameLigue.
runner_home / runner_awayÉquipes / joueurs.
startsCoup d'envoi (YYYY-MM-DDTHH:MM:SS, UTC).
live_status1 = live, 0 = prématch.
parent_idNon-null = child event (corners, cartons…).
versionVersion du fixture (change à chaque maj).

Cote (OddsRow)

event_idLe match.
period0 = match entier, 1 = 1re période/mi-temps/set…
marketmoneyline | spread | totals | …
lineHandicap (spread) ou total (totals) ; null en moneyline.
odds1 / odds0 / odds2Cotes décimales — home / draw / away (ou over / – / under en totals).
todds1 / todds0 / todds2True odds (no-vig) — la cote « juste » sans marge.
line_id / alt_line_idIdentifiants de ligne (principale / alternative).
max_winMise/gain max (liquidité).
score_home / score_awayScore en direct (live).
statusopen | … (état du marché).
timestampHorodatage de la cote.

Notes