Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Docs

Provides real-time event updates for all live matches.

Syntax

https://api.sportradar.com/darts/{access_level}/stream/events/subscribe?api_key={your_api_key}

Replace placeholders with the following query parameters:

ParameterDescription
access_levelDefines the access level of your API key as Production (production) or Trial (trial).
your_api_keyYour API key.

Optional Query String Parameters

In addition to the URL parameters listed above, you can filter the Clock information with one or more of the following optional query string parameters.

📘

Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.

Replace placeholders with the following query parameters:

ParameterDescription
channelChannel type expressed as: {channel_type}.
Example: channel=darts
competition_idCompetition Id expressed as: {competition_id}.
Example: competition_id=sr:competition:27230
event_idEvent type expressed as: {event_type}.
Example: event_id=dart
formatFormat type expressed as: {format}.
Example: format=json
season_idSeason id expressed as: {season_id}.
Example: season_id=sr:season:59654
sport_event_idSport event id expressed as: {sport_event_id}.
Example: sport_event_id=sr:sport_event_id:18243959
sport_idSport id expressed as: {sport_id}.
Example: 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?api_key={your_api_key}")

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)

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

r = requests.get("https://api.sportradar.com/darts/trial/stream/events/subscribe",
    params = {'api_key': 'your_api_key'},
    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 GET 'api.sportradar.com/darts/trial/stream/events/subscribe?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?api_key={your_api_key}&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)

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

r = requests.get("https://api.sportradar.com/darts/trial/stream/events/subscribe",
    params = {'api_key': 'your_api_key', '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 GET 'https://api.sportradar.com/darts/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18243959'


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