Docs
Coverage MatrixDocumentationRelease LogLog In

Push Events

Provides real-time event updates for all live matches.

Syntax

https://api.sportradar.com/soccer/{access_level}/{version}/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).
versionVersion number of the API you are accessing (v4).
your_api_keyYour API key.

Optional Query String Parameters

In addition to the URL parameters listed above, you can filter the Events 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:

URL ParametersDescription
competition_idCompetition id expressed as: {competition_id}.
Example: competition_id=sr:competition:204
event_idEvent type expressed as: {event_type}.
Example: event_id=free_kick
formatFormat type expressed as: {format}.
Example: format=json
season_idSeason id expressed as: {season_id}.
Example: season_id=sr:season:50039
sport_event_idSport event id expressed as: {sport_event_id}.
Example: sport_event_id=sr:sport_event_id:13644241

Code Samples

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

url = URI("https://api.sportradar.com/soccer/trial/v4/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/soccer/trial/v4/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/soccer/trial/v4/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/soccer/trial/v4/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:13468929")

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/soccer/trial/v4/stream/events/subscribe",
    params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:match:13468929'},
    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/soccer/trial/v4/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:13468929'

Response Sample

The above commands return json like this.