Inicio › Odds-API.io
API de datos de cuotas deportivas · datos verificados el 2026-11-02

Una API para cuotas en vivo de más de 450 casas de apuestas

Odds-API.io unifica en un solo formato JSON las cuotas prepartido, en vivo e históricas de cientos de casas de apuestas, bolsas y mercados de predicción como Polymarket y Kalshi, vía REST, WebSocket o MCP. Pensada para comparadores de cuotas, herramientas de arbitraje y value bets, backtests y asistentes de IA.

Planes desde 49 £/mes, cancela cuando quieras · +18, juega con responsabilidad

Enlaces de socio: los enlaces a odds-api.io de esta página llevan nuestro código de referido (rel="sponsored"). Si te suscribes a través de ellos podemos recibir una comisión sin coste adicional para ti. Aviso de afiliación ↓

Caso práctico: de la clave de API al análisis con agentes de IA y las apuestas →

450+casas de apuestas
500+tipos de mercado
34deportes
12,000+ligas
<150msrespuesta media
99.9%disponibilidad

Datos clave (TL;DR)

Odds-API.io es una API de datos de cuotas de apuestas deportivas. Todos los datos siguientes proceden de odds-api.io o de su documentación oficial, verificados el 2026-11-02.

  • Cubre más de 450 casas, 34 deportes, más de 12.000 ligas y más de 500 tipos de mercado. [fuente]
  • Entrega: REST (JSON, URL base https://api.odds-api.io/v3), WebSocket (wss://api.odds-api.io/v3/ws) y un servidor MCP oficial. [fuente]
  • Cuotas: prepartido, en vivo e históricas, además de marcadores, reloj del partido, líneas de cierre y endpoints de liquidación/evaluación. [fuente]
  • Precios: Solo 49 £/mes (2 casas), Starter 99 £ (5), Growth 179 £ (10), Pro 229 £ (15); el anual = 10× el mensual. [fuente]
  • Todos los planes: 5.000 peticiones/hora (sin tope mensual), todos los deportes y mercados; complementos hasta 10k/20k/30k por hora. [fuente]
  • WebSocket es un complemento de pago que cuesta otra vez el precio del plan (2× en total). [fuente]
  • Las nuevas claves gratuitas están en pausa; /sports, /bookmakers y /markets no requieren clave. [fuente]
  • Endpoints integrados /value-bets, /arbitrage-bets y /dropping-odds. [fuente]
  • SDK oficiales para Python (pip install odds-api-io) y TypeScript (npm i odds-api-io); servidor MCP con 25 herramientas. [fuente]
  • Pago con tarjeta, Apple Pay, Google Pay, PayPal o más de 10 criptomonedas, incluidas BTC, ETH y USDC. [fuente]

¿Qué es Odds-API.io? (resumen de la API de cuotas deportivas)

Odds-API.io es un feed de cuotas para desarrolladores: recoge las cuotas que muestran públicamente más de 450 casas, empareja eventos, equipos y mercados entre ellas y lo sirve todo en un formato JSON vía REST y WebSocket.

  • Para casas sin API pública (Bet365, por ejemplo) es una forma fiable de obtener sus líneas de manera programática.
  • El mismo partido devuelve el mismo id de evento y los mismos nombres de mercado en todas las casas, así que los precios se comparan directamente.
  • Además de las cuotas en bruto, ofrece value bets, arbitraje, cuotas en caída, líneas de cierre y evaluación de apuestas listos para usar.

Como contexto, consulta la introducción oficial a la API de apuestas deportivas y qué es una API de cuotas. Las casas sin API pública, como Bet365, son el caso típico: la integración de la API de cuotas de Bet365 es la forma en que la mayoría de desarrolladores obtiene esas líneas.

Funciones

Doce capacidades clave: un único esquema, streaming, props, endpoints de análisis, histórico, liquidación, precio de consenso, mercados de predicción, enlaces de apuesta, eSports, SDK y MCP.

🧩

Un único esquema

Eventos, equipos y mercados se emparejan entre casas, de modo que Bet365 y Betano DE devuelven el mismo id de evento y los mismos nombres de mercado. Sin parsers por casa.

📡

Streaming por WebSocket

La forma recomendada de obtener cuotas: cambios enviados en milisegundos, prepartido y en vivo, con marcador, reloj y estado en el mismo stream; reconecta con lastSeq para recuperar mensajes (retención de 24 horas).

🎯

Props de jugadores

Tiros, tiros a puerta, asistencias, goleadores y líneas de jugadores de la NBA; 104 casas con props según la web.

💹

Value, arbitraje y cuotas en caída

Endpoints listos /value-bets, /arbitrage-bets y /dropping-odds, para lanzar una herramienta antes de construir un modelo.

🕰️

Histórico y líneas de cierre

Eventos y resultados históricos, instantáneas de cuotas, líneas de cierre (hasta 10 ligas y 366 días por llamada) y movimientos por mercado para backtests y CLV.

🧾

Marcadores y evaluación de apuestas

/settlements devuelve registros de liquidación de hasta 50 eventos; POST /settlements/grade evalúa hasta 50 selecciones (won/lost/void/half_won/half_lost…).

📐

Consenso ON Sharp

Un precio de referencia sintético: cuotas de casas «sharp» sin margen, combinadas y recalculadas con un margen fijo (2 % en dos vías, 2,5 % en tres); prepartido, planes de pago.

🔮

Mercados de predicción

Cuotas de Polymarket y Kalshi, además de /mappings a sus ids nativos (conditionId, id de token CLOB, ticker de Kalshi).

🔗

Enlaces directos de apuesta

Cada evento incluye deep links a la página de la casa, listos para tráfico de afiliación.

🎮

eSports

CS2, Valorant, League of Legends, Dota 2 y más, con mercados de kills y mapas cuando se ofrecen; los eventos incluyen juego, liga, región y formato al mejor de.

🐍

SDK oficiales

Clientes para Python (síncrono y asíncrono) y Node.js/TypeScript (ESM y CommonJS).

🤖

MCP y documentación lista para IA

Servidor MCP oficial con 25 herramientas para Claude, Codex y Cursor; documentación en llms.txt, llms-full.txt y especificación OpenAPI.

Varias tienen su propia página oficial: la API de cuotas de props de jugadores, la API de liquidación de apuestas, la API de cuotas de eSports y datos de cuotas de Polymarket y Kalshi.

Cobertura: Bet365, DraftKings y más de 450 casas, deportes y regiones

34 deportes, más de 12.000 ligas y más de 450 casas, incluidas bolsas y mercados de predicción; la mayoría se cubre prepartido y en vivo.

Principales casas (según la página de cada casa en odds-api.io)

CasaDeportesMercadosPrepartidoEn vivoProps de jugadoresDeportes con más mercados
Bet36516190✓✓✓Fútbol 96 · eSports 31 · Baloncesto 30
Stake1372✓✓–eSports 36 · Voleibol 19 · Tenis 13
DraftKings1065✓✓✓Baloncesto 26 · Fútbol 25 · Béisbol 24
Unibet1061✓✓✓Fútbol 49 · Hockey hielo 17 · Balonmano 14
Caesars550✓✓✓Fútbol 24 · Baloncesto 21 · Fútbol amer. 15
SingBet248✓✓–Fútbol 33 · Baloncesto 27
Polymarket1546✓✓✓Fútbol amer. 25 · Fútbol 25 · Baloncesto 23
1xbet1334✓✓–Voleibol 20 · Fútbol 13 · Hockey hielo 11
Betano927✓✓✓Baloncesto 14 · Fútbol 13 · Hockey hielo 7
BetMGM826✓✓✓Fútbol 20 · Baloncesto 14 · Fútbol amer. 11
Betfair Exchange1524✓✓–Fútbol 15 · Tenis 7 · eSports 4
FanDuel621✓✓✓Béisbol 11 · Baloncesto 11 · Hockey hielo 11
Kalshi810✓✓✓Fútbol 9 · Fútbol amer. 8 · Béisbol 4
William Hill74✓✓✓Baloncesto 4 · Fútbol amer. 3 · Béisbol 3

Cifras mostradas en odds-api.io el 2026-11-02; cambian con el tiempo. Según el registro de cambios del 29 oct 2026, están cubiertas las 48 casas italianas con licencia ADM. https://odds-api.io/sportsbooks

34 deportes

FútbolBaloncestoTenisBéisbolFútbol americanoHockey sobre hieloeSportsDardosMMABoxeoBalonmanoVoleibolSnookerTenis de mesaRugbyCríquetWaterpoloFútbol salaVóley playaFútbol australianoFloorballSquashFútbol playaLacrosseCurlingPádelBandyFútbol gaélicoBalonmano playaAtletismoBádmintonCampo a travésGolfCiclismo

Casas por región

Por casa: cuotas y props de DraftKings en Python, precios back, lay y profundidad de Betfair Exchange, API de cuotas de SBOBET. Por deporte: la API de cuotas de fútbol.

Referencia de endpoints de la API de cuotas (REST v3)

URL base https://api.odds-api.io/v3; pasa la clave como parámetro de consulta apiKey; las respuestas son JSON comprimido con gzip. /sports, /bookmakers y /markets no requieren clave.

EndpointUsoParámetros claveNotas
GET /sportsLista de deportes—Sin autenticación
GET /bookmakersCasas con estado (ok / degraded / down)—Sin autenticación
GET /marketsCatálogo de mercados: nombre, forma, periodo, prepartido/en vivosportSin autenticación
GET /leaguesLigas de un deportesport
GET /eventsEventos (por defecto, próximos 14 días)sport, league, status, from, to, limit≤5000, skip, bookmaker
GET /events/liveEventos en vivo con marcador y relojsport
GET /events/searchBúsqueda por equipo/liga (máx. 10)query (≥3 caracteres), status
GET /oddsCuotas de un eventoeventId, bookmakers≤30, markets≤40
GET /odds/multiHasta 10 eventos en una llamadaeventIds≤10, bookmakers, marketsCuenta como 1 petición
GET /odds/updatedMercados cambiados desde una marca de tiempo (delta)since (≤90 s de antigüedad), bookmaker, sport, marketsAlternativa por sondeo; mejor WebSocket
GET /odds/summaryPrecio mejor/medio/mediano/peor y justo por líneaeventId, markets, lines, includeExchangesPlan Growth o superior
GET /odds/movementsHistorial de línea por mercado y casaeventId, bookmaker, market, marketLinePrepartido; conjunto fijo de casas
GET /value-betsPrecios por encima de la línea justa con EVbookmaker, sport, league, includeEventDetails
GET /arbitrage-betsArbitraje con importes óptimosbookmakers, sport, league, markets, minProfit, allCombinations, limit≤500Prepartido; neto de comisiones de bolsa
GET /dropping-oddsMercados que caen rápido en casas sharpsport, league(s), markets, timeWindow, sort, minDrop, pagePlanes de pago
GET /historical/eventsEventos finalizados y resultadossport, league, from, to
GET /historical/oddsInstantáneas de cuotas de eventos pasadoseventId, bookmakers≤30, markets
GET /historical/closing-linesLíneas de cierre en bloquesport, leagues≤10, from, to (≤366 días), markets, bookmakersPlanes de pago
GET /settlementsRegistros de liquidación de hasta 50 eventoseventIds≤50Planes de pago
POST /settlements/gradeEvalúa hasta 50 seleccionesCuerpo JSON: eventId, market, side, hdp, labelPlanes de pago
GET /mappingsMapeo de ids nativos (Polymarket / Kalshi)bookmaker, eventId(s) / marketId(s) / bulkPlanes de pago
GET /participantsEquipos/jugadores; /participants/{id}/logo devuelve un escudo PNGsport, search
PUT /bookmakers/selected/selectSeleccionar casas por APIcasas de apuestasclear: una vez cada 12 h
WS /v3/wsCuotas, marcadores y estado en tiempo realmarkets, channels, sport≤10, leagues≤20, eventIds≤50, status, lastSeqComplemento de pago; 2 conexiones por clave
  • Cabeceras de límite: x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset.
  • Códigos de estado: 200, 400 (parámetros incorrectos), 401 (clave no válida), 403 (no incluido en el plan), 404, 429 (límite superado), 500.
  • Buenas prácticas de la documentación: agrupa con /odds/multi; cachea las listas de eventos 5–10 min y las cuotas prepartido 30–60 s; usa WebSocket en vivo; aplica backoff exponencial ante 429.

https://docs.odds-api.io/llms-full.txt · https://docs.odds-api.io/api-reference/openapi.json

Los parámetros completos están en el inicio rápido de la documentación. Para Python, sigue la guía de la API de apuestas deportivas con Python; para comparadores, consulta la API de comparación de cuotas: 30 casas en una petición.

API de cuotas en vivo: streaming por WebSocket

WebSocket es la forma recomendada de obtener cuotas: conéctate a wss://api.odds-api.io/v3/ws, suscríbete por mercado y recibe cuotas, marcadores y estado en una sola conexión. Es un complemento de pago (2× el precio del plan en total).

  • Obligatorio: markets (p. ej. ML,Spread,Totals); opcional channels=odds,scores,status.
  • Filtros: sport (máx. 10), leagues (máx. 20), eventIds (máx. 50), status=live o prematch.
  • Reconecta con lastSeq para recuperar mensajes perdidos (retención de 24 horas); replayComplete=true añade un marcador de fin de recuperación.
  • Hasta 2 conexiones por clave; el cliente debe soportar permessage-deflate o recibirá HTTP 426.
  • Tipos de mensaje: welcome, created, updated, deleted, no_markets, score, status, resync_required. Un mensaje updated sustituye los mercados de esa casa para el evento; no los combines.
// npm i ws   (permessage-deflate is on by default in ws)
import WebSocket from "ws";
let lastSeq;
function connect() {
  const q = new URLSearchParams({ apiKey: process.env.ODDS_API_KEY,
    markets: "ML,Spread,Totals", sport: "football", status: "live" });
  if (lastSeq) q.set("lastSeq", lastSeq);
  const ws = new WebSocket("wss://api.odds-api.io/v3/ws?" + q);
  ws.on("message", (raw) => {
    const msg = JSON.parse(raw);
    if (msg.seq) lastSeq = msg.seq;
    if (msg.type === "updated") {
      // replace this bookmaker's stored markets for the event; do not merge
    }
  });
  ws.on("close", () => setTimeout(connect, 2000));
}
connect();

https://docs.odds-api.io/guides/websockets

API de cuotas en vivo: sondeo vs. WebSocket compara las tres estrategias de actualización. Las apuestas en vivo son las más sensibles a la latencia; el tutorial de stream de cuotas en vivo por WebSocket incluye el código completo.

Inicio rápido: tus primeras cuotas en 5 pasos

Suscríbete para obtener una clave, llama al endpoint sin autenticación /sports, busca eventos con /events y obtén precios con /odds; pasa a WebSocket cuando necesites baja latencia.

  1. Elige un plan — Elige un plan en odds-api.io/pricing (desde 49 £/mes); la clave de API llega por email.
  2. Prueba los endpoints sin autenticación — Llama a GET https://api.odds-api.io/v3/sports para listar deportes; no hace falta clave.
  3. Obtén eventos — GET /v3/events?apiKey=YOUR_API_KEY&sport=football&limit=10 para los próximos partidos de fútbol.
  4. Obtén cuotas — GET /v3/odds?apiKey=YOUR_API_KEY&eventId=…&bookmakers=Bet365,Unibet&markets=ML,Spread,Totals para obtener las cuotas.
  5. Pasa a tiempo real — Para baja latencia añade WebSocket y conéctate a wss://api.odds-api.io/v3/ws?apiKey=…&markets=ML,Spread,Totals.
# No key needed
curl -s --compressed "https://api.odds-api.io/v3/sports"

# Upcoming football events
curl -s --compressed "https://api.odds-api.io/v3/events?apiKey=$ODDS_API_KEY&sport=football&limit=10"

# Odds for one event from two books
curl -s --compressed "https://api.odds-api.io/v3/odds?apiKey=$ODDS_API_KEY&eventId=123456&bookmakers=Bet365,Unibet&markets=ML,Spread,Totals"
import os, requests
BASE = "https://api.odds-api.io/v3"
KEY = os.environ["ODDS_API_KEY"]

events = requests.get(f"{BASE}/events", params={
    "apiKey": KEY, "sport": "football", "league": "england-premier-league", "limit": 10}).json()
ids = ",".join(str(ev["id"]) for ev in events[:10])

# Up to 10 events in one request
odds = requests.get(f"{BASE}/odds/multi", params={
    "apiKey": KEY, "eventIds": ids, "bookmakers": "Bet365,Unibet", "markets": "ML"}).json()
for ev in odds:
    for book, markets in ev["bookmakers"].items():
        ml = next((m for m in markets if m["name"] == "ML"), None)
        if ml:
            o = ml["odds"][0]
            print(ev["home"], "v", ev["away"], book, o["home"], o.get("draw"), o["away"])
# pip install odds-api-io
from odds_api import OddsAPIClient
client = OddsAPIClient(api_key="YOUR_API_KEY")
events = client.get_events(sport="football", league="england-premier-league")
odds = client.get_event_odds(event_id=events[0]["id"], bookmakers="Bet365,SingBet,FanDuel")
{
  "mcpServers": {
    "odds-api": {
      "command": "npx",
      "args": ["-y", "odds-api-mcp-server"],
      "env": { "ODDS_API_KEY": "YOUR_API_KEY" }
    }
  }
}

Ejemplos prácticos: arbitraje, value bets, cuotas de cierre y comparación de cuotas (con código)

Los cuatro ejemplos usan solo endpoints y campos de la documentación oficial. Sustituye YOUR_API_KEY por tu clave y guárdala en una variable de entorno.

1. Escáner de arbitraje

/arbitrage-bets devuelve oportunidades cuyas patas están todas en tus casas, netas de comisiones de bolsa, con el reparto óptimo de un importe de 1000 unidades.

import os, requests
r = requests.get("https://api.odds-api.io/v3/arbitrage-bets", params={
    "apiKey": os.environ["ODDS_API_KEY"],
    "bookmakers": "Bet365,SingBet,Unibet",
    "sport": "football", "minProfit": 1, "includeEventDetails": "true"})
r.raise_for_status()
for arb in r.json()[:10]:
    ev = arb.get("event", {})
    print(f'{arb["profitMargin"]:.2f}%  {ev.get("home")} v {ev.get("away")}  {arb["market"]["name"]}')
    for s in arb["optimalStakes"]:      # split of totalStake (1000); scale to your bankroll
        print(f'   {s["bookmaker"]:<10} {s["side"]:<5} stake {s["stake"]:.2f} -> {s["potentialReturn"]:.2f}')

2. Filtro de value bets

/value-bets devuelve precios por encima de la línea justa en una casa; EV = probabilidad × cuota − 1. Este ejemplo conserva los 10 mejores con EV ≥ 3 %.

import os, requests
bets = requests.get("https://api.odds-api.io/v3/value-bets", params={
    "apiKey": os.environ["ODDS_API_KEY"], "bookmaker": "Bet365",
    "sport": "football", "includeEventDetails": "true"}).json()
top = sorted((b for b in bets if b["expectedValue"] >= 0.03),
             key=lambda b: b["expectedValue"], reverse=True)[:10]
for b in top:
    side = b["betSide"]
    print(f'EV {b["expectedValue"]*100:.1f}%  {b["event"]["home"]} v {b["event"]["away"]}'
          f'  {b["market"]["name"]} {side} @ {b["bookmakerOdds"][side]}')

3. Backtest de líneas de cierre (comparación de margen)

/historical/closing-lines devuelve cuotas de cierre de hasta 10 ligas y 366 días por llamada (planes de pago). Este ejemplo calcula el margen medio 1X2 de dos casas en la Premier League.

import os, requests, statistics
r = requests.get("https://api.odds-api.io/v3/historical/closing-lines", params={
    "apiKey": os.environ["ODDS_API_KEY"], "sport": "football",
    "leagues": "england-premier-league",
    "from": "2026-01-01T00:00:00Z", "to": "2026-05-31T23:59:59Z",
    "markets": "ML", "bookmakers": "Bet365,Unibet", "limit": 100})
margins = {}
for ev in r.json():                      # each item is shaped like /historical/odds
    for book, markets in ev.get("bookmakers", {}).items():
        ml = next((m for m in markets if m["name"] == "ML"), None)
        if not ml: continue
        o = ml["odds"][0]
        overround = sum(1 / float(o[k]) for k in ("home", "draw", "away")) - 1
        margins.setdefault(book, []).append(overround)
for book, xs in margins.items():
    print(f"{book}: {len(xs)} matches, average closing margin {statistics.mean(xs)*100:.2f}%")
# page through with skip=100, 200, ... for more events

4. Comparación de mejor precio

/odds/summary ofrece los precios mejor, medio, mediano, peor y justo (sin margen) por línea (plan Growth o superior), ideal para una tabla comparativa.

curl -s --compressed "https://api.odds-api.io/v3/odds/summary?apiKey=$ODDS_API_KEY&eventId=123456&markets=ML,Totals"
# per line: best / average / median / worst price and a de-vigged "fair" price

Más lecturas: qué son las apuestas de arbitraje, la calculadora de arbitraje, crear un bot de arbitraje en Python, la tutorial de value bets y closing line value y cuotas históricas y de cierre de Bet365.

SDK, MCP y herramientas de IA

SDK oficiales para Python y TypeScript y un servidor MCP con 25 herramientas; la documentación también publica llms.txt, llms-full.txt y una especificación OpenAPI para asistentes de programación con IA.

Python SDK

pip install odds-api-io

Node.js / TypeScript

npm i odds-api-io

Servidor MCP

npx -y odds-api-mcp-server

https://docs.odds-api.io/guides/sdks · https://docs.odds-api.io/ai-vibe-coding · https://docs.odds-api.io/llms.txt

El servidor MCP de cuotas permite a Claude y otros asistentes consultar cuotas directamente; hay un tutorial oficial de cuotas en vivo con Claude + MCP, y la documentación oficial de los SDK explica la instalación.

Precios (verificados el 2026-11-02)

Los cuatro planes solo se diferencian en el número de casas; todos incluyen 5.000 peticiones/hora, todos los deportes y mercados, prepartido y en vivo. El pago anual cuesta 10× el precio mensual.

Solo

£49/mo
anual 490 £
  • 2 casas
  • 5.000 peticiones/hora
  • Todos los deportes y mercados
  • Prepartido + en vivo
  • Soporte por email
Elegir Solo

Starter

£99/mo
anual 990 £
  • 5 casas
  • 5.000 peticiones/hora
  • Todos los deportes y mercados
  • Prepartido + en vivo
  • Soporte por email
Elegir Starter
Popular

Growth

£179/mo
anual 1.790 £
  • 10 casas
  • 5.000 peticiones/hora
  • Todos los deportes y mercados
  • Prepartido + en vivo
  • Soporte prioritario
Elegir Growth

Pro

£229/mo
anual 2.290 £
  • 15 casas
  • 5.000 peticiones/hora
  • Todos los deportes y mercados
  • Prepartido + en vivo
  • Soporte dedicado
Elegir Pro

Enlace de socio — podríamos recibir una comisión. Consulta nuestra divulgación de afiliados.

ConceptoPrecio / detalle
EnterpriseA medida: número de casas a elegir, peticiones ilimitadas, infraestructura dedicada, feeds y SLA personalizados
Complemento WebSocketOtra vez el precio del plan (2× en total), p. ej. +49 £/mes en Solo
Más peticiones10.000/h +139 £/mes · 20.000/h +229 £/mes · 30.000/h +309 £/mes
MonedasSe muestra en moneda local, incl. GBP, USD, EUR, BRL, CNY, JPY, KRW
PagoVisa, Mastercard, Amex, Apple Pay, Google Pay, PayPal; cripto vía CoinGate (más de 10 monedas; el anual solo con tarjeta)
Claves gratuitasNuevas claves gratuitas en pausa; las existentes: 100 peticiones/hora, 500/día

https://odds-api.io/pricing

Las nuevas claves gratuitas están en pausa; consulta la página oficial de la API de cuotas gratuita y el artículo sobre APIs de cuotas gratuitas en 2026. La página oficial de precios enlazada arriba es la referencia para los planes vigentes.

Comparación con otras formas de obtener cuotas

Hay tres vías habituales: hacer scraping de las webs de las casas, la API propia de una casa cuando existe, o una API agregada como Odds-API.io, que conecta muchas casas a la vez con los eventos ya emparejados.

AspectoScrapers propiosAPI de una sola casaOdds-API.io
IntegraciónDesarrollar y mantener por casaSolicitar e integrar por casaUna clave, un formato JSON
Emparejamiento de eventos/mercadosLo construyes túNo aplica (una casa)Emparejado entre casas
CoberturaSegún el esfuerzoSolo esa casaMás de 450, incl. bolsas y mercados de predicción
LatenciaSegún el sondeoVariablePush por WebSocket en milisegundos
HistóricoLo recopilas túNormalmente noCuotas históricas, líneas de cierre, movimientos
CosteServidores y personalVariableDesde 49 £/mes

Datos públicos frente a The Odds API

Cada columna cita solo la web de ese servicio tal como se mostraba el 2026-11-02; no se ha probado de forma independiente.

ConceptoOdds-API.io (odds-api.io)The Odds API (the-odds-api.com)
Modelo de facturaciónPlanes con 5.000 peticiones/hora fijasCréditos mensuales
Precio de entradaSolo 49 £/mes (2 casas)Gratis 500 créditos/mes; de pago desde 30 $/mes (20K créditos)
Planes superiores99 £ / 179 £ / 229 £ al mes59 $ (100K) / 119 $ (5M) / 249 $ (15M) al mes
Cobertura (según cada web)Más de 450 casas, 34 deportes, más de 12.000 ligasMás de 100 deportes, más de 100 casas
StreamingWebSocket (complemento de pago)No se menciona en la portada
OtrosServidor MCP, SDK Python/TS, endpoints de arbitraje/valueComplementos para Google Sheets y Excel; cuotas decimales y americanas

https://odds-api.io/pricing · https://the-odds-api.com/

odds-api.io también publica su propia comparación como alternativa a The Odds API, comparación con OpticOdds, comparación con BetsAPI y un artículo sobre alternativas tras el cierre de la API de Pinnacle (estas comparaciones son de la propia empresa).

Glosario

Catorce términos habituales al trabajar con datos de cuotas.

Cuota decimal
Retorno total por cada unidad apostada, incluida la apuesta. odds-api.io devuelve precios decimales como cadenas, p. ej. "2.10".
Probabilidad implícita
1 ÷ cuota decimal. 2,00 equivale al 50 %.
Overround (margen)
Cuánto superan el 100 % las probabilidades implícitas de todos los resultados: el margen de la casa.
Quitar margen / precio justo
Escalar las probabilidades implícitas para que sumen 100 %. El campo fair de /odds/summary usa la mediana de probabilidades sin margen.
Valor esperado (EV)
Definición de la documentación: EV = probabilidad × cuota − 1; un EV positivo indica una value bet.
Arbitraje (surebet)
Cuando los mejores precios entre casas suman menos del 100 %, repartir la apuesta asegura un retorno; impliedProbability < 1 en /arbitrage-bets.
Línea de cierre
El último precio antes del inicio, a menudo considerado el precio de mercado más eficiente.
Closing line value (CLV)
La diferencia entre tu precio y el de cierre; mide si has batido al mercado.
Casa sharp
Casa de límites altos que lidera el descubrimiento de precios; una casa «soft» es lo contrario.
Bolsa de apuestas
Plataforma donde los usuarios apuestan a favor y en contra entre sí (p. ej. Betfair Exchange) y la plataforma cobra comisión.
Cuotas en caída
Una bajada rápida del precio, a menudo por entrada de dinero o información; /dropping-odds mide caídas desde la apertura, 12 h, 24 h y 48 h.
Hándicap asiático
Hándicap sin empate, incluidas líneas de cuarto; en odds-api.io está dentro del mercado Spread.
Props de jugadores
Mercados sobre el rendimiento de un jugador, como tiros, asistencias o puntos.
En vivo
Mercados que se cotizan durante el partido; los precios cambian rápido, por lo que conviene WebSocket.

Más términos y herramientas: probabilidad implícita, value betting, guía de la API de hándicap asiático, la conversor de cuotas y el calculadora de margen de la casa.

Preguntas frecuentes

Dieciocho preguntas frecuentes sobre Odds-API.io, respondidas con la web y la documentación oficiales.

¿Qué es Odds-API.io?

Una API de cuotas de apuestas deportivas que unifica en un formato JSON las cuotas prepartido, en vivo e históricas de más de 450 casas, vía REST, WebSocket o MCP.

¿Hay prueba gratuita?

Las nuevas claves gratuitas están en pausa (las existentes siguen funcionando con 100 peticiones/hora y un máximo de 500/día). El plan más barato es Solo por 49 £/mes, cancelable en cualquier momento. /sports, /bookmakers y /markets no requieren clave.

¿En qué se diferencian los planes?

Solo en el número de casas: Solo 2, Starter 5, Growth 10, Pro 15. Todos incluyen 5.000 peticiones/hora, todos los deportes y mercados, prepartido y en vivo. /odds/summary requiere Growth o superior.

¿Cuánto cuesta WebSocket?

Es un complemento que cuesta otra vez el precio del plan, 2× en total, p. ej. +49 £/mes en Solo.

¿Hay límite de peticiones?

5.000 peticiones/hora en todos los planes, sin tope mensual; se puede subir a 10.000 (+139 £/mes), 20.000 (+229 £/mes) o 30.000 (+309 £/mes) por hora.

¿Qué deportes cubre?

34 deportes, entre ellos fútbol, baloncesto, tenis, fútbol americano, hockey sobre hielo, béisbol, críquet, eSports (CS2, LoL, Dota 2, Valorant…), dardos, snooker y golf.

¿Incluye Bet365?

Sí: prepartido y en vivo, props de jugadores, córners y tarjetas. La web indica que Bet365 no tiene API pública. El 2026-11-02 su página mostraba 16 deportes y 190 mercados.

¿Hay cuotas en vivo?

Sí. La mayoría de casas se cubren en vivo y prepartido, con marcador, reloj y estado.

¿REST o WebSocket?

La documentación recomienda WebSocket para la mayoría de apps (menor latencia, menos ancho de banda); REST sirve para scripts, consultas y cargas históricas. Caché sugerida: cuotas prepartido 30–60 s, listas de eventos 5–10 min.

¿Hay datos históricos para backtesting?

Sí: /historical/events, /historical/odds, /historical/closing-lines (de pago; hasta 10 ligas y 366 días por llamada) y /odds/movements.

¿Cómo funciona el endpoint de arbitraje?

Pasa tus casas a GET /arbitrage-bets; devuelve oportunidades cuyas patas están todas en ellas, ordenadas por profitMargin, netas de comisiones de bolsa y respetando los límites de apuesta publicados. Solo prepartido, se actualiza cada pocos segundos.

¿Puedo usar los datos comercialmente?

Puedes mostrarlos en tu propia web, app o herramienta, incluso de pago; revender o redistribuir el feed en bruto requiere un acuerdo empresarial.

¿Puedo cambiar de casas más adelante?

Sí. Elígelas en el panel y cámbialas después con la misma clave, o usa PUT /bookmakers/selected/select.

¿Soporta mercados de predicción?

Sí, incluidos Polymarket y Kalshi; /mappings enlaza los precios con los conditionId/ids de token CLOB de Polymarket o los tickers de Kalshi (planes de pago).

¿Funciona con asistentes de IA?

Sí. El servidor MCP oficial (npm odds-api-mcp-server) ofrece 25 herramientas a Claude, Codex y Cursor; la documentación incluye además llms.txt, llms-full.txt y una especificación OpenAPI.

¿Puedo pagar con cripto?

Sí. Elige Crypto al pagar: BTC, ETH, USDC, TRX, SOL, LTC y más (más de 10 monedas) vía CoinGate; las renovaciones llegan como factura con enlace de pago.

¿Cómo se envía la clave de API?

Como parámetro de consulta apiKey. La documentación aconseja guardarla en variables de entorno y llamar solo desde un backend.

¿Qué pasa si recibo un 429?

429 significa límite superado. Cada respuesta incluye las cabeceras x-ratelimit-limit / remaining / reset; aplica backoff exponencial y usa /odds/multi (10 eventos = 1 petición).

Programa de socios

El programa de socios de odds-api.io paga un 30 % de comisión recurrente de por vida; los clientes referidos obtienen un 30 % de descuento los 3 primeros meses; cookie de 90 días; pago mensual vía Dub por transferencia bancaria o USDC.

https://odds-api.io/partners

Las cuotas de todas las casas desde una sola API

Desde 49 £/mes; elige tus casas en el panel tras suscribirte.

Obtén tu clave de API →

Fuentes

Fuentes de cada cifra de esta página (consultadas el 2026-11-02):