pnclFEED Clave gratuita

pinnacle odds api / feed xml / migración

El feed de cuotas XML de Pinnacle está retirado. Aquí está su reemplazo en JSON.

GET/kit/v1/markets?sport_id=1

{ events, last }200 OK

Los feeds públicos de Pinnacle terminaron en julio de 2025, y el feed de cuotas XML se fue con ellos. Los mismos precios ahora llegan desde la API de cuotas de Pinnacle en JSON: un GET autenticado devuelve el tablero, y la forma refleja los formatos legados de terceros lo bastante para que los clientes existentes cambien la URL base y la clave y sigan funcionando. La clave gratuita cubre todo lo de esta página: 20 solicitudes por minuto y 100 al día, cifras verificadas el 07/11/2026.

Crear una clave gratuita

Tus hábitos de XML, uno a uno

El bloque de fixture que solías parsear ahora es un objeto de evento: los equipos son home y away, la hora de inicio es starts y la liga es league_name. El moneyline que tu parser buscaba está en periods.num_0.money_line con home, draw y away como precios decimales, y spreads, totales y totales de equipo están al lado, indexados por su línea.

Lo que el feed XML llamaba actualización ahora es un cursor: cada respuesta lleva last, y devolverlo como since devuelve solo los eventos que cambiaron. Un poller que antes descargaba el documento entero ahora lee un delta.

xml-to-json.sh
# From XML habits to the JSON
# board. The key and base URL
# come from your account and
# the docs.
export ODDS_API_KEY="your key"
export ODDS_BASE_URL="https://..."

U="$ODDS_BASE_URL/kit/v1/markets"
H="x-portal-apikey: $ODDS_API_KEY"

# The board as JSON: events and
# the last cursor.
curl -s -H "$H" "$U?sport_id=1" \
  | jq '{last, n: (.events | length)}'

# One line per match: the fields
# your XML parser used to read.
curl -s -H "$H" "$U?sport_id=1" \
  | jq -r '.events[]
    | [.home, .away, .starts,
       .periods.num_0.money_line.home,
       .periods.num_0.money_line.draw,
       .periods.num_0.money_line.away]
    | @tsv'

MAPEARelemento a campo

precios decimales en todoJSON

De elementos XML a campos JSON

Sean cuales sean las etiquetas exactas que tu viejo parser leía, los conceptos se traducen directamente. El elemento de fixture se vuelve una entrada en el array events; el agrupamiento por deporte se vuelve el parámetro sport_id en la solicitud; los elementos de moneyline, hándicap y totales se vuelven money_line, spreads y totals bajo el período; y la marca de tiempo del documento se vuelve el cursor last que devuelves como since. Los precios son decimales en todo, así que ninguna conversión fraccionaria o americana sobrevive al cambio a menos que la añadas.

Dos cosas no tienen contraparte en XML que valga portar. Los precios en vivo se mueven demasiado rápido para un modelo de documento, así que el mismo endpoint de tablero los sirve con una frescura que el feed XML nunca tuvo, y las alertas de caída llegan como un stream empujado en vez de un diff que calculabas a mano; la página de Python muestra ese lector.

Lo que la gente pregunta cuando el feed XML muere

Respuestas cortas antes de reescribir el parser.

¿Todavía existe un feed de cuotas XML de Pinnacle?

No. Los feeds públicos de Pinnacle terminaron en julio de 2025. El camino actual es la API de cuotas de Pinnacle en JSON, servida por un feed independiente con una clave gratuita al registrarte.

¿Puedo mantener mi parser de XML?

Ninguna parte de la API de JSON habla XML. La jugada pragmática es un adaptador fino: una función que busca el JSON y emite las filas que tu parser ya acepta.

¿El feed JSON cubre los mismos deportes?

Sí, el tablero cubre los deportes que Pinnacle cotiza, en vivo y prepartido. Los IDs de deporte que tu integración usaba siguen siendo enteros estables en la nueva API.

¿Cuánto cuesta migrar?

Nada mientras pruebas: la clave gratuita permite 20 solicitudes por minuto y 100 al día, suficiente para portar y verificar un parser antes de cualquier decisión de plan.

SIGUIENTEbash xml-to-json.sh

Una tarde para dejar atrás el XML

Crea la clave gratuita, apunta el script a tu deporte y compara las filas con el documento que recuerdas. Cuando el bucle de sondeo necesite más de 100 llamadas al día, la página de precios muestra el plan que sube el tope.