About
The Football Prediction API is a REST API that offers prediction data (JSON) for upcoming football (soccer) matches.
Users of our API
Supported Competitions
AFC (17)
Country | Competition Name |
---|---|
Australia | A-League |
Bahrain | Premier League |
China | Super League |
India | I-League, Super League |
Indonesia | Liga 1 |
Iran | Pro League |
Japan | J. League Division 1, J. League Division 2 |
Kuweit | Premier League |
Malaysia | Malaysia Super League |
Qatar | Stars League |
Saudi Arabia | Professional League |
Singapore | S. League |
South Korea | Championship Group, K-League Classic |
Thailand | Premier League |
UAE | Football League |
Uzbekistan | Professional League |
Vietnam | V-League |
CAF (5)
Country | Competition Name |
---|---|
Algeria | Championnat National |
Egypt | Premier League |
Morocco | Botola |
South Africa | Premier Soccer League |
Tunisia | Ligue Professionnelle 1 |
CONCACAF (7)
Country | Competition Name |
---|---|
Canada | Soccer League |
Costa Rica | Primera Division |
El Salvador | Primera Division |
Guatemala | Liga Nacional |
Honduras | Liga Nacional |
Mexico | Primera Division, Liga de Ascenso |
USA | Major League Soccer, North American Soccer League |
CONMEBOL (10)
Country | Competition Name |
---|---|
Argentina | Superliga, Primera B Nacional |
Bolivia | La Liga |
Brasil | Serie A, Serie B, Serie C |
Chile | Primera Division |
Colombia | Categoria Primera A |
Ecuador | Serie A |
Paraguay | Primera Division |
Peru | Primera Division |
Uruguay | Primera Division |
Venezuela | Primera Division |
OFC (1)
Country | Competition Name |
---|---|
New Zealand | Football Championship |
UEFA (52)
Country | Competition Name |
---|---|
Champions League | |
Europa League | |
Albania | Superliga |
Andorra | Primera Divisio |
Armenia | Premier League |
Austria | Bundesliga, Erste Liga |
Azerbaijan | Premier League |
Belarus | Premier League |
Belgium | First Division A, First Division B |
Bosnia and Herzegovina | Premier League |
Bulgaria | First PFL, Second PFL |
Croatia | Prva HNL |
Cyprus | First Division |
Czech Republic | First League, National League |
Denmark | Superliga, 1st Division |
England | Premier League, Championship, First League, Second League, National League |
Estonia | Meistriliiga |
Faroe Islands | Premier League |
Finland | Veikkausliiga, Ykkonen |
France | Ligue 1, Ligue 2, Championnat National |
Georgia | Premier Liga |
Germany | Bundesliga, Second Bundesliga, 3. Liga |
Greece | Super League, Football League |
Hungary | NB I |
Iceland | Premier League, First Division |
Ireland | INSERT LEAGUE |
Israel | Premier League, Liga Leumit |
Italy | Serie A, Serie B, Serie C |
Kazakhstan | Premier League |
Latvia | Virsliga |
Lithuania | A Lyga |
Luxembourg | National Division |
Macedonia | Prva Liga |
Malta | Premier League |
Moldova | National Division |
Montenegro | Prva Liga |
Netherlands | Eredivisie, Eerste Divisie |
Northern Ireland | IFA Premiership |
Norway | Eliteserien, OBOS-ligaen, 2. divisjon |
Poland | Ekstraklasa, First League |
Portugal | Primeira Liga, Segunda Liga |
Romania | Liga I |
Russia | Premier League, First Division |
San Marino | Campionato Sammarinese |
Scotland | Premiership, Championship, League One, League Two |
Serbia | SuperLiga |
Slovakia | Superliga, 2. Liga |
Slovenia | 1. SNL |
Spain | Primera Division, Segunda Division, Segunda Division B Groups |
Sweden | Allsvenskan, Superettan, Division 1 |
Switzerland | Swiss Super League, Challenge League |
Turkey | Super Lig, TFF First League |
Ukraine | Premier League, First League |
Wales | Premier League |
API Architecture
How a response looks like
This is a sample request to the /v2/predictions/{id} endpoint.
{
"id": 33644,
"is_expired": true,
"competition_cluster": "Brazil",
"competition_name": "Serie A",
"distance_between_teams": 2461,
"last_update_at": "2018-10-12T19:10:20.629000",
"stadium_capacity": 43900,
"start_date": "2018-10-14T23:00:00",
"federation": "CONMEBOL",
"available_markets": [
"btts",
"home_over_15",
"away_over_15",
"home_over_05",
"classic",
"over_25",
"away_over_05"
],
"prediction_per_market": {
"home_over_05": {
"odds": {
"yes": null,
"no": null
},
"probabilities": {
"yes": 0.671,
"no": 0.329
},
"status": "won",
"prediction": "yes"
},
"home_over_15": {
"odds": {
"yes": null,
"no": null
},
"probabilities": {
"yes": 0.722,
"no": 0.278
},
"status": "won",
"prediction": "yes"
},
"over_25": {
"odds": {
"yes": 1.956,
"no": 1.776
},
"probabilities": {
"yes": 0.58,
"no": 0.42
},
"status": "won",
"prediction": "yes"
},
"btts": {
"odds": {
"yes": 2.226,
"no": 1.598
},
"probabilities": {
"yes": 0.422,
"no": 0.578
},
"status": "won",
"prediction": "no"
},
"away_over_05": {
"odds": {
"yes": null,
"no": null
},
"probabilities": {
"yes": 0.334,
"no": 0.666
},
"status": "won",
"prediction": "no"
},
"away_over_15": {
"odds": {
"yes": null,
"no": null
},
"probabilities": {
"yes": 0.267,
"no": 0.733
},
"status": "won",
"prediction": "no"
},
"classic": {
"odds": {
"1X": 1.084,
"X2": 2.76,
"1": 1.405,
"X": 4.38,
"12": 1.17,
"2": 7.297
},
"probabilities": {
"1X": 0.879,
"X2": 0.39,
"1": 0.61,
"X": 0.269,
"12": 0.731,
"2": 0.121
},
"status": "won",
"prediction": "1"
}
},
"result": "4 - 0",
"home_strength": 3.89221556886228,
"away_strength": 0.564254478769925,
"field_length": 105,
"home_team": "Atletico PR",
"season": "2018",
"away_team": "Sport Recife PE",
"field_width": 68
}
Name | Sample | Description | |
---|---|---|---|
id | 6310 | Unique identifier for a prediction | |
competition_cluster | Switzerland | The country where the competition is taking place. | |
competition_name | Challenge League | The name of the league within the competition_cluster. | |
federation | UEFA | The name of the football association (regional bodies such as UEFA). | |
season | 2017 - 2018 | The portion the year in which regulated games for the competition are played. | |
start_date | 2018-03-05 19:00:00 | The GMT/BST start date of the predicted event. | |
last_update_at | 2018-03-03 19:06:14.041 | The GMT/BST timestamp of the last update available for this prediction. In very rare cases a prediction outcome may change if radical new information is available for the event. | |
home_team | Winterthur | The name of the team playing at home. | |
away_team | Neuchatel Xamax | The name of the team playing away. | |
prediction | 1 | The predicted output of the bet, in this case 1 means home team victory (output depends on the market). | |
available_markets | ["btts", "home_over_15"] | Array that contains the names of all the available prediction markets for this id | prediction_per_market | { market: {details} } | Odds, probabilities, status and prediction for each available market |
odds.* | 1.5 | Averaged decimal odds from the major bookmakers | |
probabilities.* | 0.53 | The probability from 0 to 1 assigned to a certain prediction. | |
is_expired | false | Boolean flag which is true if the event start_date is in the past | |
status | pending | Is equal to "pending" until a result is available. When a result is available the status is updated to "lost", "won" or "postponed" | |
home_strength | 0.357 | The home team strength according to the number of goals scored in the past against teams similar to the one faced in the current event. The defence of the away_team also influences this score. | |
away_strength | 0.94 | Same as the home_strength only for the away_team. | |
distance_between_teams | 148 | The distance in kilometers traveled by the away_team in order to attend the event. | |
stadium_capacity | 8550 | The maximum capacity of the Stadium where the event is played. | |
field_length | 105 | The length of the football field where the match is played. | |
field_width | 68 | The width of the football field where the match is played. |
Give it a try
It's really easy to get started and it's FREE
Our Plans
You can use our API for FREE but there are some limitations and missing features, if you plan to develop an app or website request a free-trial of the MEGA plan.
30 day free-trial
Basic
$0 /month
- 100 calls to prediction endpoint per month
- Predictions available 12h ahead.
- Prediction probabilities.
- Team strength
- Access to 1X2 (classic)
- Both teams to score
- Over / Under 2.5g
- Over / Under 3.5g
- Home team Over / Under 0.5g
- Home team Over / Under 1.5g
- Away team Over / Under 0.5g
- Away team Over / Under 0.5g
PRO
$14.99 /month
- 500 calls to prediction endpoint per day
- Predictions available 36h ahead.
- Prediction probabilities.
- Team strength
- Access to 1X2 (classic)
- Both teams to score
- Over / Under 2.5g
- Over / Under 3.5g
- Home team Over / Under 0.5g
- Home team Over / Under 1.5g
- Away team Over / Under 0.5g
- Away team Over / Under 0.5g
ULTRA
$24.99 /month
- 3000 calls to prediction endpoint per day
- Predictions available 48h ahead.
- Prediction probabilities.
- Team strength
- Access to 1X2 (classic)
- Both teams to score
- Over / Under 2.5g
- Over / Under 3.5g
- Home team Over / Under 0.5g
- Home team Over / Under 1.5g
- Away team Over / Under 0.5g
- Away team Over / Under 0.5g
MEGA
$29.99 /month
- 12000 calls to prediction endpoint per day
(0.0005$ per extra call) - Predictions available 48h ahead.
- Prediction probabilities.
- Team strength
- Access to 1X2 (classic)
- Both teams to score
- Over / Under 2.5g
- Over / Under 3.5g
- Home team Over / Under 0.5g
- Home team Over / Under 1.5g
- Away team Over / Under 0.5g
- Away team Over / Under 0.5g
Got some unanswered questions?
Feel free to ask!
What parameters are used to make the predictions?
- Historical stats (avg goals scored, clean sheets, etc) of team A vs teams similar to team B.
- Poisson probabilities.
- League statistics.
- How the two teams compare against the league.
- Other factors (stadium capacity, distance between teams)
What is the maximum time before an event that a prediction is available ?
Maximum time ahead before a prediction is available is 48 hours. (available to ULTRA, MEGA plans).
Why does a certain event does not appear as a prediction?
There could be multiple causes for that including:
- The league / country is not supported.
- The event is over 48h ahead.
- It involves a newly promoted or relegated team.
- There aren't enough games played against similar adversaries.
- The prediction models are not confident enough to predict the outcome.