Skip to Content
Referencia de la APIDelta de cuotas

Delta de Cuotas

Obtén solo las cuotas que han cambiado desde una marca de tiempo dada. Este endpoint devuelve el mismo formato de cuotas que /odds pero filtrado a los elementos actualizados después de tu valor since, lo que lo hace ideal para clientes de polling que desean actualizaciones incrementales sin volver a obtener la instantánea completa.

GET /api/v1/odds/delta

Autenticación

Requiere API key. Disponible para todos los planes.

Utiliza el server_time de cada respuesta como valor since para tu siguiente solicitud. Esto garantiza que nunca pierdas actualizaciones ni recibas duplicados.

Parámetros de Consulta

ParámetroTipoPredeterminadoDescripción
sincestringobligatorioMarca de tiempo ISO 8601. Devuelve solo cuotas actualizadas después de este momento (p. ej., 2026-02-11T12:00:00Z)
sportsbookstringtodosIDs de casas de apuestas separados por comas (p. ej., draftkings,fanduel)
sportstringtodosFiltrar por deporte (p. ej., basketball, football)
leaguestringtodasFiltrar por liga (p. ej., nba, nfl)
marketstringtodosFiltrar por tipo de mercado (p. ej., moneyline, spread, total). Admite alias de categoría — consulta Cuotas: Alias de Categoría de Mercado.
eventstring-Filtrar por ID de evento
livebooleanfalseDevolver solo eventos en vivo/in-play
sortstring-Campo de ordenación con prefijo - opcional para descendente (p. ej., -odds_american, odds_probability)
fieldsstringtodosNombres de campos separados por comas a incluir (p. ej., id,sportsbook,odds_american)
min_oddsnumber-Filtro de cuotas americanas mínimas (p. ej., -110)
max_oddsnumber-Filtro de cuotas americanas máximas (p. ej., +200)
statestringCódigo de estado de EE. UU. para enlaces directos (deep links) de casas de apuestas (p. ej., nj, ny, il). Cuando se establece, las URLs deep_link incluyen ?state=XX para que la redirección apunte al dominio específico de la casa de apuestas para ese estado.
limitinteger50Máximo de resultados por página (máx. 500)
offsetinteger0Desplazamiento de paginación. Debe ser ≤ 500. Para cambios anteriores, avanza since al server_time de la respuesta previa en lugar de usar offset.

El parámetro since es obligatorio. Omitirlo devuelve un error 400 validation_error.

since tiene una ventana de retención de 10 minutos para eliminaciones. Las eliminaciones de cuotas con más de 10 minutos de antigüedad se eliminan de la memoria. Si envías un since anterior a eso, el array data aún respeta tu marca de tiempo, pero la lista removed solo puede contener cuotas eliminadas en los últimos 10 minutos — y se establecerá since_clamped: true en la respuesta. Avanza since con la cadencia indicada en la sección Patrón de Polling más abajo para evitar esto.

Ejemplos de Solicitudes

# Obtener todos los cambios de cuotas en los últimos 30 segundos curl -X GET "https://api.sharpapi.io/api/v1/odds/delta?since=2026-02-11T12:00:00Z&league=nba" \ -H "X-API-Key: YOUR_API_KEY"

Respuesta

Éxito (200)

{ "success": true, "data": [ { "id": "draftkings_33483153_moneyline_PHO", "sportsbook": "draftkings", "event_id": "33483153", "sport": "basketball", "league": "nba", "home_team": "PHI 76ers", "away_team": "PHO Suns", "market_type": "moneyline", "selection": "PHO Suns", "selection_type": "away", "odds_american": -150, "odds_decimal": 1.667, "odds_probability": 0.60, "line": null, "event_start_time": "2026-02-11T19:00:00Z", "last_seen_at": "2026-02-11T12:00:15.125Z", "is_live": false, "status": "upcoming" } ], "meta": { "count": 1, "total": 1, "server_time": "2026-02-11T12:00:20.000Z", "books_changed": ["draftkings"], "pagination": { "limit": 50, "offset": 0, "has_more": false, "next_offset": null }, "filters": { "since": "2026-02-11T12:00:00Z", "league": "nba" } } }

Cabeceras de Respuesta

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 299 X-RateLimit-Reset: 1737853200 X-Data-Delay: 0 X-Request-Id: req_delta_abc123

Respuestas de Error

400 Falta el parámetro since

{ "error": { "code": "validation_error", "message": "The 'since' parameter is required for the delta endpoint", "docs": "https://docs.sharpapi.io/en/api-reference/odds-delta" } }

400 Offset demasiado grande

{ "error": { "code": "offset_too_large", "message": "offset must be <= 500; advance `since` to the previous response's `updated_at` to retrieve older changes", "max_offset": 500 } }

401 No autorizado

{ "error": { "code": "unauthorized", "message": "Invalid or missing API key", "docs": "https://docs.sharpapi.io/en/authentication" } }

Esquema de Respuesta del Delta

El array data contiene los mismos objetos de cuotas que el endpoint /odds. Solo se incluyen las cuotas actualizadas después de la marca de tiempo since.

El objeto meta incluye dos campos adicionales:

CampoTipoDescripción
meta.server_timestringMarca de tiempo del servidor en ISO 8601. Úsala como valor since para tu siguiente solicitud
meta.books_changedarrayLista de IDs de casas de apuestas que tuvieron actualizaciones en este delta

Indicadores de Truncado y Acotación

Aparecen dos indicadores booleanos opcionales de nivel superior solo cuando el servidor ha tenido que aplicar un límite de seguridad a la respuesta. Los clientes que se comportan correctamente y hacen polling a la cadencia recomendada nunca los ven.

CampoTipoDescripción
removed_truncatedbooleanPresente y true cuando el array removed ha alcanzado el tope de 1000 entradas del servidor. Hay más cuotas eliminadas que el servidor no ha incluido. Normalmente significa que tu since es demasiado antiguo o tus filtros son demasiado amplios — reduce la ventana o el conjunto de filtros y vuelve a hacer polling.
since_clampedbooleanPresente y true cuando since era anterior a la retención de eliminaciones de 10 minutos del servidor. El array data aún respeta tu since original, pero removed queda restringido a las eliminaciones de los últimos 10 minutos. Avanza since a meta.server_time en cada llamada para evitarlo.

Patrón de Polling

El patrón de polling recomendado utiliza server_time para encadenar solicitudes:

  1. Realiza una solicitud inicial con since establecido a una marca de tiempo reciente
  2. Lee meta.server_time de la respuesta
  3. Usa ese server_time como valor since en tu siguiente solicitud
  4. Repite en el intervalo deseado (p. ej., cada 5 segundos)

Esto garantiza:

  • Sin huecos - server_time es el reloj del servidor, por lo que no perderás actualizaciones debido a desfases de reloj
  • Sin duplicados - cada ventana de delta no se solapa con las demás
  • Carga útil mínima - solo se devuelven las cuotas que han cambiado

Si ninguna cuota ha cambiado desde tu marca de tiempo since, la respuesta tendrá un array data vacío y count: 0. Esto es normal y esperado durante períodos de poca actividad.

Endpoints Relacionados

Last updated on