DOTA 2 v1

Frequently Asked Questions
API API Version
DOTA 2 v1
Note: Authentication is required for all API calls.
## Daily Results ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/schedules/2016-06-05/results.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", "/dota2-t1/us/schedules/2016-06-05/results.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/dota2-t1/us/schedules/2016-06-05/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Daily Results. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/results.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day of month in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Results, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/results.xsd?api_key=`{your_api_key}` ## Daily Schedule ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/schedules/2016-06-05/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", "/dota2-t1/us/schedules/2016-06-05/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/dota2-t1/us/schedules/2016-06-05/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Daily Schedule. https://api.sportradar.us/dota2-`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day of month in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Results, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/common/schedule.xsd?api_key=`{your_api_key}` ## Deleted Matches ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/schedules/deleted_matches.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", "/dota2-t1/us/schedules/deleted_matches.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/dota2-t1/us/schedules/deleted_matches.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Daily Results. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/schedules/deleted_matches.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Head-2-Head ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/teams/sr:competitor:261991/versus/sr:competitor:250683/matches.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", "/dota2-t1/us/teams/sr:competitor:261991/versus/sr:competitor:250683/matches.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/dota2-t1/us/teams/sr:competitor:261991/versus/sr:competitor:250683/matches.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Head-2-Head Statistics. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/teams/`{team_id}`/versus/`{team_id}`/matches.`{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` | Optional 2 letter code for supported languages. See the list of 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 Head-2-Head, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/team_versus_matches.xsd?api_key=`{your_api_key}` ## Match Lineups ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/matches/sr:match:10861350/lineups.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", "/dota2-t1/us/matches/sr:match:10861350/lineups.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/dota2-t1/us/matches/sr:match:10861350/lineups.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Lineups. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/matches/`{match_id}`/lineups.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `match_id` | ID of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Lineups, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/lineups.xsd?api_key=`{your_api_key}` ## Match Probabilities ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/matches/sr:match:10861350/probabilities.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", "/dota2-t1/us/matches/sr:match:10861350/probabilities.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/dota2-t1/us/matches/sr:match:10861350/probabilities.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Probabilities. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/matches/`{match_id}`/probabilities.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `match_id` | ID of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. |
Note: The match_id used must be pre-match for the odds to display.
To retrieve the XML Schema Definition (.XSD) for the Match Probabilities, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/match_probabilities.xsd?api_key=`{your_api_key}` ## Match Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/matches/sr:match:10861350/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", "/dota2-t1/us/matches/sr:match:10861350/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/dota2-t1/us/matches/sr:match:10861350/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Summary. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/matches/`{match_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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `match_id` | ID of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Summary, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/match_summary.xsd?api_key=`{your_api_key}` ## Player Profile ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/players/sr:player:1072474/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", "/dota2-t1/us/players/sr:player:1072474/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/dota2-t1/us/players/sr:player:1072474/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Player Profile. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/player/`{player_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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `player_id` | ID of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Player Profile, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/player_profile.xsd?api_key=`{your_api_key}` ## Team Profile ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/teams/sr:competitor:306888/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", "/dota2-t1/us/teams/sr:competitor:306888/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/dota2-t1/us/teams/sr:competitor:306888/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Team Profile. https://api.sportradar.us/dota2-`{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` | Optional 2 letter code for supported languages. See the list of 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 Profile, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/team_profile.xsd?api_key=`{your_api_key}` ## Team Results ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/teams/sr:competitor:306888/results.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", "/dota2-t1/us/teams/sr:competitor:306888/results.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/dota2-t1/us/teams/sr:competitor:306888/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Team Results. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/teams/`{team_id}`/results.`{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` | Optional 2 letter code for supported languages. See the list of 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 Results, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/team_results.xsd?api_key=`{your_api_key}` ## Team Schedule ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/teams/sr:competitor:306888/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", "/dota2-t1/us/teams/sr:competitor:306888/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/dota2-t1/us/teams/sr:competitor:306888/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Team Schedule. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/teams/`{team_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` | Optional 2 letter code for supported languages. See the list of 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 Schedule, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/team_schedule.xsd?api_key=`{your_api_key}` ## Tournament Info ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/tournaments/sr:tournament:15259/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", "/dota2-t1/us/tournaments/sr:tournament:15259/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/dota2-t1/us/tournaments/sr:tournament:15259/info.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Info. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id or season_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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `tournament_id or season_id` | ID of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Info, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/tournament_info.xsd?api_key=`{your_api_key}` ## Tournament Live Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/schedules/live/summaries.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", "/dota2-t1/us/schedules/live/summaries.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/dota2-t1/us/schedules/live/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Live Summary. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/schedules/live/summaries.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Info, use the following URL. http://schemas.sportradar.com/bsa/dota2/v1/xml/endpoints/dota2/summaries.xsd ## Tournament Results ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/tournaments/sr:tournament:15259/results.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", "/dota2-t1/us/tournaments/sr:tournament:15259/results.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/dota2-t1/us/tournaments/sr:tournament:15259/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Results. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/results.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `tournament_id or season_id` | ID of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Results, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/tournament_results.xsd?api_key=`{your_api_key}` ## Tournament Schedule ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/tournaments/sr:tournament:15259/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", "/dota2-t1/us/tournaments/sr:tournament:15259/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/dota2-t1/us/tournaments/sr:tournament:15259/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Schedule. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id or season_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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `tournament_id or season_id` | ID of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Schedule, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/tournament_schedule.xsd?api_key=`{your_api_key}` ## Tournament Seasons ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/tournaments/sr:tournament:15259/seasons.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", "/dota2-t1/us/tournaments/sr:tournament:15259/seasons.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/dota2-t1/us/tournaments/sr:tournament:15259/seasons.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Seasons. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/seasons.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `tournament_id or season_id` | ID of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Seasons, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/dota2/tournament_seasons.xsd?api_key=`{your_api_key}` ## Tournament Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/schedules/sr:season:46082/summaries.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", "/dota2-t1/us/schedules/sr:season:46082/summaries.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/dota2-t1/us/schedules/sr:season:46082/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves a Tournament Summary. https://api.sportradar.us/dota2-`{access_level}{version}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/summaries.`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `tournament_id or season_id` | ID of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Summary, use the following URL. http://schemas.sportradar.com/bsa/csgo/v1/xml/endpoints/csgo/summaries.xsd ## Tournaments ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/dota2-t1/us/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", "/dota2-t1/us/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/dota2-t1/us/tournaments.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Tournaments. https://api.sportradar.us/dota2-`{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` | Optional 2 letter code for supported languages. See the list of Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournaments, replace the parameters in the following URL. https://api.sportradar.us/dota2-`{access_level}{version}`/schema/common/tournaments.xsd?api_key=`{your_api_key}` ## Frequently Asked Questions

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 leagues or tournaments do you cover for DOTA 2?

