API CoteIQ
Intégrez nos calculs
dans votre stack.
API REST avec JSON natif. Probabilités algorithme CoteIQ, cotes multi-bookmakers FR + BE, opportunités EV détectées. Réservée aux plans Elite (1 000 req/mois) et Enterprise (illimité).
Quickstart
Une fois votre token API généré dans vos paramètres, les requêtes sont authentifiées via Bearer token :
curl -H "Authorization: Bearer ck_live_xxxxxxxxxxxx" \
https://coteiq.com/api/v1/matches/upcomingEndpoints
/api/v1/matches/upcomingListe les matchs à venir sur les ligues couvertes
Paramètres
leaguestring?— Filtrer par ligue (ligue1, premier_league, la_liga, champions_league)limitnumber?— Max matchs retournés (default 20, max 100)
Réponse 200
{
"matches": [
{
"id": "psg-om-2026-04-30",
"leagueId": "ligue1",
"homeTeamId": "psg",
"awayTeamId": "om",
"kickoffAt": "2026-04-30T19:00:00Z",
"status": "scheduled",
"expectedGoalsHome": 2.1,
"expectedGoalsAway": 0.9
}
],
"count": 7
}/api/v1/matches/{id}/probabilitiesProbabilités calculées par l'algorithme CoteIQ pour un match
Réponse 200
{
"matchId": "psg-om-2026-04-30",
"modelVersion": "bivariate-poisson-v1",
"probHomeWin": 0.6391,
"probDraw": 0.2202,
"probAwayWin": 0.1407,
"probOver25Goals": 0.481,
"probBttsYes": 0.4502,
"topExactScores": [
{ "homeGoals": 2, "awayGoals": 1, "probability": 0.1373 }
]
}/api/v1/matches/{id}/oddsCotes multi-bookmakers pour un match
Paramètres
marketstring?— 1X2 (default), over_under_goals, bttsregionstring?— fr, be, eu (default fr)
Réponse 200
{
"matchId": "psg-om-2026-04-30",
"market": "1X2",
"snapshots": [
{
"selectionKey": "home",
"bookmakerId": "winamax",
"decimalOdds": 1.62,
"fetchedAt": "2026-04-28T20:00:00Z"
}
],
"fairOdds": { "home": 1.565, "draw": 4.541, "away": 7.106 }
}/api/v1/ev/opportunitiesOpportunités EV+ détectées sur l'ensemble des matchs
Paramètres
min_evnumber?— Seuil EV minimum (default 0.02 = +2%)confidencestring?— low, medium, high
Réponse 200
{
"opportunities": [
{
"matchId": "psg-om-2026-04-30",
"selectionKey": "home",
"bookmakerId": "pinnacle",
"decimalOdds": 1.66,
"evPercent": 0.0609,
"confidence": "high"
}
],
"count": 12
}/api/v1/bankroll/betsEnregistrer un pari placé (sync depuis votre système)
Paramètres
matchIdstring— ID du matchmarketKeystring— 1X2, over_under_goals, etc.selectionKeystring— home, draw, away, etc.bookmakerIdstring— ID bookmakerstakeCentsnumber— Mise en cents (€10 = 1000)decimalOddsnumber— Cote décimale au moment de la mise
Réponse 200
{
"id": "bet_xxx",
"status": "pending",
"placedAt": "2026-04-28T20:15:00Z"
}Limites par plan
Plan Pro
69 €/mois
Pas d'accès API
Web UI uniquement
Plan Elite
149 €/mois
1 000 req/mois
Rate limit : 60 req/min
Plan Enterprise
399 €/mois
Illimité
SLA 99.9% + support dédié
Codes d'erreur
| Code | Status | Description |
|---|---|---|
| AUTH_REQUIRED | 401 | Token manquant ou invalide |
| PLAN_NOT_ELIGIBLE | 403 | Plan actuel n'a pas accès à l'API |
| RATE_LIMIT_EXCEEDED | 429 | Quota mensuel atteint (Elite seulement) |
| RESOURCE_NOT_FOUND | 404 | Match / opportunité inexistante |
| INVALID_PARAMS | 400 | Paramètres mal formés |
Intéressé par un usage B2B ou intégration custom ?
Discuter avec l'équipe →