Dados de odds da Pinnacle para cientistas de dados
ou comece o teste de 3 dias do Builder
Chave grátis: sem cartão. Ao continuar, você aceita os Termos e a Política de Privacidade. · 3 dias grátis, depois €99/mês (IVA incl. quando aplicável) · cartão obrigatório · cobrado após o dia 3 se você não cancelar
Resposta: o PinnFeed entrega os preços da Pinnacle em JSON limpo com os campos de referência que os modelos precisam: decimal, fairProb (probabilidade sem margem, método proporcional), margin e maxStake por mercado. Use de duas formas: colete os seus próprios snapshots de /v1/odds ou do WebSocket e, no Builder, baixe os registros de fechamento guardados por dia com /v1/closing?date=YYYY-MM-DD (até 2.000 linhas por página). Exportações históricas em massa (CSV/Parquet) são uma opção do Enterprise.
Tarefas típicas#
| Tarefa | Campos e endpoints |
|---|---|
| Comparar as probabilidades de um modelo | fairProb num horário fixo antes do início (pandas) |
| Avaliar contra o fechamento | /v1/closing?date= (Builder) (relatório de CLV) |
| Estudar o movimento das linhas | Os seus próprios frames delta do WebSocket (armazenamento no Postgres) |
| Filtros por liquidez | maxStake por mercado |
| Usuários de R | cliente httr2 |
Registros de fechamento num DataFrame (Builder)#
import os, requests, pandas as pd
KEY = os.environ["PINNFEED_KEY"] # ps_live_...
def closing_day(day, sport="soccer"):
rows, offset = [], 0
while True:
r = requests.get("https://pinnfeed.io/v1/closing", headers={"x-api-key": KEY}, timeout=30,
params={"date": day, "sport": sport, "main": "true", "limit": 2000, "offset": offset})
r.raise_for_status()
batch = r.json()["closing"]
rows += batch
if len(batch) < 2000:
break
offset += 2000
return pd.json_normalize(rows)
df = closing_day("2026-11-08")
print(df[["eventId", "home", "away", "market.type", "market.line", "market.margin"]].head())
Para guardar os fechamentos em Parquet e consultá-los com SQL: DuckDB + Parquet.
Limites honestos#
- Só Pinnacle: sem outras casas, sem escalações nem estatísticas de jogadores.
- Os registros de fechamento existem desde que o PinnFeed começou a guardá-los; não há um arquivo profundo nos planos de autosserviço.
- O seu próprio histórico de snapshots começa quando você começa a registrá-lo.
Qual plano#
O Free (30 s de atraso, 2 esportes, 1.000 requisições por dia) basta para desenhar um esquema. O Builder (€99/mês) adiciona o WebSocket, os 13 esportes e os registros de fechamento. Enterprise: exportações em massa CSV/Parquet, SLA e licença comercial. Teste de 3 dias; o cartão é obrigatório e a cobrança ocorre após o dia 3, a menos que você cancele.
Conteúdo educativo para maiores de 18 anos. Uso em pesquisa; sem palpites nem lucro garantido.
Perguntas frequentes#
Posso usar os dados num modelo comercial?#
Usá-los dentro dos seus próprios modelos e produtos é permitido pela Política de uso aceitável; redistribuí-los como feed de dados exige Enterprise.
fairProb é a probabilidade real?#
Não. É o preço da Pinnacle sem a margem, removida de forma proporcional: uma referência de mercado sólida, não a verdade absoluta.
Existe um SDK de Python?#
Não é preciso; requests ou httpx mais o /openapi.json bastam.