Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Docs

Push Events

Provides real-time event updates for all live matches.

Syntax

https://api.sportradar.com/darts/{access_level}/stream/events/subscribe

Parameters

ParameterDescription
access_levelDefines the access level of your API key

production, trial
🔐

Authorization

Place your API key in the header for each request (x-api-key)


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
channelChannel type

channel=darts
competition_idCompetition id

Example: competition_id=sr:competition:27230
event_idEvent type

Example: event_id=dart
formatFormat type

json, xml

Example: format=json
season_idSeason id

Example: season_id=sr:season:59654
sport_event_idSport event id

Example: sport_event_id=sr:sport_event_id:18243959
sport_idSport id

sport_id=sr:sport:22


Code Samples

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

url = URI("https://api.sportradar.com/darts/trial/stream/events/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/darts/trial/stream/events/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/darts/trial/stream/events/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/darts/trial/stream/events/subscribe?&format=json&sport_event_id=sr:sport_event_id:18243959")

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/darts/trial/stream/events/subscribe",
params = {'format': 'json', 'sport_event_id': 'sr:sport_event_id:18243959'},
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/darts/trial/stream/events/subscribe?&format=json&sport_event_id=sr:sport_event_id:18243959'
-H 'x-api-key: {your_api_key}'


Response Sample

The above command returns json structured like this.



Data Points

Metadata
AttributeParent ElementTypeDescription
channelmetadataStringSport of the stream connection

ex. darts
competition_idmetadataStringUnique Id of a competition

ex. sr:competition:25469
event_idmetadataStringDescription of a push timeline event

ex. match_started, match_ended, first_throw, period_start, leg_score_change, period_score, score_change, dart, match_info
formatmetadataStringFormat type of the response

json, xml
season_idmetadataStringUnique Id of a season

ex. sr:season:116589
sport_event_idmetadataStringUnique Id of a sport event

ex. sr:sport_event_id:50451013
sport_idmetadataStringUnique Id of a sport

ex. sr:sport:22
fromheartbeatIntegerUnix timestamp of the beginning of a heartbeat message

ex. 1722267631
toheartbeatIntegerUnix timestamp of the end of a heartbeat message

ex. 1722267636
intervalheartbeatIntegerInterval of a heartbeat message in seconds
typeheartbeatStringType of heartbeat message

ex. events
packageheartbeatStringPackage of a heartbeat message

ex. darts-v2
Sport Event Status
AttributeParent ElementTypeDescription
away_scoresport_event_statusIntegerTotal score for the away competitor in a match
home_scoresport_event_statusIntegerTotal score for the home competitor in a match
match_statussport_event_statusStringStatus within a match (sport event). Provides more detail on the state of a match when live than status

ex. not_started, 1st_set, pause, postponed

See our FAQ for a complete list of statuses and their definitions.
scount_abandonedsport_event_statusBooleanSignifies a match was abandoned by a scout when true
statussport_event_statusStringStatus of a sport event

ex. not_started, live, ended, closed

See our FAQ for a complete list of statuses and their definitions.
winner_idsport_event_statusStringUnique ID of the match winner

ex. sr:competitor:85671
Period Scores
AttributeParent ElementTypeDescription
away_scoresport_event_status - period_scoresIntegerAway competitor set score
home_scoresport_event_status - period_scoresIntegerHome competitor set score
numbersport_event_status - period_scoresIntegerSet number
typesport_event_status - period_scoresStringPeriod type

ex. regular_period
Match Timeline
AttributeParent ElementTypeDescription
away_scoreeventIntegerAway competitor point score
best_of_legseventIntegerNumber of legs for a match
best_of_setseventIntegerNumber of sets for a match
competitoreventStringDesignation of a competitor for a timeline event

home, away
dart_scoreeventIntegerNumber hit for a dart throw
dart_score_multipliereventIntegerSignifies a multiplier was hit for a dart throw

ex. 1, 2, 3
dart_score_totaleventIntegerNumber of total points for a dart throw
home_scoreeventIntegerHome competitor point score
ideventIntegerUnique ID for a timeline event

ex. 1865222675
is_busteventBooleanSignifies a competitor busted on a dart throw when true
is_checkout_attempteventBooleanSignifies a dart throw is a checkout attempt when true
is_gameshoteventBooleanSignifies a dart throw is a game shot when true
periodeventIntegerPeriod number of a timeline event. Populates for each period_score event.
resulteventStringSignifies the winning competitor for a match

home, away
timeeventDate-timeTimestamp of a timeline event

ex. 2024-04-16T20:49:49+00:00
typeeventStringType of timeline event

ex. match_started, match_ended, first_throw, period_start, leg_score_change, period_score, score_change, dart, match_info