Melhores Odds
Obtenha as melhores odds disponíveis para cada seleção em todas as casas de apostas. Este endpoint compara as odds de todas as casas disponíveis no seu plano e retorna a linha mais favorável para cada seleção, juntamente com comparações por casa e cálculos de edge.
GET /api/v1/odds/bestAutenticação
Requer API key. Disponível em todos os planos.
Best Odds está disponível em todos os planos, incluindo o Free. As casas de apostas comparadas dependem do acesso a casas do seu plano (Free compara DraftKings e FanDuel; Sharp+ inclui Pinnacle).
Parâmetros de Query
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
sport | string | all | Filtrar por esporte(s), separados por vírgula (ex.: basketball, football) |
league | string | all | Filtrar por liga(s), separadas por vírgula (ex.: nba, nfl) |
market | string | all | Filtrar por tipo(s) de mercado, separados por vírgula (ex.: moneyline, spread, total). Suporta aliases de categoria — veja Odds: Aliases de Categoria de Mercado. |
event_id | string | — | Filtrar por ID(s) de evento, separados por vírgula |
is_live | boolean | — | true = apenas ao vivo, false = apenas pré-jogo, omitir = ambos |
min_odds | number | — | Filtro de odds americanas mínimas |
max_odds | number | — | Filtro de odds americanas máximas |
limit | integer | 50 | Máximo de resultados por página (máx. 200) |
offset | integer | 0 | Offset de paginação |
Odds desatualizadas (mais de 5 minutos para pré-jogo, 1 minuto para ao vivo) são excluídas automaticamente das comparações de melhores odds para evitar resultados enganosos.
is_main_line vs. market=main. is_main_line é avaliado por coorte (event, market_type, eixo de seleção) e resolvido por casa de apostas; o eixo de seleção é o jogador em props de jogador, o lado do time em mercados de handicap e de total de time, e a selection bruta nos demais casos. Marca de forma orientativa a linha principal dentro do próprio leque de cada mercado. Por isso mercados de período e de props retornam legitimamente linhas com is_main_line=true (ex.: a linha principal do primeiro tempo, ou a linha principal de cada jogador em um mercado de props). Normalmente várias linhas de um mesmo mercado são principais ao mesmo tempo, uma por eixo de seleção: Over e Under de um total são coortes distintas, assim como cada resultado de um mercado de combinação (ex.: resultado da partida + total de gols). ?is_main_line=true não é um filtro de “apenas linhas principais do jogo completo” nem uma garantia de unicidade. Para restringir os resultados às linhas principais do jogo completo (moneyline, handicap de jogo completo, total de jogo completo), use o alias de categoria ?market=main, opcionalmente combinado com ?is_main_line=true para também descartar as linhas alternativas dentro desses mercados.
Exemplos de Requisição
cURL
curl -X GET "https://api.sharpapi.io/api/v1/odds/best?league=nba&market=spread" \
-H "X-API-Key: YOUR_API_KEY"Resposta
Sucesso (200)
{
"success": true,
"data": [
{
"event_id": "evt_nba_lal_bos_20260126",
"event_name": "Los Angeles Lakers @ Boston Celtics",
"sport": "basketball",
"league": "nba",
"market_type": "spread",
"selection": "Boston Celtics",
"line": -6.5,
"best_odds": {
"american": -105,
"decimal": 1.952,
"odds_probability": 0.512
},
"best_book": "fanduel",
"all_books": [
{
"book": "fanduel",
"odds": { "american": -105, "decimal": 1.952 },
"edge": 0.007,
"line": -6.5
},
{
"book": "draftkings",
"odds": { "american": -110, "decimal": 1.909 },
"edge": 0.0,
"line": -6.5
},
{
"book": "betmgm",
"odds": { "american": -108, "decimal": 1.926 },
"edge": 0.003,
"line": -6.5
},
{
"book": "pinnacle",
"odds": { "american": -108, "decimal": 1.926 },
"edge": 0.003,
"line": -6.5
}
],
"timestamp": "2026-01-26T10:30:00.000Z"
}
],
"meta": {
"count": 1,
"total": 48,
"pagination": {
"limit": 50,
"offset": 0,
"has_more": false,
"next_offset": null
},
"updated_at": "2026-01-26T10:30:05.000Z",
"filters": {
"league": "nba",
"market": "spread"
}
}
}Cabeçalhos de Resposta
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 298
X-RateLimit-Reset: 1737853200
X-Data-Delay: 0
X-Request-Id: req_best_789xyzRespostas de Erro
401 Unauthorized
Se nenhuma chave for enviada, retorna missing_api_key; uma chave inválida retorna invalid_api_key.
{
"error": {
"code": "missing_api_key",
"message": "API key required. Pass via X-API-Key header, api_key query parameter, or Bearer token.",
"docs": "https://docs.sharpapi.io/en/authentication"
}
}429 Rate Limited
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded. Retry after 30 seconds.",
"docs": "https://docs.sharpapi.io/en/authentication#rate-limits"
}
}Schema do Objeto Best Odds
| Campo | Tipo | Descrição |
|---|---|---|
event_id | string | Identificador do evento |
event_name | string | Nome de exibição do evento (ex.: “Lakers @ Celtics”) |
sport | string | Slug do esporte |
league | string | Slug da liga |
market_type | string | Tipo de mercado (ex.: moneyline, spread, total) |
selection | string | Nome da seleção (nome do time, Over/Under) |
line | number | null | Valor da linha (para spreads/totals) |
best_odds | object | Melhores odds disponíveis em todas as casas |
best_odds.american | number | Melhor odd americana |
best_odds.decimal | number | Melhor odd decimal |
best_odds.probability | number | Probabilidade implícita das melhores odds |
best_book | string | ID da casa de apostas com as melhores odds |
all_books | array | Odds de todas as casas para esta seleção |
all_books[].book | string | ID da casa de apostas |
all_books[].odds | object | Objeto de odds (american, decimal) |
all_books[].edge | number | Edge sobre as piores odds disponíveis (pontos percentuais) |
all_books[].line | number | null | Linha nesta casa de apostas |
timestamp | string | Timestamp ISO 8601 da determinação das melhores odds |
player_name | string|undefined | Nome do jogador (apenas mercados de player prop) |
stat_category | string|undefined | Categoria estatística, ex.: points, rebounds (apenas mercados de player prop) |
Pinnacle é comumente usado como referência sharp. Quando o Pinnacle estiver disponível em all_books, você pode identificá-lo por book: "pinnacle" e comparar suas odds com casas soft para encontrar oportunidades +EV.
Por Que as Melhores Odds Importam
Encontrar as melhores odds disponíveis é a base de apostas esportivas lucrativas:
1. Line Shopping Economiza Dinheiro
A diferença entre -105 e -110 pode parecer pequena, mas se acumula dramaticamente ao longo do tempo:
| Odds | Aposta de $100 Vencedora | Taxa de Acerto para Breakeven |
|---|---|---|
| -115 | +$87 | 53,5% |
| -110 | +$91 | 52,4% |
| -105 | +$95 | 51,2% |
| +100 | +$100 | 50,0% |
2. Impacto a Longo Prazo
Em 1.000 apostas com taxa de acerto de 52%:
| Odds Consistentes | Resultado Líquido |
|---|---|
| -115 | -$44 de prejuízo |
| -110 | +$18 de lucro |
| -105 | +$80 de lucro |
3. Comparação de Edge
O campo edge em cada casa em all_books mostra o quanto melhores (ou piores) são as odds daquela casa em comparação com a pior linha disponível, ajudando você a quantificar o valor de comparar entre casas.
Endpoints Relacionados
- Snapshot de Odds - Obtenha odds brutas de casas de apostas individuais
- Delta de Odds - Obtenha apenas as odds que mudaram desde um determinado timestamp
- Comparação de Odds - Compare odds lado a lado entre casas
- Casas de Apostas - Veja quais casas estão disponíveis e seu status