Las cuotas de las casas italianas,
en una sola API

Cuotas normalizadas de decenas de casas — incluidas las italianas que las APIs globales no tienen — en un formato JSON estable. Para tus modelos, bots y herramientas.

● casas IT en ciclo continuo · frescura medida event_id estable · last_update por cuota self-serve · sin tarjeta

GET /api/v1/odds feed en vivo
# una petición, todas las cuotas de un evento
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" } ]}]}

Tres pasos para integrar las cuotas

01

Crea la clave

Regístrate y genera una clave odss_live en un minuto. El plan Free es para siempre, sin tarjeta.

02

Llama a /odds

Un endpoint, todas las cuotas cross-book por evento y mercado. Filtra por deporte, liga, mercado y casa.

03

Integra y sincroniza

event_id estable para reconocer eventos, last_update para la frescura, offset para leer todo el calendario.

El foso: las casas italianas.

Las casas ADM que las APIs globales no tienen

Decenas de operadores italianos con licencia ADM, más casas de referencia internacionales y exchanges. La lista activa en este momento está en /api/v1/bookmakers, con una clave API: ninguna lista de marcas que creer sobre la palabra. country, playable_it e is_exchange son campos de la respuesta, no parámetros de consulta: el endpoint no acepta ninguno.

GET /bookmakerskeycountryplayable_itis_exchange

Esquema estable

Un formato JSON público y versionado: la forma interna del motor nunca llega a tu código.

Integración fiable

event_id determinista durante toda la ventana prepartido, last_update ISO por casa, paginación con offset: sincronizaciones sin sorpresas.

Frescura honesta

Las casas italianas giran en ciclo continuo y la frescura real está medida y pública, casa por casa, en la status page; bet365 llega vía un proveedor de datos externo con licencia contractual, con cadencia de unos minutos. Cada cuota declara su last_update: nada de números caducados vestidos de live.

La comparación honesta.

Dónde estamos frente a las APIs globales y la media del mercado. Sin nombres, sin promesas.

Característica
odss-api
Media del mercado
Casas ADM italianas
Cobertura directa y verificable (/coverage público, /bookmakers con clave), frescura medida y pública (p50/p95 en /status).
Ausentes: cubren casas extranjeras (US/UK/offshore), ninguna casa ADM.
Cómo se paga
Por cuenta: cuota mensual + rate/min. Más casas o mercados por evento no suben el coste.
Por casa simultánea, o créditos mercados×regiones: el coste se dispara en multi-casa.
Cross-book
event_id determinista compartido por todos los mercados del partido: comparación nativa, sin matching heurístico.
A menudo cuotas propietarias o matching no determinista.
Frescura
last_update ISO a la vista, casa por casa: sabes cómo de reciente es cada pata.
A menudo no expuesta por casa individual.
Lista para agentes
OpenAPI 3.1, llms.txt, JSON-LD, /.well-known/api-catalog: un agente la encuentra y la lee solo.
Docs tras login o crawlers bloqueados, sin estándar agéntico.
Precio y alta
Tarifas públicas con Free tier; Enterprise self-serve configurable. Clave en un minuto.
Enterprise opaco y con ventas, o self-serve sin casas italianas.
Claves específicas
Restringibles por deporte/liga (p. ej. una clave «solo fútbol»), sin límite de número.
No documentado.

Comparación con la media de los proveedores globales/enterprise evaluados (jul 2026). Nuestro lado es verificable desde los endpoints públicos y la documentación.

Casas & ligas

Números en vivo, contados desde el feed ahora mismo — no un inventario de catálogo.

casas activas en el feed

deportes cotizados ahora

ligas en el tablero

La lista nominal de las casas activas en este momento está en GET /api/v1/bookmakers, con los campos country, playable_it, is_exchange y source: requiere una clave API (la Free se genera en un minuto, sin tarjeta). Sin clave son públicos GET /api/v1/leagues — de donde salen los recuentos de arriba — y GET /api/v1/coverage.

Las ligas en el tablero ahora

Datos en vivo del feed (endpoint público /api/v1/leagues): para cada deporte, las ligas cotizadas en este momento. Los nombres son los valores del filtro league.

