Skip to Content

Eventos

Endpoint unificado para listar e pesquisar eventos com filtragem, paginação e busca.

GET /api/v1/events

Este endpoint substitui os endpoints anteriores /schedule, /events/live e /events/search. Toda a funcionalidade desses endpoints agora está disponível aqui através de parâmetros de consulta. Veja as Notas de Migração abaixo.

Autenticação

Requer API key via header X-API-Key, header Authorization: Bearer ou parâmetro de consulta api_key. Disponível para todos os tiers.

Parâmetros de Consulta

ParâmetroTipoPadrãoDescrição
sportstringtodosFiltrar por esporte. Separados por vírgula para múltiplos (ex: basketball,football)
leaguestringtodasFiltrar por liga. Separados por vírgula para múltiplos (ex: nba,nfl)
sportsbookstringtodosFiltrar por sportsbook (ex: draftkings,pinnacle)
livebooleantrue = apenas ao vivo, false = apenas pré-jogo, omitir = ambos
has_scorebooleantrue = apenas eventos com estado de jogo/placar ao vivo
datestringFiltrar por data no formato YYYY-MM-DD
teamstringFiltrar por nome de equipe (correspondência parcial, sem distinção entre maiúsculas/minúsculas, suporta apelidos como lakers)
qstringConsulta de busca correspondendo a nomes de equipes ou nomes de eventos
limitinteger50Resultados por página (máx 200)
offsetinteger0Offset de paginação (máx 5000)

Os parâmetros de consulta usam a forma singular e valores separados por vírgula para múltiplos: sport=basketball,football, e não sports=basketball&sports=football.

Headers de Resposta

Todas as respostas incluem headers padrão de rate limit e metadados:

HeaderDescrição
X-RateLimit-LimitMáximo de requisições por minuto para o seu tier
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetTimestamp Unix de quando a janela de rate limit é reiniciada
X-Data-DelayAtraso de dados para o seu tier (ex: 0s, 60s)
X-Request-IdIdentificador único da requisição para depuração

Objeto Event

CampoTipoDescrição
idstringIdentificador canônico do evento — o mesmo para todos os sportsbooks que cobrem este evento. Use como sua chave primária para correspondência entre sportsbooks. Veja Correspondência de Eventos.
external_idsobjectMapa de ID do sportsbook para o ID nativo do evento naquele sportsbook (ex: {"draftkings": "33483153"}). Use estes para deep linking de volta às páginas dos sportsbooks.
sportstringIdentificador do esporte (ex: basketball, football)
leaguestringSlug da liga (ex: nba, nfl)
home_teamstringNome da equipe da casa
away_teamstringNome da equipe visitante
start_timestringHorário de início do evento em ISO 8601
statusstringStatus do evento: upcoming ou live
is_livebooleanSe o evento está atualmente ao vivo
book_countintegerNúmero de sportsbooks com odds para este evento
marketsstring[]Array ordenado dos tipos de mercado disponíveis (ex: ["moneyline", "point_spread", "total_points"])
booksstring[]Array ordenado de IDs de sportsbooks com odds para este evento
game_stateobject | undefinedEstado do jogo ao vivo (presente apenas para eventos ao vivo com placar)

Objeto Game State

Incluído quando o evento está ao vivo e tem dados de placar:

CampoTipoDescrição
home_scorenumberPlacar da equipe da casa
away_scorenumber | nullPlacar da equipe visitante
periodstring | nullPeríodo atual (ex: Q3, 2nd, 3rd Period)
clockstring | nullTempo restante (ex: 5:42)
score_typestringTipo de placar (ex: game_points, match)
possessionstring | nullEquipe com posse de bola (home ou away)
is_timeoutboolean | nullSe um timeout está em andamento
power_playstring | nullInformação de power play (home ou away, hóquei)
last_playstring | nullDescrição da última jogada

Exemplos de Requisições

Listar próximos eventos da NBA e 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"

Obter apenas eventos ao vivo

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

Pesquisar por uma equipe

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

Filtrar por data e sportsbook

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

Resposta

Sucesso (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"] } } }

Respostas de Erro

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" } }

Migração de Endpoints Anteriores

Vários sub-caminhos legados de eventos de versões anteriores da API são mantidos como sinalizadores de descontinuação — acessá-los retorna 410 Gone com uma dica legível por máquina apontando para o endpoint correto.

Caminho DescontinuadoUse no Lugar
GET /events/search?q=celticsGET /events?q=celtics
GET /events/listGET /events
GET /events/allGET /events
GET /events/findGET /events

Formato da Resposta 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" } }

Respostas pré-v1 usavam nomes de campos em camelCase (homeTeam, awayTeam, isLive, bookCount). A API v1 usa snake_case exclusivamente (home_team, away_team, is_live, book_count). Atualize o código do seu cliente conforme necessário.

Principais mudanças em relação às versões anteriores

  • Os nomes dos campos agora são snake_case (ex: home_team em vez de homeTeam)
  • A resposta usa o envelope padrão data/meta em vez de um array events no nível superior
  • Os parâmetros de consulta usam a forma singular (sport em vez de sports)
  • A URL base é https://api.sharpapi.io (não https://sharpapi.io)
  • A paginação agora inclui os campos has_more e next_offset

Correspondência de Eventos Entre Sportsbooks

O campo id é um identificador canônico de evento — o mesmo evento do mundo real recebe o mesmo id independentemente de qual sportsbook ele venha. Use-o como sua chave primária ao construir ferramentas de comparação entre sportsbooks. O campo external_ids mapeia cada sportsbook para seu ID nativo de evento para deep linking.

Veja Correspondência de Eventos para detalhes completos sobre como funcionam os IDs canônicos.

Endpoints Relacionados

Last updated on