On the wire · 05:07:24 UTC Live 585 · Prematch 14,345 · Markets 57,129 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · curl · OpenAPI

Pinnacle odds API curl recipes from the OpenAPI spec

Updated · PinnFeed · 2 min read

Answer: Point curl at https://pinnfeed.io with header x-api-key: $PINNFEED_KEY. The live contract is /openapi.json. Free (€0, 30 s delay, 2 sports) covers every REST path below except closing lines (Builder+).

Setup#

export PINNFEED_KEY="ps_live_..."
alias pf='curl -sS -H "x-api-key: $PINNFEED_KEY" -H "accept: application/json"'

Account and sports#

pf https://pinnfeed.io/v1/account | jq .
pf https://pinnfeed.io/v1/sports | jq '.sports[] | {id,slug,inPlan,live,prematch}'

Events and odds (paginated)#

# Upcoming soccer moneylines, main lines only
pf "https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=20" | jq '.events | length'

# Next page
pf "https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=20&offset=20" | jq .

# Event list without markets
pf "https://pinnfeed.io/v1/events?sport=tennis&live=false&limit=10" | jq .

# One event with markets
pf "https://pinnfeed.io/v1/events/EVENT_ID?main=true" | jq .

Drops and closing lines#

# Price drops ≥5% in the last 15 minutes
pf "https://pinnfeed.io/v1/drops?sport=soccer&minutes=15&min_pct=5&limit=50" | jq .

# Closing lines for a UTC day (Builder+)
pf "https://pinnfeed.io/v1/closing?date=2026-11-08&sport=soccer&main=true&limit=50" | jq .

# Closing lines for one event
pf "https://pinnfeed.io/v1/closing/EVENT_ID" | jq .

Auth errors you will see#

HTTPMeaning
401Missing or bad x-api-key
403Plan lacks the endpoint (e.g. Free hitting /v1/closing)
429rate_limited (per-second limit, with Retry-After) or daily_quota (Free: 1,000/day)

Full schemas: REST docs. For push instead of poll, use the Python/Node WebSocket guide on Builder (€99/mo). Paid plans include a 3-day trial; a card is required and it is charged after day 3 unless you cancel. Educational content for adults (18+).

Questions people ask#

Does curl work on the Free plan?#

Yes for /v1/account, /v1/sports, /v1/events, /v1/odds and /v1/drops (30 s delay, 2 sports, 1,000 requests/day). Closing lines need Builder or Pro.

Is there a WebSocket curl example?#

Not with curl. For a terminal test use wscat: wscat recipe. For real clients, see the Python or Node code in the WebSocket guide.

Where is the OpenAPI file?#

https://pinnfeed.io/openapi.json. Import it into Postman, Insomnia or openapi-generator if you prefer generated clients over hand-written curl.

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.