No excluimos ninguna liga. Seguimos las principales casas ADM — la lista exacta está en /api/v1/bookmakers — y mostramos todo lo que cotizan: si una casa del feed cotiza un partido, lo ves aquí también — desde las grandes ligas europeas hasta divisiones menores y competiciones internacionales. Lo que aparece depende de la temporada y el momento: sin partidos, las casas no cotizan, así que no aparecen. La lista de abajo es el calendario de este momento.

Cargando el calendario…

El tablero sigue la temporada: en verano el fútbol de clubes es naturalmente menor.

Documentación

Base URL https://odss-api.com. Autentícate con la cabecera x-api-key: odss_live_… o Authorization: Bearer. Respuestas JSON, cuotas decimales europeas.

GET /api/v1/mock/odds sin clave

Cada endpoint tiene un gemelo bajo /api/v1/mock/ que responde ya, sin registrarte y sin consumir cuota: misma forma de respuesta, mismos parámetros, misma validación estricta que el feed real. Los precios son sintéticos — mock: true, cabecera X-Odss-Mock: 1, ids con prefijo mock_ — sirven para escribir y probar tu código, no para apostar.

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). El parámetro seed hace la respuesta reproducible: úsalo en CI en vez de gastar cuota en cada ejecución.

En el feed REAL también son públicos sin clave /api/v1/leagues, /api/v1/coverage y /api/v1/status.

Primera llamada en 3 pasos

01

Crea la clave

Regístrate y genera una clave en el panel. El plan Free es para siempre.

02

Lista los deportes

Verifica la clave con una llamada a /sports.

03

Pide las cuotas

Llama a /odds con deporte y mercado: recibes las cuotas cross-book.

GET /api/v1/odds ejemplo

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

Las cuotas cross-book actuales, agrupadas por evento, mercado y línea. Cada registro lista las casas con sus resultados y el timestamp de su última actualización.

Parámetros

ParámetroDescripción
sportFiltro exacto de deporte (ej. calcio, tennis, basket). Valores: ver /api/v1/sports.
marketMercado canónico: 1x2, ou, btts, dc, ah (hándicap asiático), eh (hándicap europeo), moneyline…
bookmakersLista CSV de claves de casa (ej. snai,bet365). Valores: ver /api/v1/bookmakers.
leagueFiltro por subcadena, sin distinguir mayúsculas (ej. serie a). Valores: ver /api/v1/leagues.
event_idUn solo evento, por id exacto.
stateprematch (por defecto), live (in-play, con marcador y minuto) o all (ambos). Con live, si el motor in-play está apagado la lista está vacía y live_enabled=false. Si la clave tiene un ámbito de feed (solo prematch o solo live), un state fuera del ámbito devuelve 403 y all degrada al estado permitido.
limitRegistros por página. Por defecto 500, máx. 2000.
offsetÍndice de inicio para la paginación. Por defecto 0.

Campos de la respuesta

CampoDescripción
countTotal de registros que cumplen los filtros (en todas las páginas).
offset · returnedEco del offset pedido y registros devueltos en esta página.
odds[].event_idId determinista del evento: idéntico para todos los mercados del mismo partido y estable durante toda la ventana prepartido.
odds[].eventNombre normalizado del evento (Local - Visitante).
odds[].sport · leagueDeporte y liga/competición del evento.
odds[].home_team · away_teamLos dos equipos, cuando están disponibles.
odds[].commence_timeInicio del evento, ISO 8601 UTC.
odds[].market · line · scope · periodMercado canónico, línea opcional (ej. 2.5), ámbito (ej. equipo) y periodo (ej. 1ª parte).
odds[].state · score · minutestate = prematch o live. Para el live: score (ej. "1-0") y minute (ej. "63'") actuales. Mismo event_id que el prematch → correlaciona el mismo partido en ambos estados.
…bookmakers[].keyClave de la casa, con country, playable_it e is_exchange.
…bookmakers[].outcomesMapa resultado → cuota decimal (ej. HOME: 2.10).
…bookmakers[].suspendedResultados que esa casa cotiza pero en los que ahora no acepta apuestas. No están en outcomes (un resultado suspendido no tiene precio jugable) y se nombran aquí, para que «la casa no ofrece este resultado» y «lo ofrece y está cerrado ahora» sigan siendo dos hechos distintos. Campo opcional, y su ausencia significa algo: si falta, la fuente de esa casa no declara el estado; [] significa leída y nada suspendido. No leas la ausencia como lista vacía.
…bookmakers[].last_updateTimestamp ISO de la última actualización correcta de esa casa.

