Les cotes des bookmakers italiens,
en une seule API

Des cotes normalisées de dizaines de bookmakers — y compris les italiens que les API globales n'ont pas — dans un format JSON stable. Pour vos modèles, bots et outils.

● books IT en cycle continu · fraîcheur mesurée event_id stable · last_update par cote self-serve · sans carte

GET /api/v1/odds flux live
# une requête, toutes les cotes d'un événement
curl "https://odss-api.com/api/v1/odds?sport=calcio&league=serie%20a" \
  -H "x-api-key: odss_live_..."

{ "count": 118, "offset": 0, "returned": 118, "state": "prematch", "odds": [{
  "event_id": "a3f9c1e07b2d4865", "event": "Inter - Milan",
  "league": "Serie A", "market": "1x2", "commence_time": "2026-08-23T18:45:00Z",
  "bookmakers": [
    { "key":"snai", "outcomes":{"HOME":2.10,"DRAW":3.40,"AWAY":3.60}, "last_update":"2026-07-14T10:32:05Z" },
    { "key":"bet365", "outcomes":{"HOME":2.05,"DRAW":3.50,"AWAY":3.70}, "last_update":"2026-07-14T10:28:12Z" },
    { "key":"leovegas", "outcomes":{"HOME":2.08,"AWAY":3.55}, "suspended":["DRAW"], "last_update":"2026-07-14T10:31:44Z" } ]}]}

Trois étapes pour intégrer les cotes

01

Créez la clé

Inscrivez-vous et générez une clé odss_live en une minute. Le plan Free est permanent, sans carte.

02

Appelez /odds

Un endpoint, toutes les cotes cross-book par événement et marché. Filtres par sport, ligue, marché et bookmaker.

03

Intégrez et synchronisez

event_id stable pour reconnaître les événements, last_update pour la fraîcheur, offset pour lire tout le programme.

L'atout : les books italiens.

Les bookmakers ADM que les API globales n'ont pas

Des dizaines d'opérateurs italiens agréés ADM, plus des books de référence internationaux et des exchanges. La liste active à cet instant est sur /api/v1/bookmakers, avec une clé API : aucune liste de marques à croire sur parole. country, playable_it et is_exchange sont des champs de la réponse, pas des paramètres de requête — l'endpoint n'en accepte aucun.

GET /bookmakerskeycountryplayable_itis_exchange

Schéma stable

Un format JSON public et versionné : la forme interne du moteur n'atteint jamais votre code.

Intégration fiable

event_id déterministe pendant toute la fenêtre prématch, last_update ISO par book, pagination par offset : des syncs sans surprises.

Fraîcheur honnête

Les books italiens sont relus en cycle continu — fraîcheur réelle mesurée sur la status page ; bet365 arrive via un fournisseur de données tiers sous licence contractuelle, avec une cadence de quelques minutes. Chaque cote déclare son last_update : pas de chiffres périmés déguisés en live.

La comparaison honnête.

Où nous nous situons face aux API globales et à la moyenne du marché. Sans noms, sans promesses.

Caractéristique
odss-api
Moyenne du marché
Books ADM italiens
Couverture directe et vérifiable (/coverage public, /bookmakers avec clé), fraîcheur mesurée et publique (p50/p95 sur /status).
Absents : ils couvrent des books étrangers (US/UK/offshore), aucun book ADM.
Comment on paie
Par compte : quota mensuel + débit/min. Plus de books ou marchés par événement n'augmentent pas le coût.
Par book simultané, ou crédits marchés×régions : le coût explose en multi-book.
Cross-book
event_id déterministe partagé par tous les marchés du match : comparaison native, pas de matching heuristique.
Souvent des cotes propriétaires ou un matching non déterministe.
Fraîcheur
last_update ISO en clair, book par book : vous savez à quel point chaque jambe est récente.
Souvent non exposée par book individuel.
Prête pour les agents
OpenAPI 3.1, llms.txt, JSON-LD, /.well-known/api-catalog : un agent la trouve et la lit tout seul.
Docs derrière login ou crawlers bloqués, aucun standard agentique.
Prix & démarrage
Tarifs publics avec Free tier ; Enterprise self-serve configurable. Une clé en une minute.
Enterprise opaque et commercial, ou self-serve sans books italiens.
Clés ciblées
Restreignables par sport/ligue (ex. une clé « foot uniquement »), sans limite de nombre.
Non documenté.