A: We cover all tournaments & leagues run by ESL Gaming. An accurate up to date list of tournaments can be obtained from the API tournaments endpoint at any given time.

Q: How are coverage levels defined for DOTA 2?

A: Coverage for DOTA 2 is either Gold or Bronze. These coverage levels are defined as follows:

  • Gold: The match is covered live and will contain basic scores and game statistics.
  • Bronze: The match is covered post-game only, and will contain only basic scores.

Q: What is the format of the Ids in your feeds?

A: In the API we try to consistently use an URN-scheme for identifying different entities with id. Our standard URN-scheme is usually on this format “<origin>:<type>:<id>”. This string is a guaranteed unique id across our APIs. It is best to treat the Id as a string that uniquely identifies the entity and not try to break apart the different pieces.

Q: What are the valid “sport_event_status – status” values?

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

  • not_started – The match is scheduled to be played.
  • live – The match is currently in progress.
  • postponed – The match has been postponed to a future date.
  • suspended – The match has been suspended.
  • delayed – The match has been temporarily delayed and will be continued.
  • cancelled – The match has been canceled and will not be played.
  • abandoned – The match began, but was abandoned.
  • interrupted - The match began, but coverage has stopped for a short time. Note that match scores may not be updated during this period, the last recorded match score will be displayed instead
  • ended – The match is over.
  • closed – The match is over and the results have been confirmed.

Q: What are the valid “sport_event_status – match_status” values?

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

  • not_started
  • first_map
  • first_pause
  • second_map
  • second_pause
  • third_map
  • third_pause
  • fourth_map
  • fourth_pause
  • fifth_map
  • fifth_pause
  • sixth_map
  • sixth_pause
  • seventh_map
  • ended
  • walkover1
  • walkover2
  • retired1
  • retired2
  • delayed
  • interrupted
  • abandoned

Q: What are the valid tournament types?

