On the wire · 15:07:07 UTC Live 131 · Prematch 8,506 · Markets 35,146 Vol. I · No. 1 · Monday 9 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · NFL · American football

Pinnacle NFL odds API (american-football)

Updated · PinnFeed · 1 min read

Answer: PinnFeed's sport slug is american-football (id 5). There is no nfl slug. Poll GET /v1/odds?sport=american-football&market=moneyline,spread,total&main=true, or subscribe "sports":["american-football"] on the Builder WebSocket (€99/mo). Filter NFL vs college (and other leagues) with league.name in your client.

REST#

export PINNFEED_KEY="ps_live_..."
curl -sS -H "x-api-key: $PINNFEED_KEY" \
  "https://pinnfeed.io/v1/odds?sport=american-football&market=moneyline,spread,total&main=true&limit=40"

Example filter after parse (illustrative):

events = r.json()["events"]
nfl = [e for e in events if "NFL" in (e.get("league") or {}).get("name", "")]

WebSocket (Builder)#

{
  "type": "subscribe",
  "sports": ["american-football"],
  "markets": ["moneyline", "spread", "total"],
  "main": true,
  "specials": false
}

Connect to wss://pinnfeed.io/v1/stream with x-api-key. Full client: Python WebSocket example. Sport ids: schema.

Trial CTA#

Live push: Builder. 3-day trial; card required, charged after day 3 unless cancelled. Free delayed REST: signup.

Questions people ask#

Why not sport=nfl?#

PinnFeed uses the 13 upstream sport slugs. NFL games arrive under american-football leagues; filter client-side.

Can Free include NFL?#

Free lets you pick 2 sports in the dashboard. Choose american-football there (30 s delay, main markets, 1,000 req/day).

Is this educational content for adults?#

Yes (18+). Odds tooling, not tips.

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.