Comparaison avec la moyenne des fournisseurs globaux/enterprise évalués (juil. 2026). Notre côté est vérifiable depuis les endpoints publics et la documentation.

Bookmakers & ligues

Des chiffres live, comptés depuis le flux à l'instant — pas un inventaire de catalogue.

bookmakers actifs dans le flux

sports cotés en ce moment

ligues au programme

La liste nominative des books actifs à cet instant est sur GET /api/v1/bookmakers, avec les champs country, playable_it, is_exchange et source : elle exige une clé API (la Free se crée en une minute, sans carte). Sans clé, GET /api/v1/leagues — d'où viennent les compteurs ci-dessus — et GET /api/v1/coverage sont publics.

Les ligues au programme maintenant

Données live du flux (endpoint public /api/v1/leagues) : pour chaque sport, les ligues cotées en ce moment. Les noms sont les valeurs du filtre league.

Nous n'excluons aucune ligue. Nous suivons les principaux bookmakers ADM — la liste exacte est sur /api/v1/bookmakers — et montrons tout ce qu'ils cotent : si un book du flux cote un match, vous le voyez ici aussi — des grandes ligues européennes aux divisions mineures et compétitions internationales. Ce qui apparaît dépend de la saison et de la période : pas de matchs, les bookmakers ne cotent pas, donc rien ne s'affiche. La liste ci-dessous est le programme à cet instant.

Chargement du programme…

Le programme suit la saison : en été, le football de clubs est naturellement réduit.

Documentation

Base URL https://odss-api.com. Authentification via l'en-tête x-api-key: odss_live_… ou Authorization: Bearer. Réponses JSON, cotes décimales européennes.

GET /api/v1/mock/odds sans clé

Chaque endpoint a un jumeau sous /api/v1/mock/ qui répond tout de suite, sans inscription et sans consommer de quota : même forme de réponse, mêmes paramètres, même validation stricte que le flux réel. Les cotes sont synthétiques — mock: true, en-tête X-Odss-Mock: 1, ids préfixés mock_ — elles servent à écrire et tester votre code, pas à parier.

curl "https://odss-api.com/api/v1/mock/odds?sport=calcio&limit=3"

Disponibles : /mock/odds · /mock/odds/history · /mock/sports · /mock/bookmakers · /mock/leagues · /mock/status · /mock/stream (SSE). Le paramètre seed rend la réponse reproductible : utilisez-le en CI plutôt que de brûler du quota à chaque exécution.

Sur le flux RÉEL, sont aussi publics sans clé /api/v1/leagues, /api/v1/coverage et /api/v1/status.

Premier appel en 3 étapes

01

Créez la clé

Inscrivez-vous et générez une clé dans le tableau de bord. Le plan Free est permanent.

02

Listez les sports

Vérifiez la clé avec un appel à /sports.

03

Demandez les cotes

Appelez /odds avec sport et marché : vous obtenez les cotes cross-book.

GET /api/v1/odds exemple

curl "https://odss-api.com/api/v1/odds?sport=calcio&league=serie%20a&limit=5" \
  -H "x-api-key: odss_live_..."
const r = await fetch(
  "https://odss-api.com/api/v1/odds?sport=calcio&league=serie%20a&limit=5",
  { headers: { "x-api-key": "odss_live_..." } }
);
const { count, odds } = await r.json();
import requests
r = requests.get(
    "https://odss-api.com/api/v1/odds",
    params={"sport": "calcio", "league": "serie a", "limit": 5},
    headers={"x-api-key": "odss_live_..."},
)
data = r.json()  # { count, offset, returned, state, odds: [...] }

GET /api/v1/odds

Les cotes cross-book actuelles, regroupées par événement, marché et ligne. Chaque enregistrement liste les bookmakers avec leurs issues et l'horodatage de leur dernière mise à jour.

Paramètres

