pnclFEED Clave gratuita

api de cuotas de pinnacle / rest / sse / websocket

API de cuotas de Pinnacle: cuotas en vivo y prepartido en JSON

GET/kit/v1/markets?sport_id=2

cabecera x-portal-apikey: <your key>

application/json200 OK

Cuotas en vivo y prepartido de Pinnacle, la casa que los apostadores sharp tratan como línea de referencia, servidas en JSON por la API de cuotas de Pinnacle. Consulta un snapshot, recibe las caídas o toma cada frame en bruto.

Crear una clave gratuita

0 USD · 100 solicitudes al día · 20 por minuto · sin tarjeta

Los planes de pago empiezan en 99 USD al mes. Compara los planes

respuesta, recortadailustrativo
{
  "sport_name": "Tennis",
  "last": 141,
  "events": [{
    "event_id": 1628594960,
    "league_name": "ATP Tour",
    "home": "Novak Djokovic",
    "away": "Carlos Alcaraz",
    "starts": "2026-04-17T12:00:00Z",
    "periods": { "num_0": {
      "money_line": {
        "home": 1.95,
        "away": 1.90 },
      "spreads": { "-0.5": {
        "hdp": -0.5, "home": 2.06,
        "away": 1.82, "max": 500 } }
    } }
  }]
}

bucle[3 s con la clave gratuita, 0,1 s en poll]

GET/kit/v1/markets?sport_id=2&since=141

solo lo que cambió200 OK

Devuelve last como since y solo vuelven los movimientos

Cada respuesta lleva un cursor last. Pásalo como since en la siguiente llamada y el feed responde solo con los eventos que cambiaron después. Un mercado tranquilo devuelve una carga corta; uno agitado devuelve exactamente los precios que se movieron.

La clave gratuita permite 20 llamadas por minuto y 100 al día. poll permite 10 por segundo sin tope diario, y bulk 30.

siguiente respuestadelta de ejemplo
{
  "sport_name": "Tennis",
  "last": 157,
  "events": [{
    "event_id": 1628594960,
    "periods": { "num_0": {
      "money_line": {
        "home": 1.87,
        "away": 1.99 }
    } }
  }]
}
[si no: por encima del límite]

Retry-After: 41429 rate_limited

Superado el límite, el feed responde 429 con una cabecera Retry-After en segundos. Espera ese tiempo y repite la llamada con el mismo since. El cursor no se ha movido, así que no se salta ningún cambio.

cuerpo del 429ejemplo de la documentación
{
  "error": "rate_limited",
  "window": "minute",
  "limit": 20,
  "retry_after_ms": 41052
}

GET/odds-drop?min_drop=5

cabecera Accept: text/event-stream, clave como ?key= o cabecera

stream abiertodata: {"type": "connected"}

un precio cayó un 5,59%data: [ alert ]

O mantén una conexión abierta y deja que las caídas lleguen a ti

El stream de caídas envía las bajadas de precio de Pinnacle a medida que se detectan: /odds-drop para mercados en vivo, /odds-drop-prematch antes del inicio. min_drop fija la caída más pequeña que merece una alerta: pásalo explícitamente, desde el 1%. El ejemplo documentado usa 5.

Cada alerta lleva el precio antes y después de la caída y nvp, el precio sin margen: la línea de Pinnacle con su margen eliminado. Compara el número de una casa blanda con él sin hacer otra solicitud.

Incluido con push, poll + push y bulk.

una alertaejemplo de la documentación
data: [{
  "id": 1629729400,
  "sport": "Basketball",
  "league": "Australia - NBL1 Women",
  "home": "Sunshine Coast Phoenix",
  "away": "Cairns Dolphins",
  "sect": "Moneyline",
  "outcome": "Home",
  "period": 4,
  "from_price": 2.86,
  "to_price": 2.7,
  "nvp": 3.04,
  "alerted": 1777625196,
  ...
}]

WSS/ws/feed?key=<your key>

{"type": "subscribe", ...}en menos de 5 s

primero la línea basesnapshot

luego cada actualizaciónen vivo

{"type": "ping", "ts": 1779200030000}

{"type": "pong"}

O toma cada frame

El stream WebSocket en bruto envía un snapshot de cada stream al que te suscribes y luego cada actualización posterior. Suscríbete en los cinco segundos siguientes a la conexión, filtra por deporte o por hasta 200 IDs de evento por stream, y responde a cada ping con un pong.

Si el socket se cae, reconecta, suscríbete de nuevo y reconstruye desde el snapshot fresco. Los frames perdidos no se repiten.

Complemento para poll, poll + push y bulk: 99 USD al mes.

subscribeejemplo de la documentación
{
  "type": "subscribe",
  "streams": ["live", "prematch"],
  "sport_ids": [1, 2]
}

qué llega por el cable

Trece IDs de deporte, todas las líneas que Pinnacle cotiza en ellos

Cada evento llega con sus periodos, y cada periodo con la money line, los spreads y totales en cada hándicap que ofrece Pinnacle, los totales por equipo y la apuesta máxima de cada línea. Los especiales, como props de jugadores, vienen al añadir include_specials=1. En vivo y prepartido son llamadas separadas con la misma forma.

  • 1Fútbolpinnacle 29
  • 2Tenispinnacle 33
  • 3Baloncestopinnacle 4
  • 4Hockeypinnacle 19
  • 5Fútbol americanopinnacle 15
  • 6Béisbolpinnacle 3
  • 7Rugbypinnacle 27, 26
  • 8MMApinnacle 22
  • 9Boxeopinnacle 6
  • 10Voleibol, balonmanopinnacle 34, 18
  • 11Esportspinnacle 12
  • 12Golfpinnacle 17
  • 13Críquetpinnacle 8
  • sin archivo históricoNo hay un almacén de cuotas históricas. Guarda lo que necesites: un bucle con since escribiendo en tu propia tabla es el historial.
  • solo lecturaEs un feed de datos. Las apuestas se hacen en tu casa de apuestas, no a través de él.
  • una casaSolo los precios de Pinnacle. Compáralos con otras casas en tu propio código.

límites de tasa, dibujados

Precios de la API de cuotas de Pinnacle: pagas por la frecuencia con la que puedes preguntar

Cada franja son diez segundos de solicitudes al límite del plan. Con 20 por minuto puedes contar las marcas. A 10 por segundo se cierran en un rayado, a 30 por segundo casi en una barra sólida. Las caídas llegan en su propia línea, cada vez que Pinnacle se mueve.

  • trialREST, en vivo y prepartido

    poll
    caídas

    0 USD100 al día

  • pushcaídas, sondeo ligero

    poll
    caídas

    99 USDal mes

  • pollREST a velocidad

    poll
    caídas

    99 USDal mes

  • poll + pushvelocidad y caídas

    poll
    caídas

    149 USDal mes

  • bulk30 por segundo

    poll
    caídas

    229 USDal mes

Complemento WebSocket: +99 USD al mes en poll, poll + push y bulkLos términos de 3 y 6 meses cuestan menos: precios completos

SIGUIENTEtu primera solicitud

Empieza con la clave gratuita y sube de plan cuando el bucle la supere

La clave se emite al registrarte y nunca caduca: sin tarjeta, y la clave es tu inicio de sesión. Funciona en todos los endpoints de arriba salvo los streams; para esos, pide la demo completa de tres días (SSE + WebSocket en bruto + 10 por segundo). La documentación lista la URL base y todos los parámetros.