Skip to Content

Eventos

Endpoint unificado para listar y buscar eventos con filtrado, paginación y búsqueda.

GET /api/v1/events

Este endpoint sustituye a los anteriores /schedule, /events/live y /events/search. Toda la funcionalidad de esos endpoints está ahora disponible aquí mediante parámetros de consulta. Consulta las Notas de migración más abajo.

Autenticación

Requiere una API key mediante la cabecera X-API-Key, la cabecera Authorization: Bearer o el parámetro de consulta api_key. Disponible para todos los planes.

Parámetros de consulta

ParámetroTipoPor defectoDescripción
sportstringtodosFiltra por deporte. Separados por comas para varios (p. ej., basketball,football)
leaguestringtodasFiltra por liga. Separadas por comas para varias (p. ej., nba,nfl)
sportsbookstringtodasFiltra por casa de apuestas (p. ej., draftkings,pinnacle)
livebooleantrue = solo en directo, false = solo previos al partido, omitir = ambos
has_scorebooleantrue = solo eventos con estado de partido en directo o marcadores
datestringFiltra por fecha en formato YYYY-MM-DD
teamstringFiltra por nombre de equipo (coincidencia parcial, sin distinguir mayúsculas, admite alias como lakers)
qstringConsulta de búsqueda que coincide con nombres de equipos o de eventos
limitinteger50Resultados por página (máx. 200)
offsetinteger0Desplazamiento de paginación (máx. 5000)

Los parámetros de consulta utilizan la forma singular y valores separados por comas para múltiples elementos: sport=basketball,football, no sports=basketball&sports=football.

Cabeceras de respuesta

Todas las respuestas incluyen cabeceras estándar de límite de peticiones (rate limit) y de metadatos:

CabeceraDescripción
X-RateLimit-LimitMáximo de peticiones por minuto para tu plan
X-RateLimit-RemainingPeticiones restantes en la ventana actual
X-RateLimit-ResetMarca de tiempo Unix de cuándo se reinicia la ventana del rate limit
X-Data-DelayRetardo de los datos para tu plan (p. ej., 0s, 60s)
X-Request-IdIdentificador único de la petición para depuración

Objeto Event

CampoTipoDescripción
idstringIdentificador canónico del evento — el mismo para cada casa de apuestas que cubra este evento. Úsalo como clave primaria para emparejamientos entre casas. Consulta Emparejamiento de eventos.
external_idsobjectMapa del ID de la casa de apuestas al ID nativo del evento de esa casa (p. ej., {"draftkings": "33483153"}). Úsalos para enlaces directos a las páginas de las casas de apuestas.
sportstringIdentificador del deporte (p. ej., basketball, football)
leaguestringSlug de la liga (p. ej., nba, nfl)
home_teamstringNombre del equipo local
away_teamstringNombre del equipo visitante
start_timestringHora de inicio del evento en ISO 8601
statusstringEstado del evento: upcoming o live
is_livebooleanIndica si el evento está en directo en este momento
book_countintegerNúmero de casas de apuestas con cuotas para este evento
marketsstring[]Array ordenado de los tipos de mercado disponibles (p. ej., ["moneyline", "point_spread", "total_points"])
booksstring[]Array ordenado de los IDs de las casas de apuestas con cuotas para este evento
game_stateobject | undefinedEstado del partido en directo (solo presente para eventos en directo con marcadores)

Objeto Game State

Se incluye cuando el evento está en directo y dispone de datos de marcador:

CampoTipoDescripción
home_scorenumberMarcador del equipo local
away_scorenumber | nullMarcador del equipo visitante
periodstring | nullPeriodo actual (p. ej., Q3, 2nd, 3rd Period)
clockstring | nullTiempo restante (p. ej., 5:42)
score_typestringTipo de marcador (p. ej., game_points, match)
possessionstring | nullEquipo en posesión (home o away)
is_timeoutboolean | nullIndica si hay un tiempo muerto en curso
power_playstring | nullInformación de superioridad numérica (home o away, hockey)
last_playstring | nullDescripción de la última jugada

Ejemplos de peticiones

Listar próximos eventos de NBA y NFL

curl -X GET "https://api.sharpapi.io/api/v1/events?sport=basketball,football&league=nba,nfl&limit=20" \ -H "X-API-Key: YOUR_API_KEY"

