On the wire · 04:46:49 UTC Live 550 · Prematch 14,364 · Markets 56,967 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · Python · fairProb

Screen Pinnacle odds for EV with fairProb in Python

Updated · PinnFeed · 1 min read

Answer: Each outcome on GET /v1/odds includes decimal, fair (no-vig decimal) and usually fairProb. Compare another book’s decimal to Pinnacle’s fair (or to 1/fairProb) to flag positive expected value. This is educational screening, not a tip service.

Main-line soccer screen#

import os, requests

KEY = os.environ["PINNFEED_KEY"]
r = requests.get(
    "https://pinnfeed.io/v1/odds",
    headers={"x-api-key": KEY},
    params={"sport": "soccer", "market": "moneyline", "main": "true", "limit": 40},
    timeout=20,
)
r.raise_for_status()

# Example: soft book prices you already scraped elsewhere
soft = {("Home FC", "Away United", "home"): 2.40}

for ev in r.json().get("events", []):
    key = (ev.get("home"), ev.get("away"))
    m = next((x for x in ev.get("markets", []) if x.get("type") == "moneyline"), None)
    if not m:
        continue
    for o in m.get("outcomes", []):
        name = o.get("name")  # home / away / draw
        fair = o.get("fair") or (1 / o["fairProb"] if o.get("fairProb") else None)
        soft_dec = soft.get((*key, name))
        if fair and soft_dec and soft_dec > fair * 1.02:
            print(ev["home"], "v", ev["away"], name, "soft", soft_dec, "fair", round(fair, 3))

Uses only published REST fields from /openapi.json. Free works (delayed). Live push: Builder (€99/mo). Paid plans: 3-day trial; a card is required and it is charged after day 3 unless you cancel. See also the value-betting guide. Educational content for adults (18+). No guaranteed profit.

Questions people ask#

Is fair the same as fairProb?#

fair is the no-vig decimal price; fairProb is the implied fair probability (≈ 1/fair after vig removal). Prefer the field your client already stores.

Does this find arb?#

No — it screens one sharp book (Pinnacle via PinnFeed) against another price you supply. For multi-book arb you need another data source; PinnFeed is Pinnacle-only.

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.

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.