Skip to main content
Cada línea de cuota se identifica por (period, market, line) y lleva un line_id entero estable.

Tipos de mercado

Para los mercados 2‑way (spread/totals), odds0 es null.

units — la unidad de la línea (tenis: juegos vs sets)

Algunos deportes cotizan el mismo mercado en dos unidades distintas. En tenis, un spread puede ser un hándicap de sets (línea ±1.5) o un hándicap de juegos (línea -4.5, +5.5…), y un totals puede referirse a sets (2.5) o a juegos (21.5). El campo units elimina la ambigüedad: Los totales por jugador (home_totals / away_totals) del tenis están siempre en juegos (units = "Games"). El campo está presente en /api/odds, /api/opening, /api/closing, /api/history y los flujos en tiempo real.

Periodos

period = 0 = partido completo. Los demás periodos dependen del deporte (1 = 1.ª mitad / set, etc.). Obtén el catálogo mediante /api/periods.

Líneas principales vs alt‑lines

Por defecto, /api/odds devuelve todas las líneas (incluidas las alternativas). Añade main_lines_only=1 para conservar solo la línea principal de cada mercado (alt_line_id nulo).

max_win

max_win = apuesta máxima aceptada (límite Pinnacle) en la línea, indicador de liquidez.

Historial: max_win y status son puntos de la serie

/api/history devuelve un punto por cambio real, nunca un valor repetido. Se crea un punto en cuanto se mueve alguno de estos campos: Un max_win que sube mientras la cuota no se mueve es una señal de confianza de la casa; un max_win que se desploma suele preceder a una suspensión. La serie ya viene deduplicada, se puede graficar tal cual.

Aislar una sola apuesta

Sin filtro, /api/history devuelve la cronología de todas las líneas del partido. En un partido de baloncesto con sus alt-lines eso supera habitualmente los 24.000 puntos repartidos en más de 400 apuestas — cuando usted solo quería una curva. Dos maneras de designar la apuesta, según lo que ya tenga a mano:
Para un mercado sin línea (moneyline), pase line=null o line=. Omitir el parámetro significa «ningún filtro sobre la línea»: también recibiría todos los hándicaps.
Los filtros valen igualmente para opening y closing: obtiene la apertura y el cierre de la apuesta solicitada, no los de las otras 414. Medido sobre un partido real:

Los tres niveles de estado

Pinnacle publica un estado en tres escalas distintas, cada una con su propio vocabulario. Confundirlas es el error más frecuente: un mercado cerrado no significa un partido terminado, y una parte liquidada no cierra las apuestas del partido completo.

Nivel línea

El estado pertenece a la línea, no al mercado. Dentro de un mismo (event_id, period, market) los peldaños divergen — Pinnacle cierra un total concreto y mantiene abiertos los vecinos:
Dos campos lo describen: status, un entero de paridad BIC (1 = abierto, 2 = todo lo demás), y status_raw, la palabra tal como la envía Pinnacle.
status_raw solo se rellena en las cuotas actuales. El histórico (/api/history, full_history=1) guarda únicamente el entero: la palabra original no se almacena, así que allí el campo vale null.

Nivel periodo

/api/fixtures expone periods, una lista {period, status, cutoff}. Aquí es donde Pinnacle declara que una parte está cerrada, con independencia de las líneas y del estado del partido:
La liquidación de un periodo es un evento en sí mismo en el flujo: una parte que pasa a settled dispara una trama event: update, sin que ninguna cuota tenga que moverse.
Aquí la primera parte está liquidada mientras el partido completo sigue abierto a apuestas.

Distinguir una suspensión de un cierre definitivo

No lo dice ningún campo: lo dice el tiempo:
  • suspensión — la línea sigue publicada, pasa a closed, conserva su última cuota conocida (no la borramos, igual que la interfaz de Pinnacle atenúa el precio) y después vuelve a open;
  • cierre definitivo — la línea deja de publicarse: su cutoff vence, sale de /api/odds y se anuncia una eliminación en el flujo (véase Prepartido y en directo).
Sobre 327 832 estados observados de forma continua en el flujo, status_raw solo toma los valores "open" y "closed" — una suspensión de tenis entre dos puntos también llega como "closed". No cuente por tanto con una palabra dedicada para distinguir ambos casos; la medición cubre una ventana de observación, no una garantía contractual de Pinnacle.