Skip to Content
Referência da APIOdds de Fechamento por Data

Odds de Fechamento Históricas

Recupere as odds de fechamento capturadas para todos os eventos em uma data específica — o último preço pré-jogo de cada casa de apostas antes de o jogo ficar ao vivo, com probabilidades justas sem vig calculadas pelo método Power.

GET /api/v1/historical/odds/closing

Tier Sharp ou superior obrigatório. Os tiers Pro e inferiores recebem um erro 403 tier_restricted. Este endpoint é controlado pelo recurso closing_lines.

Janela de dados Fase 1: As linhas de fechamento são capturadas em tempo real nas transições isLive false→true. O Valkey retém 30 dias de dados. Solicitar uma data anterior a 30 dias retornará um resultado vazio.

AutenticaçãoPermalink for this section

Requer API key. Tier Sharp ou superior obrigatório (recurso closing_lines).

Parâmetros de ConsultaPermalink for this section

ParâmetroTipoObrigatórioDescrição
datestringSimData no formato YYYY-MM-DD (UTC).
sportstringSimIdentificador do esporte, por exemplo, basketball, football, ice_hockey.
leaguestringSimIdentificador da liga, por exemplo, nba, nfl, nhl.

Todos os três parâmetros são obrigatórios. A resposta é filtrada para eventos que correspondam exatamente ao esporte e liga na data UTC informada.

Janela de DatasPermalink for this section

O tier Sharp permite até 30 dias de retrospectiva. Solicitar uma data além da janela do seu tier retorna um erro 403 tier_restricted com o tamanho da janela permitida.

Exemplos de RequisiçõesPermalink for this section

# Linhas de fechamento da NBA para 10 de abril curl -X GET "https://api.sharpapi.io/api/v1/historical/odds/closing?date=2026-04-10&sport=basketball&league=nba" \ -H "X-API-Key: YOUR_API_KEY" # Linhas de fechamento da NFL curl -X GET "https://api.sharpapi.io/api/v1/historical/odds/closing?date=2026-04-06&sport=football&league=nfl" \ -H "X-API-Key: YOUR_API_KEY"

RespostaPermalink for this section

Sucesso (200)Permalink for this section

{ "success": true, "data": { "date": "2026-04-10", "sport": "basketball", "league": "nba", "events": [ { "event_id": "evt_nba_bos_mia_20260410", "sport": "basketball", "league": "nba", "home_team": "Boston Celtics", "away_team": "Miami Heat", "event_start_time": "2026-04-10T18:00:00Z", "first_captured_at": "2026-04-10T17:58:12.000000000Z", "books": [ { "book": "pinnacle", "captured_at": "2026-04-10T17:58:12.000000000Z", "lines": [ { "market_type": "moneyline", "selection": "Boston Celtics", "selection_type": "home", "line": null, "odds_american": -145, "odds_decimal": 1.690, "implied_probability": 0.5920, "no_vig_probability": 0.5813 }, { "market_type": "moneyline", "selection": "Miami Heat", "selection_type": "away", "line": null, "odds_american": 125, "odds_decimal": 2.250, "implied_probability": 0.4444, "no_vig_probability": 0.4187 }, { "market_type": "point_spread", "selection": "Boston Celtics", "selection_type": "home", "line": -3.5, "odds_american": -110, "odds_decimal": 1.909, "implied_probability": 0.5238, "no_vig_probability": 0.5000 } ] }, { "book": "draftkings", "captured_at": "2026-04-10T17:57:44.000000000Z", "lines": [ { "market_type": "moneyline", "selection": "Boston Celtics", "selection_type": "home", "line": null, "odds_american": -140, "odds_decimal": 1.714, "implied_probability": 0.5833, "no_vig_probability": 0.5730 }, { "market_type": "moneyline", "selection": "Miami Heat", "selection_type": "away", "line": null, "odds_american": 118, "odds_decimal": 2.180, "implied_probability": 0.4587, "no_vig_probability": 0.4270 } ] } ] } ], "total_events": 5, "total_lines": 48 }, "meta": { "source": "valkey:closing_line", "tier_window_days": 30, "filters": { "sport": "basketball", "league": "nba", "date": "2026-04-10" }, "updated_at": "2026-04-17T20:00:00.000000000Z" } }

