Sse Odds
Business+ tier SSE endpoint. Same data feed as /ws/odds, just streamed as text/event-stream so corporate proxies / browser EventSource / HTTP-only environments work without a WebSocket upgrade.
Auth takes the X-API-Key header, an Authorization: Bearer header, or ?apiKey= (EventSource in a browser cannot set headers). Headers win when both are present.
Each event is a single JSON line in the standard SSE shape: data: {"type": "odds_update", "sport_key": "...", ...}\n\n
Heartbeat every 5s by default to prove the stream is live through corporate proxies and browser EventSource clients. Initial state and source freshness are sent immediately on connect.
Request
- Base URL: https://parlay-api.com
- URL: https://parlay-api.com/v1/sse/odds/{sport_key}
- Auth: none declared
Path parameters
Query parameters
API key. Prefer the X-API-Key header, which keeps the key out of URLs and logs; browser EventSource cannot set headers, so this stays supported.
Optional: filter to one game's event_id
Comma-separated books, e.g. fanduel,pinnacle
Comma-separated books, e.g. fanduel,pinnacle Repeating this parameter is the same as the comma form: ?markets=h2h&markets=spreads and ?markets=h2h,spreads are one request, billed identically, and return the union. A value repeated across occurrences is counted once.
Comma-separated prop market keys, e.g. player_points,player_rebounds
Comma-separated prop market keys, e.g. player_points,player_rebounds Repeating this parameter is the same as the comma form: ?markets=h2h&markets=spreads and ?markets=h2h,spreads are one request, billed identically, and return the union. A value repeated across occurrences is counted once.
Comma-separated row kinds: game,prop
SSE heartbeat seconds
Initial snapshot row limit (per frame in snapshot=complete mode)
Opt in to complete Novig/Pick6 NFL yards or Bet365/DraftKings/FanDuel NFL/NCAAF football prop snapshot chunks. Stage chunks until snapshot_complete.
Resume from this timestamp_ms. Skips initial replay of rows older than this.
If true, frames after initial_state include only fields that changed since the last frame for the same (event_id, bookmaker, market_key) tuple
Drop game-line rows whose retained price/source timestamp is older than this many seconds. Defaults to 600; maximum 3600. The timestamp may remain unchanged when an upstream poll sees the same price.
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.