Integration GuidesReference Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Reference Docs

Push Game Clock

NBA Push Game Clock Provides a running game clock emitted continuously for live NBA games.

Syntax

https://api.sportradar.com/nba/{access_level}/stream/{language_code}/game_clock/subscribe

Parameters

ParameterDescription
access_levelDefines the access level of your API key

production, trial
language_code2-letter code for supported languages

en (English)

Optional Query String Parameters

By default, a Push feed will provide all data available for all in progress games. If needed, you can filter the data returned by including query strings.

Each query string parameter can be added with a preceding ampersand (&).

ParameterDescription
matchMatch id

Example: match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56
statusGame status

inprogress, created

Example: status=inprogress
resumeSessionIdResumes a dropped session within 10 minutes of its last message and replays what you missed; see Disconnections on the Push Feeds page

Example: resumeSessionId=<sessionId>


Code Samples

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nba/trial/stream/en/game_clock/subscribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["x-api-key"] = "{your_api_key}"  # Replace with your actual key

response = http.request(request)
puts response.read_body
import requests
import json

headers = {
    'x-api-key': 'your_api_key'  # Replace with your actual key
}

r = requests.get(
    "https://api.sportradar.com/nba/trial/stream/en/game_clock/subscribe",
    headers=headers,
    allow_redirects=False
)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True, headers=headers)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
curl -L -X GET 'https://api.sportradar.com/nba/trial/stream/en/game_clock/subscribe' \
  -H 'x-api-key: {your_api_key}'

Samples with Query String Params

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nba/trial/stream/en/game_clock/subscribe?&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["x-api-key"] = "{your_api_key}"  # Replace with your actual key

response = http.request(request)
puts response.read_body
import requests
import json

headers = {
    'x-api-key': 'your_api_key'  # Replace with your actual key
}

r = requests.get("https://api.sportradar.com/nba/trial/stream/en/game_clock/subscribe",
    params = {'status': 'inprogress', 'match': 'sd:match:673b459c-7506-4c11-9273-1b9502537f1d'},
    allow_redirects=False)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
curl -L -X GET 'api.sportradar.com/nba/trial/stream/en/game_clock/subscribe?&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56'
  -H 'x-api-key: {your_api_key}'


Response Samples

{
  "payload": {
    "game": {
      "id": "023405e4-4019-4c27-ae8b-b7064db1d8d0",
      "status": "inprogress",
      "coverage": "full",
      "reference": "0022600001",
      "scheduled": "2026-10-20T19:00:00+00:00",
      "home": {
        "name": "Pistons",
        "market": "Detroit",
        "reference": "1610612765",
        "id": "583ec928-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3424"
      },
      "away": {
        "name": "Celtics",
        "market": "Boston",
        "reference": "1610612738",
        "id": "583eccfa-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3422"
      },
      "sr_id": "sr:match:73682354"
    },
    "period": {
      "sequence": 1,
      "number": 1
    },
    "clocks": {
      "game": "1029",
      "running": true,
      "shot": "22.00",
      "game_decimal": "1029"
    }
  },
  "locale": "en",
  "metadata": {
    "match": "sd:match:023405e4-4019-4c27-ae8b-b7064db1d8d0,sr:match:73682354",
    "league": "nba",
    "locale": "en",
    "status": "inprogress",
    "operation": "update",
    "version": "v7"
  }
}

{
  "payload": {
    "game": {
      "id": "023405e4-4019-4c27-ae8b-b7064db1d8d0",
      "status": "inprogress",
      "coverage": "full",
      "reference": "0022600001",
      "scheduled": "2026-10-20T19:00:00+00:00",
      "home": {
        "name": "Pistons",
        "market": "Detroit",
        "reference": "1610612765",
        "id": "583ec928-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3424"
      },
      "away": {
        "name": "Celtics",
        "market": "Boston",
        "reference": "1610612738",
        "id": "583eccfa-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3422"
      },
      "sr_id": "sr:match:73682354"
    },
    "period": {
      "sequence": 1,
      "number": 1
    },
    "clocks": {
      "game": "1029",
      "running": true,
      "shot": "21.00",
      "game_decimal": "1029"
    }
  },
  "locale": "en",
  "metadata": {
    "match": "sd:match:023405e4-4019-4c27-ae8b-b7064db1d8d0,sr:match:73682354",
    "league": "nba",
    "locale": "en",
    "status": "inprogress",
    "operation": "update",
    "version": "v7"
  }
}