ParamètreDescription
sportFiltre exact sur le sport (ex. calcio, tennis, basket). Valeurs : voir /api/v1/sports.
marketMarché canonique : 1x2, ou, btts, dc, ah (handicap asiatique), eh (handicap européen), moneyline…
bookmakersListe CSV de clés book (ex. snai,bet365). Valeurs : voir /api/v1/bookmakers.
leagueFiltre par sous-chaîne, insensible à la casse (ex. serie a). Valeurs : voir /api/v1/leagues.
event_idUn seul événement, par id exact.
stateprematch (par défaut), live (in-play, avec score et minute actuels) ou all (les deux). Avec live, si le moteur in-play est éteint la liste est vide et live_enabled=false. Si la clé a un périmètre de flux (prématch seul ou live seul), un state hors périmètre renvoie 403 et all se replie sur l'état autorisé.
limitEnregistrements par page. Défaut 500, max 2000.
offsetIndex de départ pour la pagination. Défaut 0.

Champs de la réponse

ChampDescription
countTotal des enregistrements correspondant aux filtres (toutes pages).
offset · returnedÉcho de l'offset demandé et enregistrements renvoyés dans cette page.
odds[].event_idId déterministe de l'événement : identique pour tous les marchés du même match et stable pendant toute la fenêtre prématch.
odds[].eventNom normalisé de l'événement (Domicile - Extérieur).
odds[].sport · leagueSport et ligue/compétition de l'événement.
odds[].home_team · away_teamLes deux équipes, quand disponibles.
odds[].commence_timeDébut de l'événement, ISO 8601 UTC.
odds[].market · line · scope · periodMarché canonique, ligne éventuelle (ex. 2.5), portée (ex. équipe) et période (ex. 1re mi-temps).
odds[].state · score · minutestate = prematch ou live. Pour le live : score (ex. « 1-0 ») et minute (ex. « 63' ») actuels. Même event_id que le prématch → corrèle le même match dans les deux états.
…bookmakers[].keyClé du bookmaker, avec country, playable_it et is_exchange.
…bookmakers[].outcomesCarte issue → cote décimale (ex. HOME: 2.10).
…bookmakers[].suspendedIssues que ce book cote mais sur lesquelles il n'accepte pas de paris en ce moment. Elles ne sont pas dans outcomes (une issue suspendue n'a pas de prix jouable) et sont nommées ici, pour que «le book ne propose pas cette issue» et «il la propose et elle est fermée maintenant» restent deux faits distincts. Champ optionnel, et son absence veut dire quelque chose: s'il manque, la source de ce book ne déclare pas l'état; [] veut dire lue, et rien de suspendu. Ne lisez jamais l'absence comme une liste vide.
…bookmakers[].last_updateHorodatage ISO de la dernière mise à jour réussie de ce book.

Pagination

Répétez l'appel en augmentant offset de returned, tant que offset + returned < count. Le programme est vivant : count peut varier légèrement entre les pages.

GET /api/v1/odds?sport=calcio&limit=1000&offset=0
GET /api/v1/odds?sport=calcio&limit=1000&offset=1000
# … finché offset + returned < count

GET /api/v1/sports

Les sports disponibles en ce moment dans le flux (les valeurs du paramètre sport).

GET /api/v1/bookmakers

Les bookmakers actifs dans le flux, avec country (code ISO 3166-1 alpha-2 du pays de licence — IT, GB, US, SE… — ou world lorsqu'il n'est pas attribué), playable_it (true uniquement pour les books titulaires d'une licence ADM italienne, donc jouables depuis l'Italie : false pour tous les autres books du flux, des références sharp comme Pinnacle aux marques étrangères), is_exchange (commission sur les gains) et source (direct si nous lisons le book nous-mêmes, partner_feed si sa cote nous parvient via un fournisseur de données tiers).

GET /api/v1/leagues public, sans clé

Le programme actuel agrégé : pour chaque sport, les ligues cotées, avec nombre d'événements et de bookmakers. Utile pour découvrir les valeurs du filtre league.

GET /api/v1/stream Pro et Enterprise

Server-Sent Events : un événement hello à la connexion, puis des événements odds avec les enregistrements MODIFIÉS (même schéma que /odds, chacun avec son state) et les supprimés, sous ~10 secondes après leur détection par le moteur — pas de polling. Paramètres optionnels sport et state (prematch|live|all) ; snapshot initial via GET /odds?state=…. La cadence des données reste celle du moteur (fraîcheur par book mesurée sur la status page ; bet365 via un fournisseur de données tiers sous licence contractuelle) : le stream supprime la latence de polling, last_update fait foi. Max 3 streams concurrents ; la connexion compte pour 1 requête de quota.

