Skip to Content

Oportunidades de Low Hold

Encontre mercados com o menor vig (hold) entre sportsbooks — as linhas mais apertadas disponíveis.

GET /api/v1/opportunities/low_hold

AutenticaçãoPermalink for this section

Requer chave de API. Tier Pro ou superior obrigatório. Sua conta deve ter o recurso low_hold habilitado.

Mudança incompatível: O campo game_state (placar/período/relógio) foi removido desta resposta. O estado ao vivo do jogo agora é servido exclusivamente pelo endpoint Game State e pelo canal de stream gamestate. Faça o join das linhas com o estado do jogo por event_id.

Parâmetros de QueryPermalink for this section

ParâmetroTipoPadrãoDescrição
sportstringtodosFiltrar por esporte(s), separados por vírgula (ex: basketball, football)
leaguestringtodasFiltrar por liga(s), separadas por vírgula (ex: nba, nfl, nhl)
sportsbookstringpermitidos pelo tierFiltrar por sportsbook(s), separados por vírgula. Limites do tier são aplicados.
marketstringtodosFiltrar por tipo(s) de mercado, separados por vírgula
max_holdnumber5.0Percentual máximo de hold (vig). Menor = linhas mais apertadas.
livebooleantrue = somente ao vivo, false = somente pré-jogo, omitir = ambos
statestringpaCódigo de estado dos EUA para geração de deep link (ex: pa, nj, co, mi)
sortstringholdCampo de ordenação: hold (menor primeiro, padrão), market, sport
limitinteger50Resultados por página (máx 200)
offsetinteger0Offset de paginação (máx 5000)

Filtrando Múltiplos ValoresPermalink for this section

Use valores separados por vírgula para filtros de seleção múltipla:

?sport=basketball,football&league=nba,nfl&max_hold=3

Exemplos de RequisiçõesPermalink for this section

# Moneylines de low-hold abaixo de 2% de vig curl -X GET "https://api.sharpapi.io/api/v1/opportunities/low_hold?league=nba&max_hold=2&market=moneyline" \ -H "X-API-Key: YOUR_API_KEY" # Com state para deep links curl -X GET "https://api.sharpapi.io/api/v1/opportunities/low_hold?league=nfl&state=nj" \ -H "X-API-Key: YOUR_API_KEY"

RespostaPermalink for this section

Sucesso (200)Permalink for this section

{ "success": true, "data": [ { "id": "lh_nba_lal_bos_ml_0", "event_id": "evt_nba_lal_bos_20260208", "event_name": "Los Angeles Lakers @ Boston Celtics", "sport": "basketball", "league": "nba", "market_type": "moneyline", "home_team": "Boston Celtics", "away_team": "Los Angeles Lakers", "start_time": "2026-02-08T19:00:00Z", "line": null, "hold_percentage": 1.8, "side1": { "selection": "Los Angeles Lakers", "books": ["draftkings", "betmgm"], "line": null, "odds": { "american": 145, "decimal": 2.45, "implied_probability": 0.408, "fair_probability": 0.415 }, "deep_links": { "draftkings": "https://sportsbook.draftkings.com/...", "betmgm": "https://sports.betmgm.com/..." } }, "side2": { "selection": "Boston Celtics", "books": ["pinnacle", "fanduel"], "line": null, "odds": { "american": -155, "decimal": 1.645, "implied_probability": 0.608, "fair_probability": 0.585 }, "deep_links": { "pinnacle": null, "fanduel": "https://sportsbook.fanduel.com/..." } }, "side3": null, "is_live": false, "is_alternate_line": false, "is_player_prop": false, "player_name": null, "stat_category": null, "all_books": ["draftkings", "betmgm", "pinnacle", "fanduel"], "confidence": 92, "odds_age_seconds": 5, "possibly_stale": false, "detected_at": "2026-02-08T14:22:10.456Z" } ], "pagination": { "limit": 50, "offset": 0, "total": 87, "has_more": true, "next_offset": 50 }, "meta": { "source": "cache", "summary": { "count": 87, "avg_hold": 2.4, "min_hold": 0.8, "by_market": { "moneyline": 35, "point_spread": 30, "total_points": 22 }, "by_sport": { "basketball": 87 } }, "filters": { "sport": null, "league": ["nba"], "sportsbook": null, "market": null, "max_hold": 5.0, "live": null, "state": "pa" } } }

Headers da RespostaPermalink for this section

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 296 X-RateLimit-Reset: 1707401000 X-Data-Delay: 0 X-Request-Id: req_lh123abc456

Respostas de ErroPermalink for this section

401 Unauthorized

{ "error": { "code": "unauthorized", "message": "Invalid or missing API key", "docs": "https://docs.sharpapi.io/en/authentication" } }

403 Tier Required

{ "error": { "code": "tier_restricted", "message": "This endpoint requires Pro tier or higher", "docs": "https://docs.sharpapi.io/en/pricing" } }

429 Rate Limited

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded", "docs": "https://docs.sharpapi.io/en/api-reference/overview" } }

Campos da RespostaPermalink for this section