Paginación

Repite la llamada aumentando offset en returned, mientras offset + returned < count. El tablero está vivo: count puede variar ligeramente entre páginas.

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

Los deportes disponibles ahora mismo en el feed (los valores del parámetro sport).

GET /api/v1/bookmakers

Las casas activas en el feed, con country (código ISO 3166-1 alpha-2 del país de licencia — IT, GB, US, SE… — o world cuando no está atribuido), playable_it (true solo para las casas con licencia ADM italiana, es decir jugables desde Italia: false para todas las demás del feed, desde referencias sharp como Pinnacle hasta las marcas extranjeras), is_exchange (comisión sobre la ganancia) y source (direct si leemos la casa nosotros, partner_feed si su listado nos llega de un proveedor de datos externo).

GET /api/v1/leagues público, sin clave

El calendario actual agregado: para cada deporte las ligas cotizadas, con número de eventos y de casas. Útil para descubrir valores del filtro league.

GET /api/v1/stream Pro y Enterprise

Server-Sent Events: un evento hello al conectar, luego eventos odds con los registros CAMBIADOS (mismo esquema que /odds, cada uno con su state) y los eliminados, en un máximo de ~10 segundos desde que el motor los detecta — sin polling. Parámetros opcionales sport y state (prematch|live|all); snapshot inicial vía GET /odds?state=…. La cadencia de los datos sigue siendo la del motor (frescura por casa medida en la status page; bet365 vía un proveedor de datos externo con licencia contractual): el stream elimina la latencia de polling, manda last_update. Máx. 3 streams concurrentes; la conexión cuenta como 1 petición de cuota.

GET /api/v1/odds/history

Histórico de cambios de cuota de un evento: una fila cada vez que una casa mueve un precio en un grupo. Filtros event_id (obligatorio), book, market, from/to (ISO), limit. Del más reciente: en un evento ya empezado la primera fila es su cierre. Respeta el ámbito de la clave.

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 calculados del feed actual: OVER en una línea baja en una casa, UNDER en una línea alta en otra. Si el total cae en la ventana ganan ambas apuestas. Campos middle_window, hit_return_pct, miss_return_pct, safe (sin pérdida ni fallando). Filtros: sport, min_return, safe, limit.

Regla de frescura: una cuota parada más de stale_after_seconds (900s por defecto) sigue en las respuestas de /odds con su last_update, pero no se empareja en un middle: una pata vieja probablemente ya no existe en la web de la casa. El umbral aplicado y las patas descartadas están en la respuesta.

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

GET /api/v1/coverage público, sin clave

Cuántas marcas de casas tienen una cuota válida en el feed de este momento, por región (Italia, USA, UK, mundo). No coincide con el número de entradas de /api/v1/bookmakers: allí se listan las claves consultables y las líneas de mercado dedicadas (p. ej. <marca>-corners) cuentan por separado, mientras que aquí se agrupan bajo la marca.

POST /api/mcp MCP

Servidor MCP (JSON-RPC 2.0) para agentes IA y conectores (Claude, ChatGPT…). Autenticación con la misma clave (Authorization: Bearer odss_live_… o x-api-key). Herramientas: get_odds (con state=live), list_sports, list_bookmakers, list_leagues. Solo tools/call consume cuota; el handshake es gratis. 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

Registra una URL (https) desde el panel o vía API — POST /api/account/webhooks con la sesión de cuenta (body {url, sport?, state?}; el secret se muestra una vez, máx. 20 por cuenta) — y recibe los cambios de cuota por POST — mismo payload {changed, removed} que el stream. Cada entrega va firmada: X-Odss-Signature: t=<unix>,v1=<hex> = HMAC-SHA256 de «{timestamp}.{body}» con el secreto (verifícala, rechaza timestamps viejos). Solo https, sin redirecciones; los endpoints que fallan se autodesactivan. Responde 2xx. Una entrega puede llegar en varios POST consecutivos, cada uno firmado por separado y numerado por la cabecera X-Odss-Page: página/total: cada cuerpo lleva page, pages, changed_total y removed_total, así desde la primera página ya sabes cuánto está llegando. No limites la frecuencia del endpoint: una página rechazada detiene las siguientes.