GET /api/v1/odds/history

Historique des variations de cote d'un événement : une ligne à chaque fois qu'un bookmaker bouge un prix sur un groupe. Filtres event_id (obligatoire), book, market, from/to (ISO), limit. Du plus récent : pour un événement commencé, la première ligne est sa clôture. Respecte la portée de la clé.

curl "https://odss-api.com/api/v1/odds/history?event_id=a3f9c1e07b2d4865&book=snai" \
  -H "x-api-key: odss_live_..."

GET /api/v1/middles

Middles Over/Under calculés sur le flux courant : OVER sur une ligne basse chez un book, UNDER sur une ligne haute chez un autre. Si le total tombe dans la fenêtre, les deux paris gagnent. Champs middle_window, hit_return_pct, miss_return_pct, safe (aucune perte même à côté). Filtres : sport, min_return, safe, limit.

Règle de fraîcheur : une cote figée depuis plus de stale_after_seconds (900s par défaut) reste dans les réponses de /odds avec son last_update, mais n'est jamais appariée dans un middle : une jambe périmée n'existe probablement plus chez le bookmaker. Le seuil appliqué et les jambes écartées figurent dans la réponse.

curl "https://odss-api.com/api/v1/middles?sport=calcio&safe=true" \
  -H "x-api-key: odss_live_..."

GET /api/v1/coverage public, sans clé

Combien de marques de bookmakers ont une cote valide dans le flux actuel, par région (Italie, USA, UK, monde). Ne correspond pas au nombre d'entrées de /api/v1/bookmakers : cet endpoint liste les clés interrogeables, où les lignes de marché dédiées (ex. <marque>-corners) comptent à part, alors qu'ici elles sont regroupées sous la marque.

POST /api/mcp MCP

Serveur MCP (JSON-RPC 2.0) pour agents IA et connecteurs (Claude, ChatGPT…). Auth avec la même clé (Authorization: Bearer odss_live_… ou x-api-key). Outils : get_odds (avec state=live), list_sports, list_bookmakers, list_leagues. Seul tools/call consomme du quota ; le handshake est gratuit. Stateless.

curl -X POST https://odss-api.com/api/mcp \
  -H "Authorization: Bearer odss_live_..." -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"get_odds","arguments":{"sport":"calcio","state":"live","limit":5}}}'

Webhook Enterprise

Enregistrez une URL (https) depuis le tableau de bord ou via l'API — POST /api/account/webhooks avec la session compte (body {url, sport?, state?} ; le secret n'est montré qu'une fois, max 20 par compte) — et recevez les changements de cotes par POST — même payload {changed, removed} que le flux. Chaque livraison est signée : X-Odss-Signature: t=<unix>,v1=<hex> = HMAC-SHA256 de «{timestamp}.{body}» avec le secret (vérifiez-la, rejetez les vieux timestamps). https uniquement, pas de redirections ; les endpoints en échec se désactivent. Répondez 2xx. Une livraison peut arriver en plusieurs POST consécutifs, chacun signé séparément et numéroté par l'en-tête X-Odss-Page: page/total : chaque corps porte page, pages, changed_total et removed_total, la première page vous dit donc déjà combien arrive. Ne limitez pas la fréquence de l'endpoint : une page refusée arrête les suivantes.

Limites, en-têtes et erreurs

Chaque réponse authentifiée inclut X-RateLimit-Limit (quota mensuel du plan), X-RateLimit-Remaining et X-RateLimit-Reset (temps unix en secondes où la fenêtre se rouvre ; sur le 429 de quota la même date est dans le corps comme retry_at). Le quota est une fenêtre glissante de 30 jours.

StatusDescription
400Requête invalide : paramètre inconnu, valeur hors de celles admises (ex. state) ou paramètre obligatoire manquant (ex. event_id sur /odds/history). Le corps de la réponse indique lequel.
401Clé absente, invalide ou révoquée.
403Hors périmètre : compte suspendu, flux hors du périmètre de la clé (ex. live avec une clé prématch seul) ou fonction selon le plan (stream : Pro et Enterprise ; webhooks : Enterprise).
429Burst : requêtes par minute du plan dépassées. En-tête Retry-After: 60.
429Quota mensuel épuisé : passez au plan supérieur ou attendez la fenêtre.
502Flux temporairement indisponible : réessayez avec backoff.

