Splits de Apuestas
Obtén splits de apuestas públicas (handle % y bet %) de DraftKings y Circa Sports.
GET /api/v1/splitsAutenticación
Requiere API key. Requiere plan Pro (229 $/mes) o superior.
¿Qué son los splits de apuestas?
Handle % es el porcentaje del dinero total apostado en cada lado. Bet % es el porcentaje del total de tickets (apuestas realizadas) en cada lado.
La diferencia entre bet % y handle % revela el dinero sharp. Si el 30 % de los tickets concentra el 60 % del dinero, los apostantes sharp están en ese lado.
Fuentes de Datos
| Fuente | Tipo | Frecuencia de Actualización |
|---|---|---|
| DraftKings | Casa recreativa (~35 % de cuota del mercado de EE. UU.) | Cada 5 minutos |
| Circa Sports | Casa orientada a sharps (atrae profesionales) | Cada 5 minutos |
Comparar los splits de DraftKings (recreativa) frente a Circa (sharp) revela dónde el dinero profesional diverge del público.
Parámetros de Consulta
| Parámetro | Tipo | Descripción |
|---|---|---|
sport | string | Filtra por deporte (separado por comas). Ejemplo: basketball |
league | string | Filtra por liga (separado por comas). Ejemplo: nba,ncaab |
sportsbook | string | Filtra por fuente de splits. Ejemplo: draftkings,circa |
event_id | string | Filtra por ID canónico de evento (separado por comas) |
market | string | Filtra eventos que incluyan un mercado de splits dado (separado por comas). Uno o más de spread, total, moneyline. |
limit | integer | Resultados máximos (predeterminado 100, máximo 200) |
offset | integer | Desplazamiento de paginación (predeterminado 0) |
Respuesta
{
"data": [
{
"event_id": "mlb_guardians_orioles_2026-04-16",
"sport": "baseball",
"league": "mlb",
"sportsbook": "draftkings",
"away_team": "Baltimore Orioles",
"home_team": "Cleveland Guardians",
"spread": {
"away_odds": -1.5,
"home_odds": 1.5,
"handle_pct": { "away": 0.22, "home": 0.78 },
"bets_pct": { "away": 0.20, "home": 0.80 }
},
"total": {
"line": 8,
"handle_pct": { "over": 0.53, "under": 0.47 },
"bets_pct": { "over": 0.57, "under": 0.43 }
},
"moneyline": {
"away_odds": 104,
"home_odds": -126,
"handle_pct": { "away": 0.28, "home": 0.72 },
"bets_pct": { "away": 0.33, "home": 0.67 }
},
"fetched_at": "2026-04-16T19:25:28.363825+00:00"
}
],
"pagination": {
"limit": 100,
"offset": 0,
"count": 1,
"total": 41,
"has_more": false,
"next_offset": null
},
"updated_at": "2026-04-16T19:29:38.920698424Z"
}En la respuesta de /splits el spread incluye los valores de line dentro de las claves away_odds/home_odds (p. ej., -1.5 / +1.5) — esta nomenclatura es una inconsistencia conocida. El endpoint histórico utiliza away_line/home_line para los mismos datos.
Campos de Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
event_id | string | ID canónico de evento — úsalo para hacer join con los datos de /odds |
sport | string | Nombre de deporte normalizado por Atlas |
league | string | Nombre de liga normalizado por Atlas |
sportsbook | string | Casa de apuestas fuente de los datos de splits (draftkings o circa) |
away_team | string | Nombre del equipo visitante |
home_team | string | Nombre del equipo local |
spread.away_odds | number | Valor de line del spread visitante (p. ej., -1.5) — consulta el aviso anterior |
spread.home_odds | number | Valor de line del spread local (p. ej., +1.5) |
spread.handle_pct | object | % de dinero en cada lado (away, home; 0.0-1.0) |
spread.bets_pct | object | % de tickets en cada lado (away, home; 0.0-1.0) |
total.line | number | Línea de over/under (p. ej., 225.5) |
total.handle_pct | object | % de dinero (over, under; 0.0-1.0) |
total.bets_pct | object | % de tickets (over, under; 0.0-1.0) |
moneyline.away_odds | number | Cuotas de moneyline del visitante (formato americano) |
moneyline.home_odds | number | Cuotas de moneyline del local (formato americano) |
moneyline.handle_pct | object | % de dinero en cada lado (away, home; 0.0-1.0) |
moneyline.bets_pct | object | % de tickets en cada lado (away, home; 0.0-1.0) |
fetched_at | string | Marca de tiempo ISO 8601 de la última extracción de datos |
El campo event_id utiliza el mismo formato de ID canónico que el endpoint /odds, por lo que puedes hacer join de splits con datos de cuotas directamente.
Por ejemplo, obtén las cuotas de un partido específico y compáralas con sus splits:
GET /api/v1/odds?event_id=nba_thunder_timberwolves_2026-03-15
GET /api/v1/splits?event_id=nba_thunder_timberwolves_2026-03-15Bet % por Selección (BetMGM)
Además de los splits a nivel de partido de este endpoint, los items de cuotas de BetMGM en la respuesta de /odds incluyen un campo inline public_bet_pct (0.0-1.0) que representa el porcentaje de tickets por selección. Está disponible en mercados pre-partido de NBA (100 %), MLB (100 %) y NHL (~60 %).
Ejemplos
Todos los Splits NBA
curl "https://api.sharpapi.io/api/v1/splits?league=nba" \
-H "X-API-Key: YOUR_API_KEY"Historial de Splits
Realiza un seguimiento de cómo cambian los splits a lo largo del tiempo para un evento concreto.
GET /api/v1/splits/history?event_id={event_id}Parámetros de Consulta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | ID canónico de evento |
sportsbook | string | No | Filtra por casa (separado por comas). Cuando se establece, limit se aplica del lado del cliente tras obtener todas las entradas coincidentes. |
start_time | string | No | Límite inferior. RFC 3339 (2026-04-16T13:00:00Z) o segundos Unix (1776344602). |
end_time | string | No | Límite superior, mismos formatos. |
limit | integer | No | Entradas máximas (predeterminado 100, máximo 200). |
Respuesta
Las entradas se ordenan de la más antigua a la más reciente. Este endpoint emite el envoltorio de éxito (success/data/meta) — distinto de /splits, que emite data/pagination/updated_at.
El payload del historial usa book (no sportsbook) y el spread incluye away_line/home_line (no away_odds/home_odds). Ambas son inconsistencias conocidas frente a /splits.
{
"success": true,
"data": [
{
"book": "circa",
"ts": "2026-04-16T13:03:21.071966+00:00",
"timestamp": 1776344602.36,
"spread": {
"away_line": -1.5,
"home_line": 1.5,
"handle_pct": { "away": 0.37, "home": 0.63 },
"bets_pct": { "away": 0.27, "home": 0.73 }
},
"total": {
"line": 8,
"handle_pct": { "over": 0.43, "under": 0.57 },
"bets_pct": { "over": 0.55, "under": 0.45 }
},
"moneyline": {
"away_odds": 104,
"home_odds": -126,
"handle_pct": { "away": 0.35, "home": 0.65 },
"bets_pct": { "away": 0.35, "home": 0.65 }
}
}
],
"meta": {
"event_id": "mlb_guardians_orioles_2026-04-16",
"total": 3,
"books": ["circa", "draftkings"],
"oldest": "2026-04-16T13:03:22.360588312Z",
"newest": "2026-04-16T13:08:41.199237823Z",
"updated_at": "2026-04-16T19:28:50.525875452Z"
}
}Los datos se recopilan cada ~5 minutos y se conservan durante 48 horas mediante un sorted set de Valkey (splits_history:{event_id}) puntuado por timestamp Unix.
Historial Completo
curl "https://api.sharpapi.io/api/v1/splits/history?event_id=nba_thunder_timberwolves_2026-03-15" \
-H "X-API-Key: YOUR_API_KEY"Interpretación de los Splits
| Señal | Qué significa |
|---|---|
| Bet % alto, Handle % bajo | Lado público — muchas apuestas pequeñas |
| Bet % bajo, Handle % alto | Lado sharp — menos apuestas pero más grandes |
| DK y Circa coinciden | Consenso de mercado — público y sharp alineados |
| DK y Circa divergen | Brecha sharp-público — Circa (sharp) discrepa de DK (público) |
Los datos de splits solo provienen de casas recreativas (DraftKings) y de una casa cercana al perfil sharp (Circa). Ninguna casa sharp publica splits. Utiliza los splits como una señal más junto con el movimiento de líneas y el análisis de +EV, no de forma aislada.