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é).

API en cours de développement — Phase 1+

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/upcoming

Endpoints

GET/api/v1/matches/upcoming

Liste 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
}
GET/api/v1/matches/{id}/probabilities

Probabilité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 }
  ]
}
GET/api/v1/matches/{id}/odds

Cotes multi-bookmakers pour un match

Paramètres

  • marketstring?1X2 (default), over_under_goals, btts
  • regionstring?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 }
}
GET/api/v1/ev/opportunities

Opportunité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
}
POST/api/v1/bankroll/bets

Enregistrer un pari placé (sync depuis votre système)

Paramètres

  • matchIdstringID du match
  • marketKeystring1X2, over_under_goals, etc.
  • selectionKeystringhome, draw, away, etc.
  • bookmakerIdstringID bookmaker
  • stakeCentsnumberMise en cents (€10 = 1000)
  • decimalOddsnumberCote 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

CodeStatusDescription
AUTH_REQUIRED401Token manquant ou invalide
PLAN_NOT_ELIGIBLE403Plan actuel n'a pas accès à l'API
RATE_LIMIT_EXCEEDED429Quota mensuel atteint (Elite seulement)
RESOURCE_NOT_FOUND404Match / opportunité inexistante
INVALID_PARAMS400Paramètres mal formés

Intéressé par un usage B2B ou intégration custom ?

Discuter avec l'équipe →