Paramètres : aucun silence

Sur tous les endpoints /api/v1, un paramètre que nous ne reconnaissons pas n'est jamais ignoré : si vous écrivez bookmaker au lieu de bookmakers, vous recevez 400 avec le nom erroné, la liste de ceux admis sur cet endpoint et, s'il s'agit d'une faute de frappe, la suggestion du nom correct. La comparaison est exacte : même Sport avec une majuscule est rejeté. Les endpoints de catalogue (/sports, /bookmakers, /leagues, /coverage, /status) n'acceptent aucun paramètre. Nous préférons une erreur immédiate à une réponse 200 avec des données non filtrées qui semblent correctes : le 400 est déterministe, il doit être corrigé et non réessayé, et il ne consomme pas de quota.

La même règle s'applique aux arguments des outils du serveur MCP (POST /api/mcp) : un nom qui n'existe pas, ou un type erroné comme une liste au lieu de la chaîne CSV, reçoit une erreur JSON-RPC -32602 plutôt que d'être ignoré. Le champ error.data contient les noms admis, de sorte que l'agent se corrige tout seul.

curl "https://odss-api.com/api/v1/odds?bookmaker=snai" -H "x-api-key: odss_live_..."

HTTP/1.1 400 Bad Request
{
  "error": "Parametro sconosciuto: \"bookmaker\" (forse intendevi \"bookmakers\"?). Ammessi su questo endpoint: bookmakers, content, event_id, league, limit, market, offset, player, sport, state"
}

Machine-readable · contrat & agents

Pour générer des clients, SDK ou utiliser l'API depuis un agent IA : le contrat OpenAPI 3.1 et un guide concis pour LLM sont publics et toujours synchronisés.

ChampDescription
/openapi.jsonContrat OpenAPI 3.1 (endpoints, paramètres, schémas, auth x-api-key).
/llms.txtGuide markdown pour LLM (llmstxt.org) : résumé et liens vers les ressources.
/postman_collection.jsonCollection Postman : importez-la et définissez la variable x-api-key pour tester les endpoints tout de suite.
/sdk/odss_api.pySDK Python officiel (fichier unique, sans dépendances) : client typé avec pagination automatique et support live.
/sdk/odss-api.tsSDK TypeScript officiel (fichier unique, sans dépendances) : types, itérateur async et helper pour le flux SSE.
/.well-known/api-catalogCatalogue d'API (RFC 9727, linkset JSON).

Licence d'utilisation

L'usage interne (modèles, bots, analyses, backtests) est inclus dans tous les plans. Redistribuer les données — p. ex. les afficher aux utilisateurs finaux de votre produit — exige la licence de Redistribution Display (option Enterprise, +120 €/mois), qui ne couvre que l'affichage. Créer, alimenter ou commercialiser des services de surebet/arbitrage, de value betting ou équivalents exige en revanche la Surebet API, le plan qui comprend la licence pour revendre les surebets calculées : 950 €/mois + TVA, depuis le site. Redistribuer l'API ou les données brutes reste hors de tout plan : pour cela, écrivez à [email protected].

Le bon plan pour votre volume.

Même couverture sur tous les plans : vous ne payez que le volume. Commencez gratuitement, résiliez quand vous voulez.

Free

Pour explorer l'API. Pour toujours, sans carte.

0pour toujours
Commencer
  • 500 requêtes / mois
  • 30 requêtes / min
  • Couverture complète : tous les sports et tous les books du flux

Hobby

Pour projets personnels et petits bots.

19/mois
+ TVA
Choisir Hobby
  • 10 000 requêtes / mois
  • 60 requêtes / min
  • Couverture complète : tous les sports et tous les books du flux
★ Le plus choisi

Starter

Pour bots et intégrations en production.

79/mois
+ TVA
Choisir Starter
  • 100 000 requêtes / mois
  • 120 requêtes / min
  • Couverture complète : tous les sports et tous les books du flux

Pro

Pour plateformes et gros volumes.

159/mois
+ TVA
Choisir Pro
  • 500 000 requêtes / mois
  • 600 requêtes / min
  • Priorité d'assistance

Enterprise