{
  "payload": {
    "game": {
      "id": "023405e4-4019-4c27-ae8b-b7064db1d8d0",
      "status": "inprogress",
      "coverage": "full",
      "reference": "0022600001",
      "scheduled": "2026-10-20T19:00:00+00:00",
      "home": {
        "name": "Pistons",
        "market": "Detroit",
        "reference": "1610612765",
        "id": "583ec928-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3424"
      },
      "away": {
        "name": "Celtics",
        "market": "Boston",
        "reference": "1610612738",
        "id": "583eccfa-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3422"
      },
      "sr_id": "sr:match:73682354"
    },
    "period": {
      "sequence": 1,
      "number": 1
    },
    "clocks": {
      "game": "1028",
      "running": true,
      "shot": "21.00",
      "game_decimal": "1028"
    }
  },
  "locale": "en",
  "metadata": {
    "match": "sd:match:023405e4-4019-4c27-ae8b-b7064db1d8d0,sr:match:73682354",
    "league": "nba",
    "locale": "en",
    "status": "inprogress",
    "operation": "update",
    "version": "v7"
  }
}

{
  "payload": {
    "game": {
      "id": "023405e4-4019-4c27-ae8b-b7064db1d8d0",
      "status": "inprogress",
      "coverage": "full",
      "reference": "0022600001",
      "scheduled": "2026-10-20T19:00:00+00:00",
      "home": {
        "name": "Pistons",
        "market": "Detroit",
        "reference": "1610612765",
        "id": "583ec928-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3424"
      },
      "away": {
        "name": "Celtics",
        "market": "Boston",
        "reference": "1610612738",
        "id": "583eccfa-fb46-11e1-82cb-f4ce4684ea4c",
        "sr_id": "sr:team:3422"
      },
      "sr_id": "sr:match:73682354"
    },
    "period": {
      "sequence": 1,
      "number": 1
    },
    "clocks": {
      "game": "1028",
      "running": true,
      "shot": "20.00",
      "game_decimal": "1028"
    }
  },
  "locale": "en",
  "metadata": {
    "match": "sd:match:023405e4-4019-4c27-ae8b-b7064db1d8d0,sr:match:73682354",
    "league": "nba",
    "locale": "en",
    "status": "inprogress",
    "operation": "update",
    "version": "v7"
  }
}

Simulations

Simulations support for Push Game Clock is coming soon. In the meantime, see our Simulations documentation for how our replay service works, including Push simulations.




📘

Streaming Live Data

Learn how to use the Push Game Clock feed to stream live NBA game clock updates in our Push Feeds integration scenario.

Data Points

Game
AttributeParent ElementTypeDescription
coveragegameStringCoverage level of a game

full, extended_boxscore
idgameGUIDUnique ID of a game

ex. 023405e4-4019-4c27-ae8b-b7064db1d8d0
referencegameStringLeague reference ID of a game

ex. 0022600001
sr_idgameGUIDUnique Sportradar ID of a game

ex. sr:match:73682354
statusgameStringThe status of a game

scheduled, created, inprogress, halftime, complete, closed, cancelled, delayed, postponed, time-tbd, if-necessary, unnecessary

Please see our FAQ section for a list of game status definitions
scheduledgamedateTimeScheduled date and time of a game

ex. 2026-10-20T19:00:00+00:00
Teams
AttributeParent ElementTypeDescription
idgame - awayGUIDUnique ID of the away team

ex. 583eccfa-fb46-11e1-82cb-f4ce4684ea4c
marketgame - awayStringMarket name of the away team

ex. Boston
namegame - awayStringAway team name

ex. Celtics
referencegame - awayStringLeague reference ID of the away team

ex. 1610612738
sr_idgame - awayGUIDUnique Sportradar ID of the away team

ex. sr:team:3422
idgame - homeGUIDUnique ID of the home team

ex. 583ec928-fb46-11e1-82cb-f4ce4684ea4c
marketgame - homeStringMarket name of the home team

ex. Detroit
namegame - homeStringHome team name

ex. Pistons
referencegame - homeStringLeague reference ID of the home team

ex. 1610612765
sr_idgame - homeGUIDUnique Sportradar ID of the home team

ex. sr:team:3424
Period
AttributeParent ElementTypeDescription
numberperiodIntegerNumber of a quarter
sequenceperiodIntegerSequential number of a quarter
Clock
AttributeParent ElementTypeDescription
gameclocksStringGame clock value

ex. 1029
game_decimalclocksStringClock value in decimal form when the game clock is under 1:00. Otherwise it displays the same value as game

ex. 1029
runningclocksBooleanSignifies the game clock was running when the message was sent
shotclocksStringShot clock value

ex. 22.00
Metadata
AttributeParent ElementTypeDescription
leaguemetadataStringAlias of a league

ex. nba
localemetadataStringLanguage code

ex. en (English)
matchmetadataStringComma-separated list of game identifiers

ex. sd:match:023405e4-4019-4c27-ae8b-b7064db1d8d0,sr:match:73682354
operationmetadataStringOperation of an update

update, delete
statusmetadataStringThe status of a game

Please see our FAQ section for a list of game status definitions
versionmetadataStringVersion of the API

ex. v7