Pinnacle NFL odds API (american-football)
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.