Comparación de Cuotas
Compara las cuotas de un evento específico entre múltiples casas de apuestas. Los resultados se organizan por mercado y selección, con cálculos de hold e identificación de la mejor y peor casa para cada selección.
GET /api/v1/odds/comparisonAutenticación
Requiere API key. Disponible para todos los planes.
Las casas de apuestas incluidas en la comparación dependen del acceso a libros de tu plan. El plan gratuito compara DraftKings y FanDuel; los planes superiores incluyen más casas. Consulta Acceso a Libros por Plan.
Parámetros de Consulta
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
event | string | obligatorio | ID del evento para comparar las cuotas |
market | string | todos | Filtrar por tipo de mercado (p. ej., moneyline, spread). Admite alias de categoría — consulta Cuotas: Alias de Categorías de Mercado. |
sportsbook | string | todos | IDs de casas de apuestas separados por comas a incluir |
El parámetro event es obligatorio. Este endpoint devuelve una comparación detallada para un único evento.
Ejemplos de Solicitudes
cURL
# Comparar todas las cuotas de un evento NBA específico
curl -X GET "https://api.sharpapi.io/api/v1/odds/comparison?event=33483153" \
-H "X-API-Key: YOUR_API_KEY"
# Comparar solo las cuotas de moneyline
curl -X GET "https://api.sharpapi.io/api/v1/odds/comparison?event=33483153&market=moneyline" \
-H "X-API-Key: YOUR_API_KEY"Respuesta
Éxito (200)
{
"success": true,
"data": {
"event_id": "nba_suns_76ers_2026-01-26",
"event_name": "PHO Suns @ PHI 76ers",
"sport": "basketball",
"league": "nba",
"start_time": "2026-01-26T19:00:00Z",
"is_live": false,
"books_available": ["betmgm", "draftkings", "fanduel", "pinnacle"],
"markets": [
{
"market_type": "moneyline",
"hold": {
"best_available": 2.7,
"by_book": {
"draftkings": 3.5,
"fanduel": 3.6,
"betmgm": 4.7,
"pinnacle": 3.9
}
},
"selections": [
{
"selection": "PHO Suns",
"selection_type": "away",
"line": null,
"books": {
"fanduel": {
"odds_american": -145,
"odds_decimal": 1.690,
"timestamp": "2026-01-26T02:10:20.000Z"
},
"draftkings": {
"odds_american": -150,
"odds_decimal": 1.667,
"timestamp": "2026-01-26T02:10:24.000Z"
},
"betmgm": {
"odds_american": -155,
"odds_decimal": 1.645,
"timestamp": "2026-01-26T02:10:18.000Z"
},
"pinnacle": {
"odds_american": -148,
"odds_decimal": 1.676,
"timestamp": "2026-01-26T02:10:15.000Z"
}
},
"best_book": "fanduel",
"best_odds": -145,
"worst_book": "betmgm",
"worst_odds": -155,
"spread": 1.6
},
{
"selection": "PHI 76ers",
"selection_type": "home",
"line": null,
"books": {
"draftkings": {
"odds_american": 130,
"odds_decimal": 2.300,
"timestamp": "2026-01-26T02:10:24.000Z"
},
"fanduel": {
"odds_american": 125,
"odds_decimal": 2.250,
"timestamp": "2026-01-26T02:10:20.000Z"
},
"betmgm": {
"odds_american": 128,
"odds_decimal": 2.280,
"timestamp": "2026-01-26T02:10:18.000Z"
},
"pinnacle": {
"odds_american": 126,
"odds_decimal": 2.260,
"timestamp": "2026-01-26T02:10:15.000Z"
}
},
"best_book": "draftkings",
"best_odds": 130,
"worst_book": "fanduel",
"worst_odds": 125,
"spread": 0.9
}
]
}
]
},
"meta": {
"market_filter": null,
"updated_at": "2026-01-26T02:10:30.000Z"
}
}Cabeceras de Respuesta
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1737853200
X-Data-Delay: 0
X-Request-Id: req_comp_456abcEsquema de Respuesta
El campo data de la respuesta es un único objeto de evento (no un array) que contiene mercados y selecciones anidados.
Objeto Event
| Campo | Tipo | Descripción |
|---|---|---|
event_id | string | Identificador del evento |
event_name | string | Nombre para mostrar del evento (p. ej., "Equipo Visitante @ Equipo Local") |
sport | string | Slug del deporte |
league | string | Slug de la liga |
start_time | string | Hora de inicio del evento en formato ISO 8601 |
is_live | boolean | Indica si el evento está actualmente en directo |
books_available | string[] | IDs de las casas de apuestas con cuotas para este evento |
markets | array | Array de comparaciones de mercados |
Objeto Market
| Campo | Tipo | Descripción |
|---|---|---|
market_type | string | Tipo de mercado (p. ej., moneyline, spread, total) |
hold | object | Cálculos de hold (overround) del mercado |
hold.best_available | number | Porcentaje de hold usando las mejores cuotas entre todas las casas por selección |
hold.by_book | object | Porcentaje de hold para cada casa de apuestas individual (indexado por ID de casa) |
selections | array | Array de selecciones dentro de este mercado |
Objeto Selection
| Campo | Tipo | Descripción |
|---|---|---|
selection | string | Nombre de la selección (p. ej., nombre del equipo, Over/Under) |
selection_type | string | home, away, over, under |
line | number | null | Valor de la línea (para spreads/totales) |
books | object | Cuotas de cada casa de apuestas (indexadas por ID de casa) |
best_book | string | ID de la casa de apuestas con las mejores cuotas |
best_odds | number | Mejor valor de cuota americana |
worst_book | string | ID de la casa de apuestas con las peores cuotas |
worst_odds | number | Peor valor de cuota americana |
spread | number | Diferencia en probabilidad implícita (%) entre la mejor y la peor casa |
Objeto Book Odds
Cada entrada en el objeto books:
| Campo | Tipo | Descripción |
|---|---|---|
odds_american | number | Cuota americana |
odds_decimal | number | Cuota decimal |
timestamp | string | Hora ISO 8601 en que SharpAPI refrescó por última vez la fila de esta casa a través de su pipeline — avanza en cada ciclo de ingesta. Es una señal de frescura del feed / actividad (igual que el timestamp de OpticOdds); NO es cuándo cambió el precio por última vez. Consulta Entendiendo el campo timestamp. |
Entendiendo el Hold
El campo hold en cada mercado muestra el margen incorporado del corredor de apuestas:
best_available: El hold (%) si buscas las mejores cuotas en cada selección. Esta es la eficiencia “real” del mercado desde la perspectiva del apostante.by_book: El hold (%) en cada casa de apuestas individual. Mayor hold = mayor margen que se queda la casa.
| Hold (%) | Interpretación |
|---|---|
| < 2 | Mercado muy eficiente (casas sharp) |
| 2-5 | Mercado normal |
| 5-8 | Margen alto (típico para props) |
| > 8 | Margen muy alto |
Entendiendo el Campo spread
El spread en cada selección representa la diferencia en probabilidad implícita entre la mejor y la peor casa de apuestas para esa selección. Un spread más alto indica mayor varianza entre casas.
| Spread | Interpretación |
|---|---|
| < 1% | Las casas están muy alineadas |
| 1-3% | Varianza normal, valor moderado al comparar |
| > 3% | Discrepancia significativa, gran valor al comparar |
Casos de Uso
Line Shopping
Encuentra el mejor precio antes de hacer una apuesta comparando todas las casas:
curl "https://api.sharpapi.io/api/v1/odds/comparison?event=33483153&market=spread" \
-H "X-API-Key: YOUR_API_KEY"Identificación de Líneas Obsoletas
Busca casas que no se hayan actualizado recientemente revisando el timestamp de cada casa. Una casa con cuotas obsoletas puede ser lenta en ajustarse, creando valor temporal.
Eficiencia del Mercado
Compara hold.best_available con los holds de cada casa individual. Una gran diferencia significa que comparar líneas es especialmente valioso para este mercado.
Endpoints Relacionados
- Snapshot de Cuotas - Obtén cuotas en bruto de casas de apuestas individuales
- Mejores Cuotas - Obtén solo las mejores cuotas con consenso y hold
- Delta de Cuotas - Obtén solo las cuotas que han cambiado desde una marca de tiempo dada
- Cuotas en Lote - Recupera datos de comparación para múltiples eventos a la vez