On the wire · 14:57:33 UTC Live 125 · Prematch 8,516 · Markets 34,152 Vol. I · No. 1 · Monday 9 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · Tennis

Pinnacle tennis odds API

Updated · PinnFeed · 1 min read

Answer: use sport slug tennis. REST: GET /v1/odds?sport=tennis&main=true. WebSocket subscribe: "sports":["tennis"] on Builder (€99/mo).

REST#

export PINNFEED_KEY="ps_live_..."
curl -sS -H "x-api-key: $PINNFEED_KEY" \
  "https://pinnfeed.io/v1/odds?sport=tennis&market=moneyline,total&main=true&live=true&limit=20" \
  | jq '.events[] | {league: .league.name, home, away, markets: [.markets[] | {type, line, outcomes: [.outcomes[] | {name, decimal, fair}]}]}'

WebSocket#

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

Connect to wss://pinnfeed.io/v1/stream with x-api-key. See WebSocket docs and the Python example answer.

Trial CTA#

Pricing — Free for delayed REST, Builder for push. 3-day trial on paid plans; card required, charged after day 3 unless cancelled.

Questions people ask#

Are ATP and WTA separate sports?#

No. Both arrive under tennis; distinguish via league.name on each event.

Does Free include tennis?#

Free lets you pick 2 sports in the dashboard. Choose tennis there, or upgrade.

Is this educational content for adults?#

Yes (18+).

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.