A simple python wrapper to get soccer odds
Project description
Soccer API
Soccer API (Application Programming Interface) is a simple wrapper build on top of some bookmakers (888sport, bet365 and Unibet) in order to get data about soccer (aka football) odds using python commands.
⚽️ The goal
The goal of the project is provided a enjoyable way to get odds data for different soccer leagues. Usually, if someone want to get these types of data, have to build by him self (and from scratch) a program able to scrape the betting site or use some kind paid API. Soccer API try to address this problem.
💡 The philosophy
Keep it simple. Simple API, simple http requests, few dependencies. In the past I have try to build some heavy framework able to scraping site (using selenium able to handle complex JavaScript): was a unmaintainable nightmare.
📘 The documentation
The following section contain all the useful information to use this API at its best. Read it carefully.
Installation
Use your favorite python package manager (like pip, pipenv, poetry). For example if you use pip type in your terminal:
pip install soccerapi
Alternatively, if you want a kind of testing/developing setup, you can install Soccer API directly from source code by first cloning the repository from github and then install dev dependencies (pipenv is required)
git clone https://github.com/S1M0N38/soccerapi.git
cd soccerapi
pip install -e .
pipenv install --dev
and then activate the enviroment
pipenv shell
Usage
Import the soccerapi bookmaker, define the api varibale, reuquest the odds.
from soccerapi.api import Api888Sport
# from soccerapi.api import ApiUnibet
# from soccerapi.api import ApiBet365
api = Api888Sport()
odds = api.odds('italy', 'serie_a')
print(odds)
[
{
'time': '2020-01-12T19:45:00Z'
'home_team': 'Roma',
'away_team': 'Juventus',
'both_teams_to_score': {'no': 2380, 'yes': 1560},
'double_chance': {'12': 1320, '1X': 1710, '2X': 1360},
'full_time_resut': {'1': 3200, '2': 2160, 'X': 3450},
},
...
{
'time': '2020-01-13T19:45:00Z'
'home_team': 'Parma',
'away_team': 'Lecce',
'both_teams_to_score': {'no': 2280, 'yes': 1600},
'double_chance': {'12': 1270, '1X': 1270, '2X': 1960},
'full_time_resut': {'1': 1850, '2': 3850, 'X': 3800},
}
]
the odds method return a list of next events of the request competition (in the example: country='italy' and league='serie_a'). For a complete list of supported bookmakers and releated competitonstake a look at the competitons table.
Country restriction
The regulation of online gambling varies from country to country. There are differnt versions of the betting site depending of the provenince of your http request. Moreover most of bookmakers implement some kind of VPN detection that block VPN-http requests. Due to these constrains it's diffcult to test soccerapi for worldwide usability. Here is reported some resum of bookmaker accecibilty from various country.
bet365 | 888sport / unibet | |
---|---|---|
accessible | :it: | :us: :canada: :australia: :brazil: :switzerland: :it: :de: :denmark: :es: :finland: :jp: :netherlands: :norway: :sweden: :ireland: :india: :singapore: :hong_kong: :new_zealand: :mexico: :romania: |
inaccesible | :fr: :uk: |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for soccerapi-0.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be840c394fa7f451b5108c3a463690e819efc359a402ad61a7a270f37c8c4109 |
|
MD5 | 37183f8a6eb5b10b2ed12683c999daa4 |
|
BLAKE2b-256 | f5e7b7435fcb51bae7ed3ea4a30daa87af4781e4915a7df09c4b73c385be32cc |