Python wrapper for the Sportradar APIs โšฝ๏ธ๐Ÿˆ
Switch branches/tags
Nothing to show
Clone or download

README.md

Sportradar APIs


Build Status PyPI version Python version

This is a Python wrapper for the sports APIs provided by Sportradar. You'll need to sign up for an API key to use the service. Sportradar provides a free trial evaluation that provides 1,000 API queries at up to 1 query per second.

Supported APIs

Sport Wrapper Tests
Soccer โšฝ๏ธ โœ”๏ธ โœ”๏ธ
NBA ๐Ÿ€ โœ”๏ธ โœ”๏ธ
WNBA ๐Ÿ€ โœ”๏ธ โœ”๏ธ
NFL ๐Ÿˆ โœ”๏ธ โœ”๏ธ
NHL ๐Ÿ† โœ”๏ธ โœ”๏ธ
Tennis ๐ŸŽพ โœ”๏ธ โœ”๏ธ
MLB โšพ๏ธ โœ”๏ธ โœ”๏ธ
Darts ๐ŸŽฏ โœ”๏ธ โœ”๏ธ
Beach volleyball ๐ŸŒด โœ”๏ธ โœ”๏ธ
Golf โ›ณ๏ธ โœ”๏ธ โœ”๏ธ
NASCAR ๐Ÿš— โœ”๏ธ โœ”๏ธ
LoL ๐ŸŽฎ โœ”๏ธ โœ”๏ธ
Dota2 ๐ŸŽฎ โœ”๏ธ โœ”๏ธ

Installation

The easiest way to start using this package is via PyPI using pip:

$pip install sportradar

If you'd prefer to clone the repository and install the package manually, follow these steps:

  1. Clone this repo: $git clone https://github.com/johnwmillr/SportradarAPIs.git
  2. Enter the cloned directory: $cd SportradarAPIs
  3. Install: $python setup.py install

Usage

Below is a brief demonstration of how to use the package to download data for the 2018 FIFA World Cup.

from sportradar import Soccer

# Create an instance of the Sportradar Soccer API class
sr = Soccer.Soccer("paste your api key here")

# Get a list of all tournaments
tournaments = sr.get_tournaments().json()

# Get info on the 2018 World Cup (Teams, Rounds, etc.)
worldcup = sr.get_tournament_info(tournaments['tournaments'][4]['id']).json()

# Get more information on each team in the World Cup
teams = []
team_counter = 0
for group in worldcup['groups']:
    for team in group['teams']:
        team_counter += 1
        team_id = team['id']
        team_name = team['name']
        print("({}): {}, {}".format(team_counter, team_name, team_id))
        try:
            teams.append(sr.get_team_profile(team_id).json())
        except Exception as e:
            print("Error: {}".format(e))
        time.sleep(5) # wait 5 seconds before next API call

# Save the team data to a .json file
print("Saving the data...", end="", flush=True)
with open("world_cup_team_data.json", "w") as outfile:
    json.dump(teams, outfile)
print(" Done.")

Example projects