Skip to Content
Referencia de la APIResumen de middles

Resumen de Middles

Obtén estadísticas agregadas de las oportunidades de middles actuales sin la lista completa. Utiliza los mismos datos subyacentes que el endpoint Middles.

GET /api/v1/opportunities/middles/summary

Autenticación

Requiere API key. Se requiere nivel Pro o superior.

Parámetros de Consulta

ParámetroTipoPor defectoDescripción
sportstringallFiltrar por deporte (p. ej., basketball, football)
leaguestringallFiltrar por liga (p. ej., nba, nfl, nhl)

Ejemplos de Solicitudes

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

Respuesta

Éxito (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" } }

Cabeceras de Respuesta

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

Respuestas de Error

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 de Respuesta

CampoTipoDescripción
totalintegerNúmero total de middles actuales
positive_ev_countintegerMiddles con valor esperado positivo
guaranteed_profit_countintegerMiddles que también son oportunidades de arbitraje
player_prop_countintegerMiddles en mercados de props de jugadores
by_sportobjectRecuento de middles por deporte
by_marketobjectRecuento de middles por tipo de mercado
by_sportsbookobjectRecuento de middles por sportsbook (cada casa de un middle se cuenta)
avg_middle_sizenumberTamaño medio del hueco del middle en puntos
avg_probabilitynumberProbabilidad media de que los middles acierten
avg_evnumberValor esperado medio por cada $100 apostados
best_evobject|nullResumen de la oportunidad con mayor EV
best_ev.evnumberEV en dólares por cada $100 apostados
best_ev.sportstringDeporte del middle con mayor EV
best_ev.marketstringTipo de mercado del middle con mayor EV
has_key_numbers_countintegerMiddles que contienen números clave específicos del deporte

Casos de Uso

Resumen del Panel

Utiliza el endpoint de resumen para alimentar widgets del panel que muestren los conteos de oportunidades de middles, los desgloses y los promedios sin recuperar la lista completa.

Sondeo vs. Recuperación Completa

Sondea el endpoint de resumen a intervalos más cortos para detectar cuándo aparecen nuevas oportunidades, y solo recupera el endpoint completo de Middles cuando cambie el conteo.

// 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);

El endpoint de resumen está cacheado durante 10 segundos y cuenta para tu rate limit igual que el endpoint completo de middles.

Endpoints Relacionados

Last updated on