Soccer Match Predictions API — 1X2, Over/Under & BTTS Odds
Pricing
from $7.00 / 1,000 match predictions
Soccer Match Predictions API — 1X2, Over/Under & BTTS Odds
Get win/draw/loss, Over/Under 2.5, BTTS and correct-score probabilities for upcoming soccer matches, computed from a Dixon-Coles bivariate Poisson model fitted on each team's real ESPN match history. Covers MLS, Liga MX, and 6 other leagues with per-match prediction markets.
Pricing
from $7.00 / 1,000 match predictions
Rating
0.0
(0)
Developer
ELIO LIBERATORE
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Per-match soccer probabilities computed from a real statistical model — not a scrape of someone else's picks.
This Actor fits a Dixon-Coles bivariate Poisson model (Dixon & Coles, 1997) to each team's recent results, then uses it to price every upcoming fixture in the league: 1X2 (home/draw/away), Over/Under 2.5 goals, Both Teams To Score, and the 5 most likely exact scorelines — all derived from the same attack/defense ratings and expected goals (λ), so the numbers are internally consistent (they always sum to 1) instead of independently-guessed percentages.
Why Dixon-Coles instead of a raw Poisson model?
A plain Poisson model assumes a team's home and away goals are independent, which overstates how often 0-0, 1-0, 0-1 and 1-1 actually happen. Dixon-Coles adds a low-score correlation correction (rho) fitted from the league's own history, plus exponential time-decay so recent form matters more than a result from three years ago. The result is a model built for exactly the markets that sportsbooks and prediction-market platforms (Kalshi, Robinhood Prediction Markets) price on a per-match basis.
What you get
For every scheduled fixture in the chosen league and time window, one dataset row with:
- 1X2:
prob1(home win),probX(draw),prob2(away win) - Over/Under 2.5 goals:
probOver25,probUnder25 - Both Teams To Score:
probBttsYes,probBttsNo - Top 5 scorelines with their individual probabilities
- The fitted expected goals (
lambdaHome,lambdaAway) and league rho - Metadata: how much history was used (including
homeMatchesandawayMatches, the number of historical matches behind each team's rating), when the prediction was computed, and adataQualityflag for fixtures where one side has little or no history (e.g. newly promoted)
Supported leagues
Verified end-to-end against live ESPN data.
Big 5 European leagues: Premier League (eng.1), LaLiga (esp.1), Serie A (ita.1), Bundesliga (ger.1), Ligue 1 (fra.1).
Leagues with per-match event contracts on Kalshi and Robinhood Prediction Markets: MLS (usa.1), Liga MX (mex.1), Liga de Expansión MX (mex.2), Brasileirão Série B (bra.2), USL Championship (usa.usl.1), Primera División Uruguay (uru.1), Categoría Primera A Colombia (col.1), Eliteserien Norway (nor.1).
You can also type in any other ESPN soccer league slug; the model will work as long as ESPN has enough historical results for that league. Note that European leagues kick off in August, so newly promoted clubs carry only a handful of matches in the first weeks of a season and are flagged partial-low-sample.
Input
| Field | Description | Default |
|---|---|---|
leagueSlug | ESPN league slug (pick from the list or type your own) | eng.1 |
seasonsBack | Years of history to fit team ratings on | 3 |
xi | Daily time-decay rate (higher = recent form matters more) | 0.0018 (~1 season half-life) |
upcomingDays | How many days ahead to predict | 14 |
maxGoals | Highest per-team scoreline modeled | 10 |
How it works
- Pulls finished matches for the selected league from ESPN's public scoreboard API, going back
seasonsBackyears. - Fits each team's attack and defense strength plus a league-wide home-advantage and baseline via penalized maximum likelihood (weighted so older matches count less, and shrunk towards the league average so a team with only a handful of matches cannot end up with an extreme rating).
- Fits the Dixon-Coles
rhocorrelation parameter for low-scoring games. - Pulls scheduled (not yet played) fixtures for the next
upcomingDaysdays. - Builds a full score-grid per fixture (0-0 through
maxGoals-maxGoals) with the Dixon-Coles correction applied, normalizes it to 1, and derives every market from that single grid.
A note on newly promoted or newly added teams
Team ratings are shrunk towards the league average in proportion to how much history each team has, so a side with only three or four matches never ends up with an extreme rating on the back of a short run of results.
Every fixture carries homeMatches and awayMatches - the number of historical matches behind each team's rating - plus a dataQuality flag:
full- both teams have at least 10 matches in the fitted history.partial-low-sample- one side has fewer than 10, typically a team newly promoted from a lower division. The prediction is still produced, but the rating behind it rests on a small sample.partial-new-team- one side has no history at all in the lookback window and is treated as league-average strength.
Use cases
- Comparing model-implied probabilities against live prices on Kalshi/Robinhood per-match soccer contracts
- Building your own value-betting or trading workflow on top of consistent, per-match probabilities
- Research and analysis of goal-scoring patterns across leagues
FAQ
What is the Dixon-Coles model?
A statistical model for football (soccer) scores published by Mark Dixon and Stuart Coles in 1997. It estimates an attack and a defence strength for every team plus a home advantage, predicts the goals each side is expected to score, and corrects the independent Poisson assumption for low scores (0-0, 1-0, 0-1 and 1-1), which a plain Poisson model gets wrong. This Actor also weights recent matches more than old ones.
How are correct score probabilities calculated?
For every fixture the Actor builds a full grid of scorelines, from 0-0 up to maxGoals for each side, using the fitted expected goals and the Dixon-Coles correction, and normalises it to 1. The five most likely scores are returned in topScorelines. Every other market is added up from that same grid.
What do 1X2, Over/Under 2.5 and BTTS mean?
1X2 is home win (prob1), draw (probX) and away win (prob2). Over 2.5 means three or more goals in the match; Under 2.5 means two or fewer. BTTS (both teams to score) is the probability that each side scores at least once. Because all of them come from one score grid, each pair and the 1X2 trio sum to 1.
Which leagues does it support?
Verified end to end: MLS, Liga MX, Liga de Expansión MX, Brasileirão Série B, USL Championship, Uruguay's Primera División, Colombia's Primera A and Norway's Eliteserien. You can type any other ESPN soccer league slug; the model works wherever ESPN has enough past results.
How much history does the model use?
Three seasons by default (seasonsBack). Older matches count less: with the default decay rate xi of 0.0018 per day, a result loses half its weight after about a year.
What happens with newly promoted teams?
A team with no matches in the lookback window starts at league-average strength, and its fixtures are flagged dataQuality: "partial-new-team" so you can treat them with care.
Does it compare predictions with betting or Kalshi prices?
Not automatically. The output is shaped for that comparison — per-match 1X2, totals and BTTS probabilities, the same markets Kalshi and Robinhood Prediction Markets list per match in these leagues — but market prices are not fetched by this Actor.
How do I get predictions for one league every week?
Save a task with your league and schedule it. Ready-made examples for MLS, Liga MX, Liga de Expansión MX, the Brasileirão Série B, the USL Championship, Colombia, Uruguay and Norway are on the Examples tab.
Is this betting advice?
No. It is a statistical model for research and analysis.