All systems normalData updated just nowStatusChangelogSupport
badmintonapi

Live stream

Live

Live scores pushed to you as Server-Sent Events: every match in play on connect, then each match the moment its score, status or prices change, and a heartbeat every 15 seconds. A connection lasts about 5 minutes and counts as one call; reconnect when it ends (EventSource does by itself). Two streams at a time per key.

This answers text/event-stream, not JSON. Run below shows the events as they arrive for up to a minute; Stop ends it sooner. The key goes in a header, so read the stream with fetch or a client that sets headers: the browser's EventSource cannot send one.

GET/v1/live/stream

Try it

Kept in this browser and filled in on every page. A key made in your account lands here by itself.

Answer

Press Run to call the API with your key. The answer appears here.

Parameters

disciplinetext
MS, WS, MD, WD or XD. MSWSMDWDXD

Returns

hello
Event, on connect: plan, discipline (the filter, or null), closes_at (when the server will end this connection) and check_seconds.
snapshot
Event, on connect: data, every match in play as /v1/live gives them, and meta with count and at.
match
Event: one match, as /v1/live gives it, whenever its score, status or prices change; a match that finishes is sent once more with status finished and its final score.
seen
Event, every 15 seconds when nothing has changed: live (matches in play) and at. It also keeps the connection open through proxies.
bye
Event, before the server ends the connection: reconnect. EventSource reconnects by itself; a new connection is a new call and starts with a fresh snapshot.