A: Here are the valid tournament types:

  • group
  • playoff
  • qualifier

Q: What are markets and what are the different markets?

A: Markets is something you can bet on that we provide probabilities for. Over time we intend to provide more and more markets in the API. Currently the only market we provide is 3-way (will the home team win? Or the away team? Or will it be a draw?)

Q: What are the possible outcomes?

A: Different markets have different outcomes. The available outcomes are currently:

  • home_team_winner
  • away_team_winner
  • draw

Q: What are the possible values for phase in the tournament_round attribute?

A: Here are the valid phases:

  • regular_season
  • playoffs
  • relegation
  • promotion

Q: What are the possible values for match_mode in the sport_event_conditions attribute?

A: Note that match mode is shared across all 3 eSports we offer, so an individual sport may not utilize all of the values below. Here is a list of the statuses for match_mode:

  • BO1 – Best of one
  • BO2 – Best of two
  • BO3 – Best of three
  • BO4 – Best of four
  • BO5 – Best of five

Q: What are the possible values for hero?

A: There are currently 115 available heroes. Here are all of the valid hero names:

Abaddon Earthshaker Naga Siren Spectre
Alchemist Elder Titan Nature's Prophet Spirit Breaker
Ancient Apparition Ember Spirit Necrophos Storm Spirit
Anti-Mage Enchantress Night Stalker Sven
Arc Warden Enigma Nyx Assassin Techies
Axe Faceless Void Ogre Magi Templar Assassin
Bane Gyrocopter Omniknight Terrorblade
Batrider Huskar Oracle Tidehunter
Beastmaster Invoker Outworld Devourer Timbersaw
Bloodseeker Io Pangolier Tinker
Bounty Hunter Jakiro Phantom Assassin Tiny
Brewmaster Juggernaut Phantom Lancer Treant Protector
Bristleback Keeper of the Light Phoenix Troll Warlord
Broodmother Kunkka Puck Tusk
Centaur Warrunner Legion Commander Pudge Underlord
Chaos Knight Leshrac Pugna Undying
Chen Lich Queen of Pain Ursa
Clinkz Lifestealer Razor Vengeful Spirit
Clockwerk Lina Riki Venomancer
Crystal Maiden Lion Rubick Viper
Dark Seer Lone Druid Sand King Visage
Dark Willow Luna Shadow Demon Warlock
Dazzle Lycan Shadow Fiend Weaver
Death Prophet Magnus Shadow Shaman Windranger
Disruptor Medusa Silencer Winter Wyvern
Doom Meepo Skywrath Mage Witch Doctor
Dragon Knight Mirana Slardar Wraith King
Drow Ranger Monkey King Slark Zeus
Earth Spirit Morphling Sniper

Q: What are the possible values for item?

A: Here are all of the valid items:

