Skip to Content
Referência da APILinha de Fechamento

Linha de Fechamento

Retorna o snapshot da linha de fechamento para um evento — as odds por book capturadas no momento em que cada sportsbook alterou o evento de pré-jogo para ao vivo. O endpoint é a fonte canônica para análise de closing-line value (CLV) em apostas feitas antes do início da partida.

GET /api/v1/odds/closing

Cada sportsbook é capturado de forma independente na primeira vez em que faz a transição de um determinado evento para is_live=true. Os snapshots capturados ficam no Valkey por 48 horas após o início do evento. Após esse período, utilize /api/v1/historical/odds/closing (Enterprise, com suporte do ClickHouse).

Autenticação

Requer API key. Disponível para os tiers Pro, Sharp e Enterprise (recurso closing_line).

Parâmetros de Consulta

ParâmetroTipoPadrãoDescrição
event_idstringobrigatórioIdentificador do evento. Mesmos IDs de /api/v1/events.
sportsbookstringtodosFiltro de books separado por vírgula (ex.: draftkings,fanduel). books= é aceito como alias legado.

event_id é obrigatório. Omiti-lo retorna 400 validation_error. Caracteres inválidos no valor também retornam 400 validation_error.

Exemplos de Requisições

curl -X GET "https://api.sharpapi.io/api/v1/odds/closing?event_id=mlb_athletics_mariners_2026-04-22" \ -H "X-API-Key: YOUR_API_KEY"

Resposta

{ "success": true, "data": { "event_id": "mlb_athletics_mariners_2026-04-22", "sport": "baseball", "league": "mlb", "home_team": "Seattle Mariners", "away_team": "Athletics", "event_start_time": "2026-04-22T22:10:00Z", "captured_at": "2026-04-22T22:09:58.412Z", "books": { "draftkings": [ { "sportsbook": "draftkings", "market_type": "moneyline", "selection": "Seattle Mariners", "selection_type": "home", "odds_american": -165, "odds_decimal": 1.606 }, { "sportsbook": "draftkings", "market_type": "spread", "selection": "Seattle Mariners", "selection_type": "home", "line": -1.5, "odds_american": 130, "odds_decimal": 2.30 } ], "pinnacle": [ { "sportsbook": "pinnacle", "market_type": "moneyline", "selection": "Seattle Mariners", "selection_type": "home", "odds_american": -158, "odds_decimal": 1.633 } ] } }, "meta": { "source": "valkey", "updated_at": "2026-04-22T17:34:54.692Z" } }

Resposta Vazia

Se nenhum snapshot de fechamento tiver sido capturado (o evento ainda não começou, ou o ID do evento não tem capturas dentro da janela de 48h), a resposta retorna um objeto books vazio:

{ "success": true, "data": { "event_id": "mlb_athletics_mariners_2026-04-22", "books": {} }, "meta": { "source": "valkey", "updated_at": "2026-04-22T17:34:54.692Z" } }

Campos da Resposta

CampoTipoDescrição
data.event_idstringIdentificador do evento ecoado da requisição.
data.sportstringEsporte (ex.: baseball). Vazio quando não houver capturas.
data.leaguestringLiga (ex.: mlb). Vazio quando não houver capturas.
data.home_team, data.away_teamstringNomes dos times. Vazios quando não houver capturas.
data.event_start_timestringHorário de início agendado em ISO 8601.
data.captured_atstringTimestamp ISO 8601 da primeira captura (o primeiro book a alterar o evento para ao vivo).
data.booksobjectMapa book_id → ClosingOdd[]. {} vazio se nada foi capturado.

Estrutura de ClosingOdd

CampoTipoDescrição
sportsbookstringIdentificador do book (minúsculas).
market_typestringex.: moneyline, spread, total, player_prop.
selectionstringRótulo da seleção (ex.: nome do time, nome do jogador, over, under).
selection_typestringhome, away, over, under, etc.
linenumber?Linha do spread ou total, quando aplicável. Omitido em moneylines.
odds_americanintegerOdds em formato americano no momento da captura.
odds_decimalnumberOdds em formato decimal (3 casas decimais).
player_namestring?Presente em player props.
stat_categorystring?Categoria de estatística (points, rebounds, etc.) para player props.

Cache

As respostas são armazenadas em cache na edge por 30s (s-maxage=30) e no cliente por 10s (max-age=10). Snapshots de fechamento não mudam após a captura, então isso é seguro.

Códigos de Erro

StatusCódigoSignificado
400validation_errorevent_id ausente ou malformado.
401missing_api_key / invalid_api_keyVeja Autenticação.
403tier_restrictedTier abaixo de Pro.
503not_readyA captura da linha de fechamento não está disponível no momento (ex.: armazenamento de apoio inacessível). Tente novamente.

Relacionados

Last updated on