pnclFEED Clave gratuita

Notas de quickstart

Obtén cuotas de Pinnacle de una liga, no del deporte entero

El endpoint de mercados responde por deporte, así que el filtro de liga ocurre en tu código. Descubre los nombres de liga y filtra los eventos.

El endpoint de mercados de la API de cuotas de Pinnacle selecciona por deporte, no por liga. Una solicitud con un ID de deporte devuelve el tablero entero de ese deporte, cada evento con sus líneas. Para seguir una liga o un partido, pides el tablero una vez y filtras los eventos en tu propio código. El número de solicitudes queda exactamente igual; lo que cambia es cuánto ruido llega al resto de tu programa.

El endpoint responde por deporte

Una llamada al endpoint de mercados con un ID de deporte devuelve el tablero completo de ese deporte como JSON: un array de eventos más un cursor last para la siguiente lectura delta, como muestra el quickstart de curl. No hay parámetro de liga que añadir. Cada evento del array lleva el nombre de su liga junto a los equipos y la hora de inicio, lo que hace posible el filtrado en el cliente.

Una solicitud sigue siendo un tablero tanto si te quedas con tres eventos como con trescientos, así que filtrar es cuestión de enfoque, no de cuota.

Descubre primero los nombres de liga

Los nombres de liga llegan como cadenas simples, y adivinarlos falla en silencio: un espacio, un guion o un prefijo de país que no esperabas, y tu filtro no encuentra nada jamás. Gasta una solicitud en una pasada de descubrimiento antes de fijar nada en el código:

names = sorted({ev.get("league_name", "") for ev in data["events"]})
for n in names:
    print(n)

Ejecútala una vez, copia las cadenas exactas que necesitas y ponlas en un conjunto. Luego, el filtro en sí es una línea:

LEAGUES = {"England - Premier League", "Spain - La Liga"}

def wanted(ev):
    return ev.get("league_name") in LEAGUES

Aplícalo a toda respuesta, incluidas las lecturas delta: el cursor since devuelve solo eventos cambiados, y un evento cambiado de una liga que no sigues sigue siendo ruido. El bucle del quickstart de Python es el lugar correcto para encajar el filtro, justo después de parsear el sobre.

Encontrar un partido

Un solo partido es el mismo filtro con una condición más estricta: filtra por la liga, luego por los nombres de los dos equipos. Las cadenas de equipos tienen la misma salvedad que las de ligas, así que sácalas también de una pasada de descubrimiento. Mantén la hora de inicio en la comparación cuando los equipos se enfrentan dos veces en una semana, porque los pares de nombres no son únicos a lo largo de una temporada.

Si sondeas un deporte entero solo por un partido, mantén el intervalo honesto. La clave gratuita permite 20 llamadas por minuto y 100 al día, según la página de precios, verificado el 2026-09-30, y el seguimiento de un solo partido cabe con comodidad a una llamada cada quince minutos.

Lo que el filtrado no cambia

Filtrar encoge tu salida, no tu factura. El tablero es la unidad que la API sirve, y el medidor cuenta llamadas. Tampoco cambia lo que el cursor devuelve: una lectura delta te entrega eventos completos, no porciones parciales de liga. Lo que el filtrado compra es un downstream más limpio: menos filas en tu almacén, menos alertas que deduplicar y logs que dicen algo cuando los lees.

Pide el tablero, quédate con tu porción, descarta el resto. La API sigue simple, y tu programa sigue enfocado.