OddsLine API
OddsLine's model produces fair-value probabilities for every upcoming match, built from historical results and scorelines rather than calibrated against bookmaker odds. The API returns that output in a single request, so you can use it as a baseline inside your own betting system, spreadsheet, or AI workflow.
It returns probabilities, not picks.
Endpoint
A single GET endpoint returns model reads for every upcoming match in one response.
GET https://api.oddsline.io/v1/get-model-reads
Pass exclude=scoreline_matrix to drop the 15×15 scoreline
matrix from each match when you only need the summary probabilities. This cuts payload size by
roughly 85 to 90%.
GET https://api.oddsline.io/v1/get-model-reads?exclude=scoreline_matrix Authentication
Pass your API key as a bearer token. Keys are issued to Pro subscribers.
curl https://api.oddsline.io/v1/get-model-reads \
-H "Authorization: Bearer <API_KEY>" Example response
{
"data": [
{
"league": "Premier League",
"home_team": "Arsenal",
"away_team": "Chelsea",
"commence_time": "2026-08-24T14:00:00Z",
"model": {
"home_prob": 0.52,
"draw_prob": 0.26,
"away_prob": 0.22,
"home_elo_minus_away_elo": 84.3
},
"poisson": {
"home_attack": 1.34,
"away_attack": 1.05,
"home_defence": 0.87,
"away_defence": 1.02,
"scoreline_matrix": [ [0.03, 0.05, ...], ... ]
},
"markets": {
"over_1_5": 0.78,
"under_1_5": 0.22,
"over_2_5": 0.52,
"under_2_5": 0.48,
"over_3_5": 0.29,
"under_3_5": 0.71,
"btts_yes": 0.55,
"btts_no": 0.45
},
"computed_at": "2026-08-24T06:00:00Z"
}
],
"meta": {
"count": 42,
"credit": { "used": 3, "limit": 300 }
}
} Rate limiting
-
300 requests per month on Pro plans. Every response carries your current usage in
meta.credit. - A short per-second cooldown prevents bursts.
- Usage resets each billing cycle.
401 Invalid or revoked key.
403 Pro subscription required.
429 Burst cooldown ({ "error": "rate_limited" }) or monthly quota exceeded ({ "error": "Monthly rate limit exceeded", "limit": 300 }).
Field reference
League & team names
The same names you see in your OddsLine dashboard. You can also confirm current values directly from the response itself.
Scoreline matrix
poisson.scoreline_matrix is a 15×15 array. The outer index is home goals (0–14) and the inner index is away goals (0–14), so scoreline_matrix[2][1] is the probability of a 2–1 scoreline.
Attack & defence ratings
poisson.home_attack / poisson.away_attack and poisson.home_defence / poisson.away_defence are relative to the league average (1.0). For attack, above 1.0 means more goals scored than average, below 1.0 means fewer. For defence, above 1.0 means fewer goals conceded than average, below 1.0 means more.
home_elo_minus_away_elo
The home team's Elo minus the away team's, already adjusted for home advantage. Elo is on the standard 400-point scale.
Timestamps
ISO 8601 in UTC (e.g. 2026-08-24T14:00:00Z).
Get a key
API access requires an active Pro subscription. The free trial covers in-app analysis only.
See pricing