Respostas de ErroPermalink for this section

400 Erro de Validação

{ "error": { "code": "validation_error", "message": "date parameter is required in YYYY-MM-DD format" } }

403 Tier Restrito (tier incorreto)

{ "error": { "code": "tier_restricted", "message": "The 'closing_lines' feature requires Sharp or higher.", "required_tier": "sharp", "docs": "https://docs.sharpapi.io/en/pricing" } }

403 Tier Restrito (data muito antiga)

{ "error": { "code": "tier_restricted", "message": "Your sharp plan allows historical data up to 30 days back", "tier": "sharp", "docs": "https://sharpapi.io/pricing" } }

Campos da RespostaPermalink for this section

Objeto dataPermalink for this section

CampoTipoDescrição
datestringA data solicitada (YYYY-MM-DD)
sportstringFiltro de esporte aplicado
leaguestringFiltro de liga aplicado
eventsarrayEventos com linhas de fechamento que correspondem à data, esporte e liga
total_eventsintegerNúmero de eventos na resposta
total_linesintegerNúmero total de linhas de fechamento individuais em todos os eventos e casas

Objeto EventPermalink for this section

CampoTipoDescrição
event_idstringIdentificador único do evento
sportstringEsporte
leaguestringLiga
home_teamstringNome do time da casa
away_teamstringNome do time visitante
event_start_timestringHorário de início agendado em ISO 8601
first_captured_atstringTimestamp ISO 8601 da primeira captura de linha de fechamento para este evento
booksarrayPayloads de linhas de fechamento por casa

Objeto BookPermalink for this section

CampoTipoDescrição
bookstringIdentificador da casa de apostas
captured_atstringTimestamp ISO 8601 de quando a linha de fechamento desta casa foi capturada
linesarrayArray de entradas de linha de fechamento para esta casa

Entrada de linha de fechamentoPermalink for this section

CampoTipoDescrição
market_typestringTipo de mercado: moneyline, point_spread, total_points, etc.
selectionstringRótulo da seleção (nome do time, Over/Under, jogador)
selection_typestringhome, away, over, under, etc.
linenumber|nullValor de spread ou total (-3.5, 220.5). null para moneylines.
player_namestringNome do jogador para player props (omitido caso contrário)
stat_categorystringTipo de estatística para player props (omitido caso contrário)
odds_americanintegerOdds americanas no fechamento
odds_decimalnumberOdds decimais no fechamento
implied_probabilitynumberProbabilidade implícita bruta (com vig)
no_vig_probabilitynumber|nullProbabilidade justa sem vig pelo método Power (0.0–1.0). Presente para mercados de 2 e 3 vias; null para mercados de seleção única.
timestampstringTimestamp ISO 8601 do registro de odds usado para captura

Objeto metaPermalink for this section

CampoTipoDescrição
sourcestringSempre "valkey:closing_line" (backend Fase 1)
tier_window_daysintegerMáximo de dias de retrospectiva para seu tier (Sharp = 30)
updated_atstringTimestamp ISO 8601 da resposta

Casos de UsoPermalink for this section

Análise de CLV: Compare valores de no_vig_probability entre as casas em relação à Pinnacle. Uma casa soft com no_vig_probability maior no favorito fechou mais frouxa — CLV positivo para apostadores que pegaram aquele lado.

Auditoria de line shopping: Recupere linhas de fechamento em todas as casas para entender onde havia valor disponível no fechamento.

Calibração de modelo: Use implied_probability e no_vig_probability como verdade histórica para calibrar seus próprios modelos de probabilidade.

Endpoints RelacionadosPermalink for this section

Last updated on