Obtener solo eventos en directo

curl -X GET "https://api.sharpapi.io/api/v1/events?live=true" \ -H "X-API-Key: YOUR_API_KEY"

Buscar un equipo

curl -X GET "https://api.sharpapi.io/api/v1/events?q=celtics" \ -H "X-API-Key: YOUR_API_KEY"

Filtrar por fecha y casa de apuestas

curl -X GET "https://api.sharpapi.io/api/v1/events?date=2026-02-08&sportsbook=draftkings,fanduel" \ -H "X-API-Key: YOUR_API_KEY"

Respuesta

Éxito (200)

{ "data": [ { "id": "evt_nba_bos_lal_20260208", "external_ids": { "draftkings": "33483200", "fanduel": "nba-bos-lal-20260208" }, "sport": "basketball", "league": "nba", "home_team": "Boston Celtics", "away_team": "Los Angeles Lakers", "start_time": "2026-02-08T19:30:00Z", "status": "upcoming", "is_live": false, "book_count": 6, "markets": ["moneyline", "point_spread", "total_points"], "books": ["betmgm", "caesars", "draftkings", "fanduel"] }, { "id": "evt_nba_gsw_mia_20260208", "external_ids": { "draftkings": "33483205" }, "sport": "basketball", "league": "nba", "home_team": "Golden State Warriors", "away_team": "Miami Heat", "start_time": "2026-02-08T22:00:00Z", "status": "upcoming", "is_live": false, "book_count": 5, "markets": ["moneyline", "point_spread", "total_points"], "books": ["betmgm", "draftkings", "fanduel"] } ], "meta": { "count": 2, "total": 43, "pagination": { "limit": 50, "offset": 0, "has_more": true, "next_offset": 50 }, "updated_at": "2026-02-08T12:00:00Z", "filters": { "sport": ["basketball"], "league": ["nba"] } } }

Respuestas de error

401 Unauthorized

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

400 Bad Request

{ "error": { "code": "validation_error", "message": "Invalid date format. Use YYYY-MM-DD.", "docs": "https://docs.sharpapi.io/en/api-reference/events" } }

429 Rate Limited

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Upgrade your tier for higher limits.", "docs": "https://docs.sharpapi.io/en/pricing" } }

Migración desde endpoints anteriores

Varias subrutas de eventos heredadas de versiones anteriores de la API se mantienen como señalizaciones de obsolescencia: al invocarlas se devuelve 410 Gone con una pista legible por máquina que apunta al endpoint correcto.

Ruta obsoletaUsa en su lugar
GET /events/search?q=celticsGET /events?q=celtics
GET /events/listGET /events
GET /events/allGET /events
GET /events/findGET /events

Estructura de la respuesta 410

{ "error": { "code": "unknown_endpoint", "message": "There is no /api/v1/events/search endpoint. Use GET /api/v1/events — results can be filtered with ?sport=, ?league=, and ?book= query parameters.", "correct_endpoint": "/api/v1/events", "docs": "https://docs.sharpapi.io/api-reference" } }

Las respuestas previas a la v1 utilizaban nombres de campo en camelCase (homeTeam, awayTeam, isLive, bookCount). La API v1 usa snake_case exclusivamente (home_team, away_team, is_live, book_count). Actualiza el código de tu cliente en consecuencia.

Cambios principales respecto a versiones anteriores

  • Los nombres de los campos están ahora en snake_case (p. ej., home_team en lugar de homeTeam)
  • La respuesta utiliza el sobre estándar data/meta en lugar de un array events en el nivel superior
  • Los parámetros de consulta usan la forma singular (sport en lugar de sports)
  • La URL base es https://api.sharpapi.io (no https://sharpapi.io)
  • La paginación incluye ahora los campos has_more y next_offset

Emparejamiento de eventos entre casas

El campo id es un identificador canónico de evento: el mismo evento del mundo real recibe el mismo id independientemente de la casa de apuestas de la que provenga. Úsalo como clave primaria al construir herramientas de comparación entre casas. El campo external_ids mapea cada casa de apuestas con su ID nativo del evento para enlaces directos.

Consulta Emparejamiento de eventos para conocer todos los detalles sobre cómo funcionan los IDs canónicos.

Endpoints relacionados

Last updated on