Límites, cabeceras y errores

Cada respuesta autenticada incluye X-RateLimit-Limit (cuota mensual del plan), X-RateLimit-Remaining y X-RateLimit-Reset (unix time en segundos en que la ventana se reabre; en el 429 por cuota la misma fecha está en el cuerpo como retry_at). La cuota es una ventana móvil de 30 días.

StatusDescripción
400Petición no válida: parámetro desconocido, valor fuera de los admitidos (ej. state) o parámetro obligatorio ausente (ej. event_id en /odds/history). El cuerpo de la respuesta dice cuál.
401Clave ausente, no válida o revocada.
403Fuera de ámbito: cuenta suspendida, feed fuera del ámbito de la clave (ej. live con clave solo-prematch) o función según el plan (stream: Pro y Enterprise; webhooks: Enterprise).
429Burst: superadas las peticiones por minuto del plan. Cabecera Retry-After: 60.
429Cuota mensual agotada: sube de plan o espera la ventana.
502Feed temporalmente no disponible: reintenta con backoff.

Parámetros: sin silencios

En todos los endpoints /api/v1, un parámetro que no reconocemos no se ignora nunca: si escribes bookmaker en lugar de bookmakers recibes 400 con el nombre equivocado, la lista de los admitidos en ese endpoint y, si es una errata, la sugerencia del nombre correcto. La comparación es exacta: incluso Sport con mayúscula inicial se rechaza. Los endpoints de catálogo (/sports, /bookmakers, /leagues, /coverage, /status) no aceptan ningún parámetro. Preferimos un error inmediato a una respuesta 200 con datos sin filtrar que parecen correctos: el 400 es determinista, hay que corregirlo y no reintentarlo, y no consume cuota.

La misma regla vale para los argumentos de las herramientas del servidor MCP (POST /api/mcp): un nombre que no existe, o un tipo equivocado como una lista en lugar de la cadena CSV, recibe un error JSON-RPC -32602 en vez de ignorarse. El campo error.data incluye los nombres admitidos, así el agente se corrige solo.

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 · contrato y agentes

Para generar clientes, SDKs o usar la API desde un agente IA: el contrato OpenAPI 3.1 y una guía breve para LLM son públicos y siempre sincronizados.

CampoDescripción
/openapi.jsonContrato OpenAPI 3.1 (endpoints, parámetros, esquemas, auth x-api-key).
/llms.txtGuía markdown para LLM (llmstxt.org): resumen y enlaces a recursos.
/postman_collection.jsonColección Postman: impórtala y define la variable x-api-key para probar los endpoints al momento.
/sdk/odss_api.pySDK de Python oficial (un solo archivo, sin dependencias): cliente tipado con paginación automática y soporte live.
/sdk/odss-api.tsSDK de TypeScript oficial (un solo archivo, sin dependencias): tipos, iterador async y helper para el stream SSE.
/.well-known/api-catalogCatálogo de API (RFC 9727, linkset JSON).

Licencia de uso

El uso interno (modelos, bots, análisis, backtests) está incluido en todos los planes. Redistribuir los datos — p. ej. mostrarlos a los usuarios finales de tu producto — requiere la licencia de Redistribución Display (complemento Enterprise, +120 €/mes), que cubre solo la visualización. Crear, alimentar o comercializar servicios de surebet/arbitraje, de value betting o equivalentes exige en cambio la Surebet API, el plan que incluye la licencia para revender las surebets calculadas: 950 €/mes + IVA, desde la web. Redistribuir la API o los datos brutos queda fuera de todos los planes: para eso, escribe a [email protected].

El plan adecuado para tu volumen.

La misma cobertura en todos los planes: solo pagas el volumen. Empieza gratis, cancela cuando quieras.

Free

Para explorar la API. Para siempre, sin tarjeta.

0para siempre
Empezar gratis
  • 500 peticiones / mes
  • 30 peticiones / min
  • Cobertura completa: todos los deportes y casas del feed

Hobby

Para proyectos personales y bots pequeños.

19/mes
+ IVA
Elegir Hobby
  • 10.000 peticiones / mes
  • 60 peticiones / min
  • Cobertura completa: todos los deportes y casas del feed
★ Más elegido

Starter

Para bots e integraciones en producción.

