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/closingTier Enterprise obrigatório. Este endpoint é controlado pelo recurso history, disponível apenas no tier Enterprise. Tiers inferiores recebem um erro 403 tier_restricted.
As linhas de fechamento são capturadas em tempo real nas transições is_live false→true e persistidas no ClickHouse. Não há limite de janela móvel — o histórico completo está disponível (meta.tier_window_days é "unlimited").
Autenticação
Requer API key. Tier Enterprise obrigatório (recurso history).
Parâmetros de Consulta
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
date | string | Sim | Data no formato YYYY-MM-DD (UTC). |
sport | string | Sim | Identificador do esporte, por exemplo, basketball, football, ice_hockey. |
league | string | Sim | Identificador 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 Datas
Não há limite de retrospectiva: a janela de histórico do Enterprise é ilimitada (meta.tier_window_days é "unlimited").
Exemplos de Requisições
cURL
# 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"Resposta
Sucesso (200)
{
"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": "clickhouse",
"tier_window_days": "unlimited",
"filters": {
"sport": "basketball",
"league": "nba",
"date": "2026-04-10"
},
"updated_at": "2026-04-17T20:00:00.000000000Z"
}
}Respostas de Erro
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": "This endpoint requires Enterprise tier or higher",
"required_tier": "enterprise",
"docs": "https://docs.sharpapi.io/en/pricing"
}
}Campos da Resposta
Objeto data
| Campo | Tipo | Descrição |
|---|---|---|
date | string | A data solicitada (YYYY-MM-DD) |
sport | string | Filtro de esporte aplicado |
league | string | Filtro de liga aplicado |
events | array | Eventos com linhas de fechamento que correspondem à data, esporte e liga |
total_events | integer | Número de eventos na resposta |
total_lines | integer | Número total de linhas de fechamento individuais em todos os eventos e casas |
Objeto Event
| Campo | Tipo | Descrição |
|---|---|---|
event_id | string | Identificador único do evento |
sport | string | Esporte |
league | string | Liga |
home_team | string | Nome do time da casa |
away_team | string | Nome do time visitante |
event_start_time | string | Horário de início agendado em ISO 8601 |
first_captured_at | string | Timestamp ISO 8601 da primeira captura de linha de fechamento para este evento |
books | array | Payloads de linhas de fechamento por casa |
Objeto Book
| Campo | Tipo | Descrição |
|---|---|---|
book | string | Identificador da casa de apostas |
captured_at | string | Timestamp ISO 8601 de quando a linha de fechamento desta casa foi capturada |
lines | array | Array de entradas de linha de fechamento para esta casa |
Entrada de linha de fechamento
| Campo | Tipo | Descrição |
|---|---|---|
market_type | string | Tipo de mercado: moneyline, point_spread, total_points, etc. |
selection | string | Rótulo da seleção (nome do time, Over/Under, jogador) |
selection_type | string | home, away, over, under, etc. |
line | number|null | Valor de spread ou total (-3.5, 220.5). null para moneylines. |
player_name | string | Nome do jogador para player props (omitido caso contrário) |
stat_category | string | Tipo de estatística para player props (omitido caso contrário) |
odds_american | integer | Odds americanas no fechamento |
odds_decimal | number | Odds decimais no fechamento |
implied_probability | number | Probabilidade implícita bruta (com vig) |
no_vig_probability | number|null | Probabilidade 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. |
timestamp | string | Timestamp ISO 8601 do registro de odds usado para captura |
Objeto meta
| Campo | Tipo | Descrição |
|---|---|---|
source | string | Armazenamento subjacente — "clickhouse" |
tier_window_days | string | Janela de retrospectiva — "unlimited" no Enterprise |
updated_at | string | Timestamp ISO 8601 da resposta |
Casos de Uso
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 Relacionados
- Closing Line Value (CLV) — Agregações de CLV% agrupadas por casa de apostas, esporte, liga ou dia
- Snapshot de Odds — Odds atuais em tempo real
- Oportunidades +EV — Apostas com valor esperado positivo em tempo real