Skip to Content
Referência da APIResumo de Middles

Resumo de Middles

Obtenha estatísticas agregadas de oportunidades atuais de middles sem a lista completa. Usa os mesmos dados subjacentes do endpoint Middles.

GET /api/v1/opportunities/middles/summary

Autenticação

Requer API key. Tier Pro ou superior obrigatório.

Parâmetros de Consulta

ParâmetroTipoPadrãoDescrição
sportstringallFiltrar por esporte (ex.: basketball, football)
leaguestringallFiltrar por liga (ex.: nba, nfl, nhl)

Exemplos de Requisições

curl -X GET "https://api.sharpapi.io/api/v1/opportunities/middles/summary?league=nfl" \ -H "X-API-Key: YOUR_API_KEY"

Resposta

Sucesso (200)

{ "success": true, "data": { "total": 47, "positive_ev_count": 38, "guaranteed_profit_count": 2, "player_prop_count": 12, "by_sport": { "football": 18, "basketball": 15, "hockey": 8, "baseball": 6 }, "by_market": { "point_spread": 22, "total_points": 13, "player_points": 7, "player_rebounds": 5 }, "by_sportsbook": { "draftkings": 34, "fanduel": 31, "betmgm": 22, "caesars": 18, "bet365": 15 }, "avg_middle_size": 1.8, "avg_probability": 0.1245, "avg_ev": 4.72, "best_ev": { "ev": 31.52, "sport": "football", "market": "point_spread" }, "has_key_numbers_count": 14 }, "meta": { "source": "cache", "filters": { "sport": null, "league": ["nfl"] }, "updated_at": "2026-02-17T19:45:30Z" } }

Cabeçalhos da Resposta

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

Respostas de Erro

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": "Middles detection requires Pro tier or higher", "docs": "https://docs.sharpapi.io/en/pricing" } }

Campos da Resposta

CampoTipoDescrição
totalintegerNúmero total de middles atuais
positive_ev_countintegerMiddles com valor esperado positivo
guaranteed_profit_countintegerMiddles que também são oportunidades de arbitragem
player_prop_countintegerMiddles em mercados de player props
by_sportobjectContagem de middles por esporte
by_marketobjectContagem de middles por tipo de mercado
by_sportsbookobjectContagem de middles por sportsbook (cada book em um middle é contado)
avg_middle_sizenumberTamanho médio do gap do middle em pontos
avg_probabilitynumberProbabilidade média de os middles acertarem
avg_evnumberValor esperado médio por $100 apostados
best_evobject|nullResumo da oportunidade com maior EV
best_ev.evnumberEV em dólares por $100 apostados
best_ev.sportstringEsporte do middle com maior EV
best_ev.marketstringTipo de mercado do middle com maior EV
has_key_numbers_countintegerMiddles contendo números-chave específicos do esporte

Casos de Uso

Visão Geral do Dashboard

Use o endpoint de resumo para alimentar widgets de dashboard mostrando contagens de oportunidades de middles, divisões e médias sem buscar a lista completa.

Polling vs Busca Completa

Faça polling no endpoint de resumo em intervalos mais curtos para detectar quando novas oportunidades aparecem, depois busque o endpoint completo de Middles somente quando a contagem mudar.

// Poll summary every 10 seconds let lastCount = 0; setInterval(async () => { const summary = await fetchMiddlesSummary(); if (summary.data.total !== lastCount) { lastCount = summary.data.total; const middles = await fetchMiddles(); // Full fetch updateUI(middles); } }, 10000);

O endpoint de resumo é armazenado em cache por 10 segundos e conta para o seu rate limit da mesma forma que o endpoint completo de middles.

Endpoints Relacionados

Last updated on