Golf API Basics
This guide covers the practical basics of working with the Sportradar Golf API: how to authenticate, how request URLs are structured, the supported formats, rate limits, versioning, and the companion tools. The Golf API is a tournament-based, US-style golf data product; for the concepts behind the data, see Fundamentals.
Authentication
Every request is authenticated with your API key, sent in the x-api-key header. Your key is in your Sportradar developer account under your application's credentials; Make Your First Call covers creating an account and issuing a key.
GET https://api.sportradar.com/golf/trial/v3/en/seasons.json
x-api-key: YOUR_API_KEYKeep the key server-side; do not embed it in client applications. The same key authenticates the REST feeds and, for entitled customers, the Push streams.
Base URL and URL Structure
All requests go to https://api.sportradar.com/golf/. Three URL shapes appear in the API, and they differ in where the version and tour segments sit. Knowing which is which prevents malformed requests.
- Seasons (no tour, no year; version comes first):
GET https://api.sportradar.com/golf/{access_level}/v3/{language_code}/seasons.{format}- Tournament-scoped (tour and season year wrap the version):
GET https://api.sportradar.com/golf/{access_level}/{golf_tour}/v3/{language_code}/{season_year}/tournaments/schedule.{format}- Push (streaming; no
v3version segment at all):
GET https://api.sportradar.com/golf/{access_level}/stream/{golf_tour}/{language_code}/{push_feed}/subscribeThe common path placeholders are access_level (trial or production), golf_tour (the lowercase tour alias, for example pga), language_code (for example en), season_year, and format (json or xml). The Player-level feeds (Player Profile, Official World Golf Ranking) use the tour-less shape; the tournament feeds use the tour-scoped shape. The Push streams are not path-versioned, so do not insert v3 into a Push URL.
Tour Alias CasingUse the lowercase alias in URLs (
pga,euro,champ, ...). Feed responses may return thealiasfield upper-case (for example"alias": "EURO"), but the URL path parameter must be lowercase. See the tour table in Fundamentals.
Golf API Map
The map below shows every feed in the API, grouped by task; the key marks the identifier each feed takes. Tournament-scoped feeds also carry the tour and season year in the path (the URL shapes above), and the two Per Round feeds add a round number.
Response Formats
Every feed supports both json and xml, selected by the format segment of the URL (for example schedule.json or schedule.xml). The two carry the same data; choose per your stack.
Rate Limits and QPS
Access is governed by a request quota and a queries-per-second (QPS) limit:
- Exceeding the QPS limit returns
429 Too Many Requests; space out calls and retry with exponential backoff. - Plan your polling against these limits and the per-feed Update Frequencies; prefer Push for live data so you are not polling at high QPS.
Errors
- Authentication failures return
403with an HTML body (an "Authentication Error" page), not a JSON error object, so branch on the status code rather than parsing the response. - Rate-limit errors return
429. - The feeds otherwise use standard HTTP methods and status codes; the Response Codes page lists them.
Versioning
The Golf API is available in multiple supported versions; v3 is the latest and v2 is still supported. Version support and deprecation timelines follow Sportradar's Versioning Policy. Track changes to the data through the Daily Change Log feed and the Golf API Change Log.
Companion Tools
- Postman: fork the Sportradar Golf collection to exercise every feed without writing code.
- Schema download: the Golf v3 XSD bundle for validating and generating types from
xmlresponses. - MCP Server: the Sportradar Golf MCP Server bridges AI assistants directly to the Golf API feeds.
Validating State Handling
To exercise how your integration handles each tournament, round, and player status, work against recent completed tournaments: the standard feeds return their full final state, and the Tournament Status Workflow page pairs every status value with a captured example you can code against.
Updated 7 days ago