Pour plateformes, entreprises et revendeurs : configurez volume, débit et licence — le prix se met à jour tout seul et vous activez au checkout, sans négociation.

199/mois
+ TVA
+€120

Vous autorise à afficher les données aux utilisateurs finaux de votre produit — sites, applications, tableaux de bord, widgets, comparateurs (sans elle, l'usage reste interne). Elle n'autorise pas à créer ou commercialiser des services de surebet/arbitrage, de value betting ou des plateformes équivalentes, ni à redistribuer l'API ou les données brutes : il faut pour cela une licence commerciale dédiée. Lire la licence →

  • Streaming SSE inclus (/api/v1/stream)
  • Quota et débit configurés sur votre compte
  • Activation automatique au paiement, résiliez quand vous voulez

En continuant vous acceptez la Licence Enterprise et de Redistribution (lisible via le lien ci-dessus) en plus des Conditions du service.

Les prix indiqués s'entendent hors taxes. La taxe applicable est ajoutée au moment du paiement selon votre pays et votre statut fiscal : 22 % pour l'Italie (y compris pour les entreprises disposant d'un numéro de TVA italien) ; autoliquidation, taxe 0 %, pour les entreprises d'autres États membres de l'UE disposant d'un numéro de TVA valide ; opération hors champ de la TVA italienne pour les clients hors UE. Le montant total que vous payez est celui indiqué par le récapitulatif du paiement, que vous confirmez avant de valider votre commande (§4 des Conditions) · Paiements via Stripe · résiliation en un clic depuis le portail · le quota est une fenêtre glissante de 30 jours

Trois niveaux, un seul moteur.

Les cotes normalisées sont le premier niveau. Si le produit que vous voulez vendre, ce sont les arbitrages, il vous faut un autre niveau : les surebets déjà calculées, avec le droit de les revendre compris dans l'abonnement.

Niveau 1 · self-serve

Odds API

Cotes et données normalisées. Du plan Free à l'Enterprise, tarif public et activation immédiate.

Niveau 2 · self-serve

Surebet API

Les surebets déjà repérées et calculées par le moteur, actualisées toutes les 180 secondes, pas seulement les cotes. Un plan API à 950 €/mois + TVA, licence de revente comprise.

Niveau 3 · sous contrat

Surebet White Label

La plateforme complète, à votre marque, prête à être commercialisée. 2 000 €/mois + TVA.

Licence de revente comprise

Surebet API

Pour qui construit dessus son propre produit. Elle ne renvoie pas que les cotes : elle renvoie les surebets déjà repérées et calculées par notre moteur, actualisées toutes les 180 secondes. Si vous n'avez personne à qui les revendre, elle ne vous sert pas : surebett.app suffit.

950 €par mois, hors taxes. Un seul tarif : la licence pour revendre les surebets calculées à vos utilisateurs est comprise dans l'abonnement. C'est un plan API comme Starter et Pro — une clé, son quota, son rate — mensuel, résiliable en un clic depuis le portail de facturation. Si vous avez un code promotionnel, vous le saisissez au paiement.

Activation dès le paiement, résiliation en un clic depuis le portail. C'est un plan à part qui ne s'ajoute pas à un plan du catalogue : si le compte en a déjà un payant actif, il faut le résilier d'abord. En continuant vous souscrivez la Surebet API Commercial License, dans les limites de l'usage que vous avez déclaré ci-dessus, et vous acceptez les Conditions du service (§5).

  • Événement et marché
  • Bookmakers concernés et cotes de chaque jambe
  • Pourcentage/marge d'arbitrage
  • Mises optimales
  • Timestamp et fraîcheur des cotes
  • Identifiants nécessaires à l'intégration

Les champs listés sont ceux prévus lorsqu'ils sont disponibles : la réponse contient ce que le moteur a réellement calculé pour cet événement. La licence de revente est comprise dans l'abonnement : vous pouvez utiliser les surebets calculées dans un produit commercial qui vous appartient, destiné à vos utilisateurs finaux, dans les limites de l'usage déclaré et des Conditions. Elle ne comprend pas le White Label, qui reste un contrat à part.

Plateforme en tant que service

Surebet White Label

Pour les entreprises qui ne veulent pas développer la plateforme elles-mêmes : la Surebet complète, fournie comme service à votre marque.

2 000 €par mois, hors taxes. Activation et durée selon le contrat White Label.
Demander une démo White Label
  • Moteur Surebet
  • Données et mises à jour
  • Frontend complet
  • Personnalisation du logo, du nom et des couleurs
  • Hébergement et infrastructure
  • Maintenance et mises à jour

Le logiciel, le moteur et le code source restent notre propriété et sont concédés en usage selon le contrat White Label.

La licence « Redistribution Display » des plans API vous autorise à afficher les cotes dans votre produit : elle n'autorise pas à créer ou commercialiser des services de surebet/arbitrage, de value betting ou des plateformes substantiellement équivalentes, ni à redistribuer l'API ou les données brutes. Ces usages exigent la Surebet API Commercial License ou le contrat White Label — voir les licences commerciales et les Conditions, §5.

Questions fréquentes.

Puis-je utiliser les données dans un produit commercial (SaaS) ?

L'usage interne — vos modèles, bots, analyses, outils — est inclus dans tous les plans. Afficher les données aux utilisateurs finaux de votre produit exige la licence de Redistribution Display (option Enterprise) : elle n'autorise que l'affichage. Si le produit que vous voulez vendre, ce sont les surebets — arbitrage, value betting ou services équivalents —, il faut la Surebet API, qui s'achète sur le site comme n'importe quel plan API : 950 €/mois + TVA, licence de revente comprise dans l'abonnement, avec la déclaration d'usage obligatoire avant le paiement. Si vous n'avez personne à qui revendre, elle ne vous sert pas : surebett.app suffit. La plateforme complète à votre marque reste le White Label, sous contrat — voir Surebet API et White Label.

À quelle fréquence les cotes sont-elles mises à jour ?

Les books italiens en cycle continu — la fraîcheur RÉELLE, mesurée book par book (p50/p95), est publique sur la status page ; bet365 arrive via un fournisseur de données tiers sous licence contractuelle, avec une cadence de quelques minutes. Pas besoin de nous croire sur parole : chaque cote de la réponse porte son last_update.

Y a-t-il un essai des plans payants ?

Le plan Free est permanent et a la même couverture que les plans payants : c'est le meilleur moyen de vérifier les données. S'il vous faut plus de volume pour une évaluation, écrivez à [email protected].

Quelle différence avec surebett.app ?

Même moteur, deux produits : odss-api vend les cotes brutes normalisées pour construire dessus ; surebett.app est le produit fini, avec les arbitrages déjà calculés et des mises équilibrées.

Existe-t-il une API pour les cotes des bookmakers italiens agréés ADM ?

Oui : l'API expose les cotes des opérateurs italiens présents dans le flux, filtrables avec le paramètre bookmakers. La liste active à cet instant est sur GET /api/v1/bookmakers, qui exige une clé API (la Free se crée en une minute, sans carte) ; sans clé, /api/v1/leagues et /api/v1/coverage sont publics. Chaque cote porte son last_update.

Puis-je exporter les cotes vers une base de données ou Excel ?

Oui : l'API renvoie du JSON standard, donc direction Postgres, SQLite, pandas ou Google Sheets. Avec les SDK Python et TypeScript, quelques lignes suffisent ; le plan Free (500 requêtes/mois) permet d'essayer sans carte.

Combien coûte une API de cotes sportives ?

Chez nous : Free 500 requêtes/mois sans carte, Hobby 19 €/mois + TVA (10 000), Starter 79 €/mois + TVA (100 000), Pro 159 €/mois + TVA (500 000), Enterprise dès 199 € + TVA. Tous les montants s'entendent hors taxes : pour un particulier italien on ajoute 22%. Les entreprises d'autres États membres de l'UE disposant d'un numéro de TVA valide relèvent de l'autoliquidation (taxe 0 %) ; pour les clients hors UE l'opération est hors champ de la TVA italienne. Le total figure toujours dans le récapitulatif du paiement, que vous confirmez avant la commande (§4 des Conditions). Même couverture sur tous les plans : vous ne payez que le volume.

Les cotes sont-elles en temps réel ?

Les books italiens tournent en cycle continu et la fraîcheur est mesurée, pas promise : p50 et p95 des dernières 24 h sont publics sur la status page, book par book. Streaming SSE pour le push ; le live a son propre flux.

Mot de passe oublié ?