On the wire · 14:57:31 UTC Live 125 · Prematch 8,516 · Markets 34,152 Vol. I · No. 1 · Monday 9 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · CLV · Closing line

Get Pinnacle closing lines via API for CLV

Updated · PinnFeed · 1 min read

Answer: call GET /v1/closing/{eventId} (or /v1/closing?date=YYYY-MM-DD) with your API key, read the market's no-vig fair price at close, then CLV = price_taken / closing_fair − 1. Closing-line history is on Builder (€99/mo) and above. Full tracker: CLV guide.

Pull one event's close#

export PINNFEED_KEY="ps_live_..."
curl -sS -H "x-api-key: $PINNFEED_KEY" \
  "https://pinnfeed.io/v1/closing/1640229582"

Example shape (illustrative numbers from the schema docs; replace with your event id):

{
  "eventId": 1640229582,
  "home": "Home FC",
  "away": "Away United",
  "capturedAt": "2026-11-08T15:00:12Z",
  "markets": [
    {
      "market": {
        "key": "s;0;m",
        "type": "moneyline",
        "main": true,
        "margin": 0.041,
        "outcomes": [
          { "name": "home", "decimal": 2.05, "fair": 2.14 },
          { "name": "away", "decimal": 1.90, "fair": 1.98 }
        ]
      }
    }
  ]
}

Compute CLV in Python#

import os, requests

KEY = os.environ["PINNFEED_KEY"]
BASE = "https://pinnfeed.io/v1"
event_id, market_key, side, taken = 1640229582, "s;0;m", "home", 2.10

r = requests.get(f"{BASE}/closing/{event_id}", headers={"x-api-key": KEY}, timeout=10)
r.raise_for_status()
m = next(x["market"] for x in r.json()["markets"] if x["market"]["key"] == market_key)
fair = next(o["fair"] for o in m["outcomes"] if o["name"] == side)
clv = taken / fair - 1
print(f"took {taken}, closed fair {fair:.3f}, CLV {clv:+.2%}")

Whole UTC day for research:

curl -sS -H "x-api-key: $PINNFEED_KEY" \
  "https://pinnfeed.io/v1/closing?date=2026-11-08&sport=soccer&main=true"

Trial CTA#

Builder includes closing history — see pricing. 3-day trial; card required, charged after day 3 unless cancelled. Also: value betting with no-vig odds, REST reference.

Questions people ask#

Should I use raw close or fair close?#

Use fair (no-vig). Beating a raw price that still contains Pinnacle's margin overstates edge. PinnFeed exposes both.

When is the close captured?#

When the event starts: the last prematch price per market, with capturedAt.

Is this educational content for adults?#

Yes (18+). CLV is a statistical concept, not a tip or a guaranteed edge.

The WebSocket plan: Builder, €99/mo.

Real-time Pinnacle odds pushed over one WebSocket, all 13 sports, every market, no-vig fair odds and closing lines. 3 days free, cancel in one click.

Form K-1 · Free API key

Get your free API key.

No password. We email you a link; click it and your key is on screen.

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