Cycling v1

Frequently Asked Questions
API API Version
Cycling v1
Note: Authentication is required for all API calls.
## Cycling v1 API Map To best utilize the Cycling API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need. >

Example:

>To find the results for a given race: >
  1. Call the Schedule resource for the day the sport event takes place and find the Race Id for the chosen event
  2. Call the Race Summary using the Race Id
>The summary for your race is displayed. The primary feeds require only a date or human-readable parameter to call the endpoints. Those feeds provide Race Ids, Stage Ids and Tournament Ids which can be used to generate the tournament, summary, and profile feeds. ## Race Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/races/sr:race:271584/summary.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/races/sr:race:271584/summary.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/races/sr:race:271584/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Race Summary. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/races/`{race_id}`/summary.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `race_id` | Id of a given race. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Race Summary use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/race_summary.xsd Return to API map ## Rider Profile ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/riders/sr:rider:41433/profile.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/riders/sr:rider:41433/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/riders/sr:rider:41433/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Rider Profile. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/riders/`{rider_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `rider_id` | Id of a given rider. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Rider Profile use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/rider_profile.xsd Return to API map ## Schedule ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/schedules/2017-07-11/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/schedules/2017-07-11/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/schedules/2017-07-11/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Schedule. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/schedule.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Schedule use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/schedule.xsd Return to API map ## Stage Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/stages/sr:stage:271592/summary.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/stages/sr:stage:271592/summary.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/stages/sr:stage:271592/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Stage Summary. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/stages/{stage_id}/summary.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `stage_id` | Id of a given stage. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Stage Summary use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/stage_summary.xsd Return to API map ## Team Profile ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/teams/sr:team:33029/profile.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/teams/sr:team:33029/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/teams/sr:team:33029/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Team Profile. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/teams/`{team_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `team_id` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Profiles use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/team_profile.xsd Return to API map ## Tournament Info ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/tournaments/sr:race_tournament:270956/info.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/tournaments/sr:race_tournament:270956/info.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/tournaments/sr:race_tournament:270956/info.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Tournament Info. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id}`/info.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `tournament_id` | Id of a given tournament. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Tournament Info use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/tournament_info.xsd Return to API map ## Tournament List ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/tournaments.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/tournaments.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/tournaments.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament List. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/tournaments.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament List use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/tournaments.xsd Return to API map ## Tournament Schedule ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/cycling-t1/en/tournaments/sr:race_tournament:270956/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/cycling-t1/en/tournaments/sr:race_tournament:270956/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/cycling-t1/en/tournaments/sr:race_tournament:270956/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Schedule. https://api.sportradar.us/cycling-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id}`/schedule.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (p) or Trial (t). | | `version` | Version number of the API you are accessing (Current Version: 1). | | `language_code` | Supported Locales | | `tournament_id` | Id of a given tournament. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Schedule use the following URL. http://schemas.sportradar.com/bsa/v1/endpoints/cycling/tournament_schedule.xsd Return to API map ## Frequently Asked Questions

Q: What leagues or tournaments do you cover for Cycling?

A: We cover UCI World Tour and the World Championships.

In order keep up to date with the latest tours and coverage levels please check the change log: http://developer.sportradar.us/change_log and also refer to the Sportradar coverage document published here: https://www.sportradar.com/wp-content/uploads/sites/5/2014/12/Sportradar_Coverage.pdf

Q: What format are date fields presented in?

A: When we present date only values we present these in the ISO 8601 standard format.
ex: 2013-04-03
We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601

Q: What format are the date/time fields presented in?

A: All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.
ex: 2013-04-03T18:15:00+00:00
For more information: https://en.wikipedia.org/wiki/ISO_8601

Q: What are the valid Sport Event Status values?

A: Here are the valid match status values and their definitions:

  • Preliminary – results are entered but not completed (e.g. first 10 racers for a stage).
  • Completed – daily result is completed for a stage, or overall.
  • Closed – stage and overall results have been confirmed and verified.
  • Cancelled - stage or overall event is cancelled.

Q: What are the valid Course Classification values?

A: Here are the valid course classification values:

  • individual_time_trial
  • team_time_trial
  • flat
  • medium_mountain
  • high_mountain

Q: How do I find out the coverage for a particular match?

A: Find the node called “coverage_info” in the Sport Event Timeline endpoint. The attribute live_coverage reports whether Sportradar has live coverage of the match or not.

Return to top

Docs Navigation