79/mes
+ IVA
Elegir Starter
  • 100.000 peticiones / mes
  • 120 peticiones / min
  • Cobertura completa: todos los deportes y casas del feed

Pro

Para plataformas y volúmenes altos.

159/mes
+ IVA
Elegir Pro
  • 500.000 peticiones / mes
  • 600 peticiones / min
  • Prioridad de asistencia

Enterprise

Para plataformas, empresas y revendedores: configura volumen, rate y licencia — el precio se actualiza solo y activas en el checkout, sin negociación.

199/mes
+ IVA
+€120

Te autoriza a mostrar los datos a los usuarios finales de tu producto — sitios, apps, paneles, widgets, comparadores (sin ella, el uso queda interno). No autoriza a crear ni comercializar servicios de surebet/arbitraje, value betting o plataformas equivalentes, ni a redistribuir la API o los datos brutos: para eso hace falta una licencia comercial dedicada. Lee la licencia →

  • Streaming SSE incluido (/api/v1/stream)
  • Cuota y rate configurados en tu cuenta
  • Activación automática al pagar, cancela cuando quieras

Al continuar aceptas la Licencia Enterprise y de Redistribución (legible desde el enlace de arriba) además de los Términos del servicio.

Los precios indicados no incluyen IVA. El impuesto aplicable se añade en el momento del pago según tu país y tu condición fiscal: 22% para Italia (también para empresas con NIF-IVA italiano); inversión del sujeto pasivo, impuesto 0, para empresas de otros Estados miembros de la UE con NIF-IVA válido; operación fuera del ámbito del IVA italiano para clientes de fuera de la UE. El importe total que pagas es el que muestra el resumen del checkout, que confirmas antes de realizar el pedido (§4 de los Términos) · Pagos vía Stripe · cancelación en un clic desde el portal · la cuota es una ventana móvil de 30 días

Tres niveles, un solo motor.

Las cuotas normalizadas son el primer nivel. Si el producto que quieres vender son los arbitrajes, el nivel que necesitas es otro: las surebets ya calculadas, con el derecho a revenderlas incluido en la suscripción.

Nivel 1 · self-serve

Odds API

Cuotas y datos normalizados. Del plan Free al Enterprise, precio público y activación inmediata.

Nivel 2 · self-serve

Surebet API

Las surebets ya identificadas y calculadas por el motor, actualizadas cada 180 segundos, no solo las cuotas. Un plan API de 950 €/mes + IVA, con la licencia de reventa incluida.

Nivel 3 · por contrato

Surebet White Label

La plataforma completa, con tu marca, lista para comercializar. 2.000 €/mes + IVA.

Licencia de reventa incluida

Surebet API

Para quien construye encima un producto propio. No devuelve solo las cuotas: devuelve las surebets ya identificadas y calculadas por nuestro motor, actualizadas cada 180 segundos. Si no tienes a quien revenderlas no te hace falta: te basta con surebett.app.

950 €al mes, sin IVA. Un solo precio: la licencia para revender las surebets calculadas a tus usuarios está incluida en la suscripción. Es un plan API como Starter y Pro — una clave, su cuota, su rate — mensual, y se cancela con un clic desde el portal de facturación. Si tienes un código promocional, lo introduces en el checkout.

Activación al efectuar el pago, baja en un clic desde el portal. Es un plan aparte y no se suma a un plan del listado: si la cuenta ya tiene uno de pago activo, hay que darlo de baja antes. Al continuar suscribes la Surebet API Commercial License, dentro de los límites del uso que has declarado arriba, y aceptas los Términos del servicio (§5).

  • Evento y mercado
  • Casas implicadas y cuotas de cada pata
  • Porcentaje/margen de arbitraje
  • Stakes óptimos
  • Timestamp y frescura de las cuotas
  • Identificadores necesarios para la integración

Los campos indicados son los previstos donde estén disponibles: la respuesta contiene lo que el motor ha calculado realmente para ese evento. La licencia de reventa está incluida en la suscripción: puedes usar las surebets calculadas en un producto comercial tuyo, destinado a tus usuarios finales, dentro de los límites del uso declarado y de los Términos. No incluye el White Label, que sigue siendo un contrato aparte.

Plataforma como servicio

Surebet White Label