A Gift! Greevil Whistle Recipe: Bloodstone Recipe: Solar Crest
Abyssal Blade Guardian Greaves Recipe: Bloodthorn Recipe: Soul Booster
Aegis of the Immortal Hand of Midas Recipe: Boots of Travel Recipe: Soul Ring
Aeon Disk Headdress Recipe: Bracer Recipe: Spirit Vessel
Aether Lens Healing Salve Recipe: Buckler Recipe: Tranquil Boots
Aghanim's Scepter Heart of Tarrasque Recipe: Butterfly Recipe: Urn of Shadows
Animal Courier Heaven's Halberd Recipe: Crimson Guard Recipe: Vanguard
Arcane Boots Helm of Iron Will Recipe: Crystalys Recipe: Veil of Discord
Armlet of Mordiggian Helm of the Dominator Recipe: Daedalus Recipe: Vladmir's Offering
Assault Cuirass Hood of Defiance Recipe: Dagon Recipe: Wraith Band
Banana Hurricane Pike Recipe: Desolator Recipe: Yasha
Band of Elvenskin Hyperstone Recipe: Diffusal Blade Refresher Orb
Battle Fury Infused Raindrops Recipe: Divine Rapier Refresher Shard
Belt of Strength Iron Branch Recipe: Dragon Lance Ring of Aquila
Black King Bar Iron Talon Recipe: Drum of Endurance Ring of Basilius
Blade Mail Iron Talon Recipe Recipe: Echo Sabre Ring of Health
Blade of Alacrity Javelin Recipe: Ethereal Blade Ring of Protection
Blades of Attack Kaya Recipe: Eul's Scepter of Divinity Ring of Regen
Blight Stone Kringle Recipe: Eye of Skadi River Vial: Blood
Blink Dagger Linken's Sphere Recipe: Force Staff River Vial: Chrome
Bloodstone Lotus Orb Recipe: Glimmer Cape River Vial: Dry
Bloodthorn Maelstrom Recipe: Guardian Greaves River Vial: Electrified
Boots of Speed Magic Stick Recipe: Hand of Midas River Vial: Oil
Boots of Travel Magic Wand Recipe: Headdress River Vial: Potion
Bottle Manta Style Recipe: Heart of Tarrasque River Vial: Slime
Bracer Mantle of Intelligence Recipe: Heaven's Halberd Robe of the Magi
Broadsword Mask of Madness Recipe: Helm of the Dominator Rod of Atos
Buckler Medallion of Courage Recipe: Hood of Defiance Sacred Relic
Butterfly Mekansm Recipe: Hurricane Pike Sage's Mask
Chainmail Meteor Hammer Recipe: Kaya Sange
Cheese Mithril Hammer Recipe: Linken's Sphere Sange and Yasha
Circlet Mjollnir Recipe: Lotus Orb Satanic
Clarity Monkey King Bar Recipe: Maelstrom Scythe of Vyse
Claymore Moon Shard Recipe: Magic Wand Sentry Ward
Cloak Morbid Mask Recipe: Manta Style Shadow Amulet
Clove Studded Ham Mystic Staff Recipe: Mask of Madness Shadow Blade
Cocoa with Marshmallows Necronomicon Recipe: Medallion of Courage Shiva's Guard
Crimson Guard Null Talisman Recipe: Mekansm Silver Edge
Crystalys Nullifier Recipe: Meteor Hammer Skull Basher
Daedalus Oblivion Staff Recipe: Mjollnir Slippers of Agility
Dagon Observer and Sentry Wards Recipe: Monkey King Bar Smoke of Deceit
Demon Edge Observer Ward Recipe: Moon Shard Snow Mushroom
Desolator Octarine Core Recipe: Necronomicon Solar Crest
Diffusal Blade Ogre Axe Recipe: Null Talisman Soul Booster
Divine Rapier Orb of Venom Recipe: Nullifier Soul Ring
Dragon Lance Orchid Malevolence Recipe: Oblivion Staff Speed Skates
Drum of Endurance Perseverance Recipe: Observer and Sentry Wards Spirit Vessel
Dust of Appearance Phase Boots Recipe: Octarine Core Staff of Wizardry
Eaglesong Pipe of Insight Recipe: Orchid Malevolence Stout Shield
Echo Sabre Platemail Recipe: Perseverance Talisman of Evasion
Enchanted Mango Point Booster Recipe: Phase Boots Tango
Energy Booster Poor Man's Shield Recipe: Pipe of Insight Tango (Shared)
Ethereal Blade Power Treads Recipe: Poor Man's Shield Tome of Knowledge
Eul's Scepter of Divinity Quarterstaff Recipe: Power Treads Town Portal Scroll
Eye of Skadi Quelling Blade Recipe: Radiance Tranquil Boots
Faerie Fire Radiance Recipe: Refresher Orb Ultimate Orb
Flying Courier Reaver Recipe: Ring of Aquila Urn of Shadows
Force Staff Recipe: Abyssal Blade Recipe: Ring of Basilius Vanguard
Fruit-bit Cake Recipe: Aeon Disk Recipe: Rod of Atos Veil of Discord
Gauntlets of Strength Recipe: Aether Lens Recipe: Sange Vitality Booster
Gem of True Sight Recipe: Aghanim's Scepter Recipe: Sange and Yasha Vladmir's Offering
Ghost Scepter Recipe: Arcane Boots Recipe: Satanic Void Stone
Glimmer Cape Recipe: Armlet of Mordiggian Recipe: Scythe of Vyse Wind Lace
Gloves of Haste Recipe: Assault Cuirass Recipe: Shadow Blade Wizard Cookie
Greevil Blink Bone Recipe: Battle Fury Recipe: Shiva's Guard Wraith Band
Greevil Chow Recipe: Black King Bar Recipe: Silver Edge Xmas Stocking
Greevil Taffy Recipe: Blade Mail Recipe: Skull Basher Yasha
Greevil Treat
Return to top

Docs Navigation