Cricket Database
0 of 50 calls today
Get a free API key Sign in Dashboard Upgrade

Live stream

GET/v1/live/stream

On each planFree keyNot includedMatch WeekIn fullArchiveNot includedProIn fullAnalyst ProIn full

Live scores pushed instead of polled: one connection sends server-sent events as they happen. snapshot on connect (every match in play, as /v1/live gives it), score when a match's score or state changes, and ball for every new ball (as /v1/live/{match}/balls gives it, with its match). match= follows one match only. Send the key in a header as on every call, so read it with any SSE client on a server (curl -N, Python sseclient, Node eventsource). Each event carries an id: a client that reconnects sends it back by itself and carries on with no ball missed or repeated. A connection lasts 2 minutes and the client reconnects by itself; each connection counts as one call, and a key holds up to 2 at once. For the balls already bowled, call /v1/live/{match}/balls once, then follow the stream.

Parameters

NameInValuesRequired
matchqueryA live match address from /v1/live; leave out for every match in play

Request

curl -H "Authorization: Bearer $CDB_KEY" \
  "https://api.cricketdatabase.com/v1/live/stream"

Response

{
    "data": {
        "stream": "text/event-stream",
        "events": {
            "snapshot": "every match in play on connect, as /v1/live gives it",
            "score": "a match whose score or state changed (one /v1/live row)",
            "ball": "one new ball, as /v1/live/{match}/balls gives it, with its match"
        },
        "matches_in_play": [
            {
                "match": "2026-10-09-afghanistan-v-bangladesh",
                "name": "Afghanistan v Bangladesh",
                "competition": "Bangladesh tour of United Arab Emirates 2026/27",
                "format": "Test",
                "state": "live",
                "international": true,
                "women": false,
                "status": "Afghanistan require 347 runs",
                "starts_at": "2026-10-09T06:00:00Z",
                "venue": "Zayed Cricket Stadium, Abu Dhabi",
                "city": "Abu Dhabi",
                "teams": [
                    {
                        "name": "Afghanistan",
                        "score": "240 & 132/3 (50 ov, target 479)"
                    },
                    {
                        "name": "Bangladesh",
                        "score": "346 & 372/7d"
                    }
                ],
                "innings": [
                    {
                        "innings": 1,
                        "team": "Bangladesh",
                        "runs": 346,
                        "wickets": 10,
                        "overs": "92.3",
                        "chase_target": null,
                        "innings_declared": false
                    },
                    {
                        "innings": 2,
                        "team": "Bangladesh",
                        "runs": 0,
                        "wickets": 0,
                        "overs": "89.1",
                        "chase_target": null,
                        "innings_declared": false
                    },
                    "... 2 more"
                ],
                "ball_by_ball": true,
                "batting": "Bangladesh",
                "winner": null,
                "updated_at": "2026-10-12T21:42:05Z"
            },
            {
                "match": "2026-10-09-south-africa-v-australia",
                "name": "South Africa v Australia",
                "competition": "Australia tour of South Africa 2026/27",
                "format": "Test",
                "state": "live",
                "international": true,
                "women": false,
                "status": "South Africa require 319 runs",
                "starts_at": "2026-10-09T07:30:00Z",
                "venue": "Kingsmead, Durban",
                "city": "Durban",
                "teams": [
                    {
                        "name": "South Africa",
                        "score": "284 & 102/4 (41 ov, target 421)"
                    },
                    {
                        "name": "Australia",
                        "score": "390 & 314/6d"
                    }
                ],
                "innings": [
                    {
                        "innings": 1,
                        "team": "Australia",
                        "runs": 390,
                        "wickets": 10,
                        "overs": "137.2",
                        "chase_target": null,
                        "innings_declared": false
                    },
                    {
                        "innings": 2,
                        "team": "Australia",
                        "runs": 0,
                        "wickets": 0,
                        "overs": "78",
                        "chase_target": null,
                        "innings_declared": false
                    },
                    "... 2 more"
                ],
                "ball_by_ball": true,
                "batting": "Australia",
                "winner": null,
                "updated_at": "2026-10-12T21:42:06Z"
            },
            "... 24 more"
        ]
    },
    "meta": {
        "plan": "plus",
        "note": "The call itself answers a stream of events; this is what its first event carries."
    }
}

A real response from the database for the example request, on a Analyst Pro key. Lists are cut to their first two items.

Run it live

A real request from your browser straight to api.cricketdatabase.com with your own key. Keys you add are kept in this browser, and the page remembers the one you last used. No key yet? Get a free key.