Integrate Live Scores
This is the fun part — and the most common reason to use the API. Let’s get a live score on your screen. Here’s one happening right now:
How a score reaches you
Section titled “How a score reaches you”The moment a point is scored on court, it’s all automatic — you only plug in at the very end:
You read matches — the API takes care of everything up to that point.
Three ways to receive scores
Section titled “Three ways to receive scores”Pick whichever fits. Most apps use WebSocket for instant updates and REST as a backup.
| You want… | Use | Login? | |---|---|---| | Instant updates | Realtime / WebSocket | no (public rooms) | | Dead-simple polling | REST | no | | “What’s on this court?” (QR) | By the court | no | | Push into your backend | Push / webhooks | M2M token |
Try it right now
Section titled “Try it right now”This is the single most useful call — every match in progress, this second. Hit the button:
https://api.myscore.live/api/v1/live/matches No key, no setup — that’s a real response from the production API. 🎉
What you got back
Section titled “What you got back”Each match looks like this:
{ "id": "mtch_006", "status": "in_progress", "sets": [{ "home": 6, "guest": 5 }, { "home": 3, "guest": 1 }], "home": { "id": "...", "name": "Roger Federer" }, "guest": { "id": "...", "name": "Rafael Nadal" }, "court": { "id": "...", "name": "Centre Court" }, "tournament": { "id": "...", "name": "Summer Open" }}setsis a list of{ home, guest }game counts — one entry per set played.statusmovesscheduled → in_progress → completed(it can also besuspendedorcancelled).
Ready? Pick a delivery method and let’s wire it up.