Get Pinnacle closing lines via API for CLV
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.