Deep Links
Genera deep links de casas de apuestas a partir de IDs de cuotas o IDs hash de oportunidades. Los deep links llevan a los usuarios directamente a la página del evento correspondiente en el sitio web de una casa de apuestas, permitiendo la colocación de apuestas con un solo clic desde tu aplicación.
Endpoints
| Método | Ruta | Descripción |
|---|---|---|
POST | /api/v1/deeplinks/batch | Obtener deep links para hasta 500 IDs |
GET | /api/v1/deeplink/{id} | Redirigir a una casa de apuestas (público, sin autenticación) |
Autenticación
Requiere API key para POST /deeplinks/batch. Disponible para el plan Hobby y superiores.
El endpoint de redirección (GET /deeplink/{id}) es público y no requiere autenticación — el ID opaco impide la enumeración.
El parámetro id acepta tanto IDs de cuotas (de /odds, /odds/best) como IDs hash de oportunidades (de los endpoints +EV, Arbitraje, Middles y Low Hold). Ambos tipos de ID se resuelven al enlace más específico que admita esa casa de apuestas — la especificidad es una propiedad de la casa, no del tipo de ID. Lee X-Deep-Link-Type en la redirección para ver qué obtuviste, y consulta Casas de Apuestas Compatibles para saber cuáles preseleccionan la apuesta.
Deep Links por Lotes
POST /api/v1/deeplinks/batchDevuelve rutas de redirección de deep links para múltiples IDs en una única solicitud. Acepta tanto IDs de cuotas como IDs hash de oportunidades. Cada ID de la solicitud aparece en la respuesta — los IDs resueltos devuelven una ruta de redirección, los IDs no resolubles devuelven null.
Cuerpo de la Solicitud
{
"ids": ["17336125542407", "77b0749a1faae425", "abc1234567890def"],
"state": "nj"
}| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
ids | string[] | obligatorio | Array de IDs de cuotas o IDs hash de oportunidades (1–500 elementos) |
state | string | pa | Código de estado de EE. UU. para URLs de casas de apuestas específicas por estado (p. ej., nj, ny, il) |
Ejemplos de Solicitudes
cURL
curl -X POST "https://api.sharpapi.io/api/v1/deeplinks/batch" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ids": ["17336125542407", "77b0749a1faae425"], "state": "nj"}'Respuesta
Éxito (200)
El endpoint por lotes devuelve rutas de redirección, no URLs directas a casas de apuestas. Antepón tu URL base o utiliza la ruta con el endpoint de redirección para llegar a la casa de apuestas.
{
"data": {
"17336125542407": "/api/v1/deeplink/17336125542407",
"77b0749a1faae425": "/api/v1/deeplink/77b0749a1faae425",
"abc1234567890def": null
},
"updated_at": "2026-02-11T12:00:15.000Z"
}| Valor | Significado |
|---|---|
"/api/v1/deeplink/{id}" | Deep link disponible — sigue la ruta de redirección para llegar a la casa de apuestas |
null | No hay deep link disponible para este ID (casa de apuestas no compatible, cuotas caducadas o ID no válido) |
Para obtener la URL final de la casa de apuestas, sigue la redirección (GET https://api.sharpapi.io/api/v1/deeplink/{id}) o utiliza la ruta directamente en enlaces <a href> — el navegador seguirá la redirección 302 automáticamente.
Respuestas de Error
400 IDs faltantes
{
"error": {
"code": "validation_error",
"message": "ids array required"
}
}400 Tamaño de lote excedido
{
"error": {
"code": "validation_error",
"message": "Maximum 500 IDs per batch"
}
}Redirección de Deep Link
GET /api/v1/deeplink/{id}Redirige al usuario directamente a la página de la casa de apuestas correspondiente a un ID de cuotas o ID hash de oportunidad determinado. Este es un endpoint público — no se requiere API key.
Utiliza este endpoint en enlaces <a href> para enviar a los usuarios directamente a una casa de apuestas. La respuesta es una redirección 302 Found, no JSON.
Parámetros de Ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
id | string | Obligatorio. Ya sea un ID numérico de cuotas (p. ej., 135102220304350) o un ID hash de oportunidad (16 caracteres hex, p. ej., 77b0749a1faae425) |
Parámetros de Consulta
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
state | string | pa | Código de estado de EE. UU. para URLs específicas por estado |
book | string | — | Filtro de casa de apuestas (para oportunidades multi-libro como middles/arbitraje) |
fallback | string | — | URL a la que redirigir si el ID no se encuentra |
Ejemplo
<!-- In your application HTML -->
<a href="https://api.sharpapi.io/api/v1/deeplink/77b0749a1faae425?state=nj&book=draftkings">
Bet on DraftKings
</a>Respuesta
Éxito (302 Found)
HTTP/1.1 302 Found
Location: https://sportsbook.draftkings.com/event/12345?outcomes=abc123
Cache-Control: private, max-age=60
X-Deep-Link-Type: outcomeEl encabezado X-Deep-Link-Type indica la especificidad del enlace:
| Valor | Descripción |
|---|---|
outcome | Enlace directo a una selección de apuesta específica (con ID de selección) |
event | Enlace a la página del evento (sin selección específica) |
homepage | Enlace de respaldo a la página de inicio de la casa de apuestas |
Respuestas de Error
404 No encontrado
{
"error": {
"code": "not_found",
"message": "Deep link ID not found"
}
}Si se proporciona el parámetro de consulta fallback y el ID no se encuentra, el endpoint redirige a la URL de respaldo en lugar de devolver una respuesta JSON 404.
Esquema de Deep Link
Respuesta por Lotes
| Campo | Tipo | Descripción |
|---|---|---|
data | object | Mapa de ID a ruta de redirección (string) o null si no está disponible |
updated_at | string | Marca de tiempo ISO 8601 de los datos de cuotas |
Casas de Apuestas Compatibles
El soporte de deep links depende de cada casa de apuestas, y la especificidad del
enlace también. Que un enlace abra la página del evento o abra el boleto con tu
selección ya cargada lo decide el sitio de esa casa de apuestas — no el tipo de ID
que enviaste. La cabecera X-Deep-Link-Type de la redirección te dice cuál
obtuviste, enlace por enlace.
Medido contra producción el 2026-08-25, sobre todas las casas de apuestas que la API servía en ese momento — 26 de 35 resuelven un deep link, y 12 de ellas preseleccionan la apuesta:
| Casa de Apuestas | Deep link | Preselecciona tu selección | Específico por estado |
|---|---|---|---|
| BallyBet | Sí | Sí | No |
| BetMGM | Sí | Sí | Sí |
| betPARX | Sí | Sí | No |
| BetRivers | Sí | Sí | Sí |
| Betway | Sí | Sí | No |
| Bovada | Sí | Sí | No |
| bwin | Sí | Sí | No |
| Caesars | Sí | Sí | Sí |
| DraftKings | Sí | Sí | No |
| FanDuel | Sí | Sí | No |
| Hard Rock | Sí | Sí | No |
| Unibet | Sí | Sí | No |
| 1xBet | Sí | No | No |
| Betano | Sí | No | No |
| BetOnline | Sí | No | No |
| Kalshi | Sí | No | No |
| Ladbrokes | Sí | No | No |
| Novig | Sí | No | No |
| Pinnacle | Sí | No | No |
| Polymarket | Sí | No | No |
| ProphetX | Sí | No | No |
| Sportzino | Sí | No | No |
| Stake | Sí | No | No |
| Rebet † | Enlace de app | No | No |
| SBOBET ‡ | Parcial | No | No |
| SX Bet ‡ | Parcial | No | No |
| Betfair | No | — | — |
| Circa | No | — | — |
| Fanatics | No | — | — |
| Fliff | No | — | — |
| Goldrush | No | — | — |
| SABA | No | — | — |
| SkyBet | No | — | — |
| theScore Bet | No | — | — |
| Underdog | No | — | — |
† Rebet resuelve a un enlace de app móvil (com.rebet.app://…). En escritorio el
endpoint de redirección usa tu URL de fallback y reporta
X-Deep-Link-Type: homepage.
‡ SBOBET y SX Bet resuelven a una página de deporte o de liga en lugar del evento individual.
Los IDs de una casa de apuestas del grupo No devuelven null en la respuesta
por lotes, y el endpoint de redirección devuelve 404 salvo que envíes fallback.
Incluso en una casa compatible un ID concreto puede devolver null — no todos los
mercados tienen página. Una casa de apuestas que no publicaba cuotas al momento de
la medición no aparece listada.
Los deep links de Pinnacle no pueden preseleccionar una apuesta. El enlace de
Pinnacle es una página de enfrentamiento
(https://www.pinnacle.com/en/all-sports/matchup/{id}) y no tiene parámetro de
selección que transporte tu resultado, así que es de nivel de evento tanto si
envías un ID numérico de cuota como un ID hash de oportunidad. El apostante elige
el resultado en la página.
Endpoints Relacionados
- Oportunidades +EV - Origen de los valores de
hash_idpara apuestas +EV - Arbitraje - Origen de los valores de
hash_idpara oportunidades de arbitraje - Middles - Origen de los valores de
hash_idpara oportunidades de middle - Low Hold - Origen de los valores de
hash_idpara oportunidades de low-hold