CampoTipoDescrição
idstringIdentificador único de low-hold (hash)
event_idstringIdentificador do evento
event_namestringNome legível do evento
sportstringIdentificador do esporte (minúsculo)
leaguestringIdentificador da liga
market_typestringTipo de mercado (moneyline, point_spread, total_points, etc.)
home_teamstringNome do time da casa
away_teamstringNome do time visitante
start_timestring|nullHorário de início do evento em ISO 8601
linenumber|nullLinha de spread/total (ex: -3.5, 220.5)
hold_percentagenumberPercentual de hold/vig do mercado (ex: 1.8 = 1.8%)
side1objectPrimeiro lado do mercado
side2objectSegundo lado do mercado
side3object|nullTerceiro lado (apenas para mercados de 3 vias, como moneyline de futebol)
is_livebooleanSe o evento está ao vivo no momento
is_alternate_linebooleanSe utiliza uma linha não-padrão
is_player_propbooleanSe é um mercado de player prop
player_namestring|nullNome do jogador (se for player prop)
stat_categorystring|nullTipo de estatística (se for player prop, ex: points, rebounds)
all_booksstring[]Todos os sportsbooks participantes deste mercado
confidencenumberMétrica de confiança (0-100)
odds_age_secondsnumberIdade da odd mais antiga em segundos
possibly_stalebooleanSe os dados de odds podem ter se movido desde a detecção
detected_atstringQuando a oportunidade foi detectada (ISO 8601)

Objeto SidePermalink for this section

CampoTipoDescrição
selectionstringNome da seleção (ex: “Lakers”, “Over”)
booksstring[]Sportsbooks oferecendo o melhor preço neste lado
linenumber|nullValor da linha para este lado
odds.americannumberOdds americanas
odds.decimalnumberOdds decimais
odds.implied_probabilitynumberProbabilidade implícita (0-1)
odds.fair_probabilitynumberProbabilidade justa ajustada pelo hold
deep_linksobjectMapa do nome do sportsbook para a URL do deep link (ou null se indisponível)

Os deep links são gerados com base no parâmetro de query state. Passe o código do estado dos EUA do seu usuário (ex: ?state=nj) para obter as URLs corretas dos sportsbooks para a jurisdição dele.


O Que É Hold?Permalink for this section

Hold (também chamado de vig ou juice) é a margem embutida do sportsbook em um mercado. É a diferença entre a soma das probabilidades implícitas e 100%.

Hold % = (implied_prob_side1 + implied_prob_side2 - 1) × 100

ExemploPermalink for this section

DraftKings: Lakers +145 (implícita 40,8%) Pinnacle: Celtics -155 (implícita 60,8%) Combinada: 101,6% Hold: 1,6%

Um hold de 1,6% significa que o sportsbook fica com cerca de US$ 1,60 de cada US$ 100 apostados neste mercado. Hold menor = melhor valor para apostadores.

Por Que Low Hold ImportaPermalink for this section

Hold %QualidadeFonte Típica
< 1,5%ExcelenteSharp books, melhor preço entre books
1,5 - 3%BomMercados competitivos
3 - 5%MédioPrecificação varejista padrão
5%+RuimProps, mercados exóticos

Mercados de low-hold dão a você odds melhores independentemente de qual lado você apostar. Combinados com detecção de +EV, eles ajudam a maximizar os retornos esperados.

Low Hold vs ArbitragemPermalink for this section

Low HoldArbitragem
HoldBaixo, mas > 0%Abaixo de 0% (hold negativo)
RiscoNormal (você escolhe um lado)Zero (aposta nos dois lados)
Caso de usoObter o melhor preçoGarantir lucro
VolumeCentenas disponíveisRaro (dígitos únicos)

Oportunidades de low-hold são muito mais comuns do que arbitragens. Elas representam as linhas mais apertadas disponíveis entre os books — ideais para apostadores que querem o melhor preço sem precisar apostar em ambos os lados.

Mercados de Três ViasPermalink for this section

Para esportes com três resultados possíveis (futebol, resultado final do hóquei), a resposta inclui side3:

{ "side1": { "selection": "Home Win", "..." : "..." }, "side2": { "selection": "Draw", "..." : "..." }, "side3": { "selection": "Away Win", "..." : "..." }, "hold_percentage": 2.1 }

O cálculo do hold se estende a todos os três lados: implied_prob_1 + implied_prob_2 + implied_prob_3 - 1.

Boas PráticasPermalink for this section

  1. Defina um max_hold apertado — Use max_hold=2 ou max_hold=3 para focar nos mercados de melhor valor
  2. Passe o parâmetro state — Obtenha deep links precisos para a jurisdição do seu usuário
  3. Combine com dados de +EV — Low hold + EV positivo é a combinação ideal
  4. Verifique possibly_stale — Pule oportunidades em que as odds podem já ter se movido
  5. Use streaming — Assine eventos low_hold:detected via SSE ou WebSocket para alertas em tempo real
  6. Monitore all_books — Mais books participando geralmente significa precificação mais confiável

Endpoints RelacionadosPermalink for this section

Last updated on