AsyncAPI channel · ParlayAPI · ParlayAPI Real-time Odds Stream

/odds/{sportKey}

API-key-authenticated SSE. Same data feed as the WebSocket channel above. One-way (server to client). Each message is a single `data:` line carrying the JSON envelope. Heartbeat every 5 seconds by default to prove the stream is live through corporate proxies. Query params: apiKey, event_id, bookmakers, markets, kinds, heartbeat_s, limit, since, diff.

Provider: ParlayAPI AsyncAPI: v3.0.0 Spec: ParlayAPI Real-time Odds Stream Operations: 1 Messages: 6

Channel address

/odds/{sportKey}

Parameters

Operations

receive
receiveSseStream
Receive odds updates as Server-Sent Events. Same data, different transport.

Messages

connected
Sent once immediately after upgrade. Confirms auth, tier, push mode, and any active query-param filters.
Content-Type:
hot_feed_status
Sent once after `connected`, before `initial_state`. Carries the per-source freshness map at connect time so clients can decide whether to trust the immediate snapshot.
Content-Type:
initial_state
Sent once after `connected`. Carries every active row for the subscribed sport, filtered by any active query params. Honors the `since` resume cursor when within the 60-minute lookback window; falls b
Content-Type:
odds_update
Sent every time a row in `odds_snapshots` or `prop_snapshots` for this sport changes. Payload shape varies by `diff_mode`: when off, every field of the affected row is included; when on, only the chan
Content-Type:
heartbeat
Sent on idle channel timeout (default 30 s for WS, configurable 1-30 s for SSE via `heartbeat_s`). Carries server timestamp; clients should treat absence of any frame for 2x heartbeat as a disconnect
Content-Type:
stream_status
Reports unresolved Pinnacle fixture families once per subscription generation. It contains no odds. Valid families continue; a fresh current snapshot is required to clear the incomplete-coverage warni
Content-Type:

About AsyncAPI

The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.

Browse every event-driven channel on the APIs.io network or compare with the broader Agent Skill and MCP server surfaces of the same providers.

Work with this as data

Every channel here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for event channels

4 MCP tools reach this
  • find_channelsBrowse and filter every channel in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This channel
curl "https://apis.io/api/v1/channels/parlayapi-real-time-odds-stream-odds-sportkey"
All event channels
curl "https://apis.io/api/v1/channels?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.