On the wire · 05:04:46 UTC Live 584 · Prematch 14,345 · Markets 57,037 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Resposta · CLV · Planilha

Planilha de apostas com CLV

Atualizado em · PinnFeed · 3 min de leitura

Resposta: registre uma linha por aposta com o preço que você pegou e capture duas vezes o preço da Pinnacle para o mesmo resultado: na hora da aposta e pouco antes do início. O closing line value é seu preço / preço de fechamento − 1. Você pode capturar os dois preços por conta própria via /v1/odds ou /v1/events/{id} em qualquer plano (o Free tem 30 s de atraso) ou, no Builder, ler o registro de fechamento guardado em /v1/closing/{eventId}.

Colunas#

ColunaExemploComo preencher
Data, evento, mercado, resultado2026-11-09, Ajax v PSV, moneyline, homeVocê
event_id, market_id123456, 123456:...De /v1/odds na hora da aposta
Meu preço2.30O preço que a sua casa deu
Stake10Você
Pinnacle na aposta2.22decimal daquele resultado
Fair da Pinnacle na aposta2.27fair daquele resultado
Fechamento da Pinnacle2.15O último preço capturado antes do início
CLV=G2/J2-1Seu preço vs o fechamento
Resultadoganha / perdida / anuladaVocê

Um CLV positivo ao longo de muitas apostas sugere que você está batendo o preço de fechamento; o lucro de curto prazo diz pouco em qualquer direção.

Capture o fechamento você mesmo (qualquer plano)#

import os, requests
KEY = os.environ["PINNFEED_KEY"]  # ps_live_...

def pinnacle_price(event_id: int, market_id: str, outcome: str):
    r = requests.get(f"https://pinnfeed.io/v1/events/{event_id}",
                     headers={"x-api-key": KEY}, timeout=10)
    if r.status_code == 404:
        return None                      # event no longer listed (started or finished)
    for m in r.json()["event"]["markets"]:
        if m["id"] == market_id:
            for o in m["outcomes"]:
                if o["name"] == outcome:
                    return o["decimal"], o["fair"]
    return None

Rode isso num agendador alguns minutos antes de cada início e escreva o resultado na coluna "Fechamento da Pinnacle". Os eventos somem de /v1/events/{id} quando a Pinnacle deixa de listá-los, então capture antes do início. No Free o valor chega com 30 s de atraso.

Ou leia o registro de fechamento guardado (Builder)#

GET /v1/closing/{eventId} retorna o registro de fechamento que o PinnFeed guardou para cada mercado (exige Builder ou Pro): odds de fechamento e CLV, relatório de CLV em Python.

Planos#

O Free (2 esportes, 1.000 requisições por dia, 30 s de atraso) basta para registrar algumas apostas por dia. O Builder (€99/mês) adiciona push em tempo real e registros de fechamento guardados. Teste de 3 dias; o cartão é obrigatório e a cobrança ocorre após o dia 3, a menos que você cancele. Configuração da planilha: gatilho do Sheets.

Conteúdo educativo para maiores de 18 anos. Registre seus resultados com responsabilidade; nada aqui promete lucro. No Brasil, aposte apenas em operadores autorizados pela SPA/MF.

Perguntas frequentes#

O CLV deve usar o fechamento justo ou o bruto?#

Os dois são usados. O bruto é mais simples; o justo (sem margem) remove a margem da Pinnacle. Escolha um e seja coerente.

Quantas apostas até o CLV significar algo?#

Muitas: algumas dezenas são ruído. Olhe a média ao longo de centenas.

Posso registrar preços de outras casas pelo PinnFeed?#

Não. O PinnFeed traz só a Pinnacle; o preço da sua casa você digita.

O plano WebSocket: Builder, €99/mês.

Odds da Pinnacle em tempo real por um único WebSocket: os 13 esportes, todos os mercados, odds justas sem margem e odds de fechamento. 3 dias grátis, cancele com um clique.

Form K-1 · Free API key

Get your free API key.

One field. No password, no card: enter your email, click the link we send, and your key is on screen.

By continuing you agree to the Terms and Privacy Policy.

One free key per email. Link valid for 20 minutes.