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/summaryAutenticación
Requiere API key. Se requiere nivel Pro o superior.
Parámetros de Consulta
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
sport | string | all | Filtrar por deporte (p. ej., basketball, football) |
league | string | all | Filtrar por liga (p. ej., nba, nfl, nhl) |
Ejemplos de Solicitudes
cURL
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_msum789defRespuestas 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
| Campo | Tipo | Descripción |
|---|---|---|
total | integer | Número total de middles actuales |
positive_ev_count | integer | Middles con valor esperado positivo |
guaranteed_profit_count | integer | Middles que también son oportunidades de arbitraje |
player_prop_count | integer | Middles en mercados de props de jugadores |
by_sport | object | Recuento de middles por deporte |
by_market | object | Recuento de middles por tipo de mercado |
by_sportsbook | object | Recuento de middles por sportsbook (cada casa de un middle se cuenta) |
avg_middle_size | number | Tamaño medio del hueco del middle en puntos |
avg_probability | number | Probabilidad media de que los middles acierten |
avg_ev | number | Valor esperado medio por cada $100 apostados |
best_ev | object|null | Resumen de la oportunidad con mayor EV |
best_ev.ev | number | EV en dólares por cada $100 apostados |
best_ev.sport | string | Deporte del middle con mayor EV |
best_ev.market | string | Tipo de mercado del middle con mayor EV |
has_key_numbers_count | integer | Middles 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
- Middles — Lista completa de oportunidades de middles
- Oportunidades +EV — Apuestas con valor esperado positivo
- Oportunidades de Arbitraje — Oportunidades de beneficio garantizado
- Stream SSE — Eventos en tiempo real
middles:detectedymiddles:expired
Last updated on