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.ioAuthentification
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_id | Filtrer 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_id | Un event précis. |
sport_id | Filtrer par sport. |
league_id | Filtrer par ligue. |
live | 1 = uniquement les matchs live, 0 = prématch. |
starts_from | Début ≥ (YYYY-MM-DD ou ISO). |
starts_to | Début ≤. |
since | Delta : uniquement ce qui a changé depuis ce timestamp. |
limit | Nombre max de résultats. |
Cotes
GET
/api/oddsCotes d'un event (format plat, une ligne par marché/ligne).event_id* | Requis — l'event. |
period | Filtrer par période (0 = match). |
market | moneyline | spread | totals | … |
line | Filtrer par ligne (handicap/total). |
main_lines_only | 1 = uniquement les lignes principales (pas les alt-lines). |
since | Delta depuis un timestamp. |
full_history | 1 = 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. |
period | Période. |
market | Marché. |
line | Ligne. |
selection | Sé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_id | Un 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_id | Identifiant Pinnacle du match (clé de jointure). |
sport_id / sport_name | Sport. |
league_id / league_name | Ligue. |
runner_home / runner_away | Équipes / joueurs. |
starts | Coup d'envoi (YYYY-MM-DDTHH:MM:SS, UTC). |
live_status | 1 = live, 0 = prématch. |
parent_id | Non-null = child event (corners, cartons…). |
version | Version du fixture (change à chaque maj). |
Cote (OddsRow)
event_id | Le match. |
period | 0 = match entier, 1 = 1re période/mi-temps/set… |
market | moneyline | spread | totals | … |
line | Handicap (spread) ou total (totals) ; null en moneyline. |
odds1 / odds0 / odds2 | Cotes décimales — home / draw / away (ou over / – / under en totals). |
todds1 / todds0 / todds2 | True odds (no-vig) — la cote « juste » sans marge. |
line_id / alt_line_id | Identifiants de ligne (principale / alternative). |
max_win | Mise/gain max (liquidité). |
score_home / score_away | Score en direct (live). |
status | open | … (état du marché). |
timestamp | Horodatage de la cote. |
Notes
- Toutes les cotes sont décimales. Les
todds*sont les cotes no-vig (probabilité « juste »). - Les
event_idsont les identifiants Pinnacle — utilisables comme clé de jointure entre fixtures, cotes, historique et résultats. - Les timestamps sont en UTC.
- Utilisez
since(delta) pour ne récupérer que les changements et limiter le volume.