Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Docs

Push Scorecard

Detailed real-time round scoring including player information, player scoring per hole, and overall tournament scoring per player.

Syntax

https://api.sportradar.com/golf/{access_level}/stream/{golf_tour}/scorecards/subscribe?&locale=en


Parameters

ParameterDescription
access_levelDefines the access level of your API key

production, trial
golf_tourGolf tour

champ (PGA Tour Champions), euro (PGA European Tour), liv (LIV Golf), lpga (LPGA), oly (Olympics), pga (PGA Tour), pgad (Korn Ferry Tour)
🔐

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
tournamentTournament id

Example: sd:tournament:9db12181-b55d-4e4f-8c18-936f4c7c7e2d
tournament_typeTournament type

Example: tournament_type=stroke
scoring_systemScoring system

Example: scoring_system=match
roundRound sequence number

Example: round=2
playerPlayer id

Example: sd:player:da226913-b804-48de-adbf-96e956eb75ac
localeLanguage returned expressed as a 2-letter code

zh (Chinese - simplified), zht (Chinese - traditional), da (Danish), nl (Dutch), en (English), fi (Finnish), fr (French), de (German), it (Italian), ja (Japanese), ko (Korean), no (Norwegian), es (Spanish), se (Swedish)

Example: locale=en

Click **here ** for a tabular list of available languages per competition.
🏌️‍♂️

Note

In case of disconnection with the feed, use the RESTful api Scorecards Per Round feed to recover any potentially missed data.



Code Samples

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

url = URI("https://api.sportradar.com/golf/trial/stream/pga/scorecards/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/golf/trial/stream/pga/scorecards/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/golf/trial/stream/pga/scorecards/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/golf/trial/stream/pga/scorecards/subscribe?&locale=en&tournament=sd:tournament:9db12181-b55d-4e4f-8c18-936f4c7c7e2d&scoring_system=stroke")

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/golf/trial/stream/pga/scorecards/subscribe",
    params = {'locale': 'en', 'tournament': 'sd:tournament:9db12181-b55d-4e4f-8c18-936f4c7c7e2'},
    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/golf/trial/stream/pga/scorecards/subscribe?&locale=en&tournament=sd:tournament:9db12181-b55d-4e4f-8c18-936f4c7c7e2d&scoring_system=stroke'
  -H 'x-api-key: `{your_api_key}`'


Response Sample

The above commands return json like this.



Data Points

Metadata
AttributeParent ElementTypeDescription
localemetadataStringLanguage code

ex. en (English)
playermetadataGUIDUnique ID(s) of a player

ex. sd:player:8ed30358-ddd0-4704-8b72-3e711b73a73e,sr:competitor:21213
roundmetadataIntegerRound number
scoring_systemmetadataStringScoring system of a tournament

stroke, match, cup, team
statusmetadataStringThe status of a tournament

ex. inprogress
tourmetadataStringName of tour

ex. pga
tournamentmetadataGUIDUnique ID(s) of a tournament

ex. sd:tournament:0d986e18-cc3d-4391-a37c-903e9097129f,sr:stage:721700
tournament_typemetadataStringType of a tournament

ex. stroke
versionmetadataStringVersion of the API

ex. v2
Player
AttributeParent ElementTypeDescription
abbr_nameplayerStringAbbreviated name of a player

ex. R.McIlroy
amateurplayerBooleanSignifies a player is in amateur status when true
countryplayerStringCountry of a player

ex. NORTHERN IRELAND
first_nameplayerStringFirst name of a player

ex. Rory
idplayerGUIDUnique player ID

ex. da226913-b804-48de-adbf-96e956eb75ac
last_nameplayerStringLast name of a player

ex. McIlroy
nameplayerStringName of a player

ex. McIlroy, Rory
sr_idplayerGUIDUnique Sportradar ID of a player

ex. sr:competitor:46702
Round
AttributeParent ElementTypeDescription
idroundGUIDUnique ID of a round

ex. 56983b8a-92e6-40b1-8c53-1b38857d712b
numberroundGUIDNumber of a round
statusroundGUIDStatus of a round

scheduled, inprogress, delayed, suspended, cancelled, complete, closed, reopened
Scoring
AttributeParent ElementTypeDescription
birdiesplayerIntegerNumber of birdies in a tournament round
bogeysplayerIntegerNumber of bogeys in a tournament round
double_bogeysplayerIntegerNumber of double bogeys in a tournament round
eaglesplayerIntegerNumber of eagles in a tournament round
thruplayerIntegerNumber of holes completed in a tournament round
holes_in_oneplayerIntegerNumber of holes in one in a tournament round
other_scoresplayerIntegerNumber of other scores in a tournament round (non- pars, birdies, eagles, holes in one, bogeys, double bogeys)
parsplayerIntegerNumber of pars in a tournament round
scoreplayerIntegerPlayer score in a round

ex. -4
starting_holeplayerIntegerStarting hole of a player within a round

ex. 1 or 10
strokesplayerShortPlayer strokes in a round

ex. 68
numberscoresIntegerHole number (1-18)
parscoresIntegerPar for a hole

ex. 5
yardagescoresIntegerTotal yardage of a hole

ex. 570
strokesscoresIntegerNumber of strokes on a hole for a player
Tournament
AttributeParent ElementTypeDescription
coveragetournamentStringCoverage of a tournament. Click here for a complete breakdown of our tour coverage.

ex. full
event_typetournamentdateTimeScoring type of a tournament

stroke, match, cup, team, mix
pointstournamentIntegerTotal number of FedEX Cup points for a tournament
idtournamentGUIDUnique ID of a tournament

ex. 42b7bbc2-858a-4c0d-85dc-b30179bb5e9a
nametournamentStringName of a tournament

ex. Wells Fargo Championship
parent_idtournamentGUIDUnique parent ID for a tournament. Use this ID to tie reoccurring events across seasons.

ex. 5c8d8f92-8da7-4d5d-860b-e820d57ff640 (ID for The Masters)
pursetournamentFloatTotal prize money for a tournament

ex. 15000000.0
currencytournamentStringPrize money currency type of a tournament

ex. USD
sr_idtournamentGUIDUnique Sportradar ID of a tournament

ex. sr:stage:721700
statustournamentGUIDStatus of a tournament

scheduled, inprogress, delayed, cancelled, created, complete, closed, playoff, reopened
winning_sharetournamentFloatPrize money for first place in a tournament

ex. 1080000.0