Para las empresas que no quieren desarrollar la plataforma por su cuenta: la Surebet completa, entregada como servicio con tu marca.

2.000 €al mes, sin IVA. Activación y duración según el contrato White Label.
Solicita una demo White Label
  • Motor Surebet
  • Datos y actualizaciones
  • Frontend completo
  • Personalización de logo, nombre y colores
  • Hosting e infraestructura
  • Mantenimiento y actualizaciones

El software, el motor y el código fuente siguen siendo de nuestra propiedad y se conceden en uso según el contrato White Label.

La licencia «Redistribución Display» de los planes API te autoriza a mostrar las cuotas dentro de tu producto: no autoriza a crear ni comercializar servicios de surebet/arbitraje, value betting o plataformas sustancialmente equivalentes, ni a redistribuir la API o los datos brutos. Para esos usos hacen falta la Surebet API Commercial License o el contrato White Label — véanse las licencias comerciales y los Términos, §5.

Preguntas frecuentes.

¿Puedo usar los datos en un producto comercial (SaaS)?

El uso interno — tus modelos, bots, análisis, herramientas — está incluido en todos los planes. Mostrar los datos a los usuarios finales de tu producto requiere la licencia de Redistribución Display (complemento Enterprise): autoriza solo la visualización. Si el producto que quieres vender son las surebets — arbitraje, value betting o servicios equivalentes — hace falta la Surebet API, que se compra en la web como cualquier plan API: 950 €/mes + IVA, con la licencia para revenderlas incluida en la suscripción y la declaración de uso obligatoria antes del pago. Si no tienes a quien revender no te hace falta: te basta con surebett.app. La plataforma completa con tu marca sigue siendo el White Label, por contrato — véase Surebet API y White Label.

¿Cada cuánto se actualizan las cuotas?

Las casas italianas en ciclo continuo — la frescura REAL, medida casa por casa (p50/p95), es pública en la status page; bet365 llega vía un proveedor de datos externo con licencia contractual, con cadencia de unos minutos. No hace falta que nos creas: cada cuota de la respuesta lleva su last_update.

¿Hay prueba de los planes de pago?

El plan Free es para siempre y tiene la misma cobertura que los planes de pago: es la mejor forma de verificar los datos. Si necesitas más volumen para una evaluación, escribe a [email protected].

¿En qué se diferencia de surebett.app?

Mismo motor, dos productos: odss-api vende las cuotas en bruto normalizadas para construir encima; surebett.app es el producto final, con los arbitrajes ya calculados y stakes equilibrados.

¿Existe una API para las cuotas de las casas italianas con licencia ADM?

Sí: la API expone las cuotas de las casas italianas presentes en el feed, filtrables con el parámetro bookmakers. La lista activa en este momento está en GET /api/v1/bookmakers, que requiere una clave API (la Free se genera en un minuto, sin tarjeta); sin clave son públicos /api/v1/leagues y /api/v1/coverage. Cada cuota lleva su last_update.

¿Puedo exportar las cuotas a una base de datos o a Excel?

Sí: la API devuelve JSON estándar, así que va directa a Postgres, SQLite, pandas o Google Sheets. Con los SDK de Python y TypeScript bastan pocas líneas; el plan Free (500 peticiones/mes) alcanza para probar, sin tarjeta.

¿Cuánto cuesta una API de cuotas deportivas?

Aquí: Free 500 peticiones/mes sin tarjeta, Hobby 19 €/mes + IVA (10.000), Starter 79 €/mes + IVA (100.000), Pro 159 €/mes + IVA (500.000), Enterprise desde 199 € + IVA. Todos los importes no incluyen IVA: a un particular italiano se le añade el 22%. A las empresas de otros Estados miembros de la UE con NIF-IVA válido se les aplica la inversión del sujeto pasivo (impuesto 0); para clientes de fuera de la UE la operación está fuera del ámbito del IVA italiano. El total siempre aparece en el resumen del checkout, que confirmas antes del pedido (§4 de los Términos). Misma cobertura en todos los planes: solo pagas el volumen.

¿Las cuotas son en tiempo real?

Las casas italianas van en ciclo continuo y la frescura se mide, no se promete: p50 y p95 de las últimas 24 h son públicos en la status page, casa por casa. Streaming SSE para push; el live tiene su propio feed.

¿Has olvidado la contraseña?