Forebet APIforebet.com ↗
Access Forebet football predictions via API: 1X2 probabilities, correct score forecasts, average goals, weather, and betting coefficients for matches worldwide.
What is the Forebet API?
The Forebet API exposes football match prediction data through 1 endpoint, get_predictions, returning over a dozen fields per match including 1X2 probability percentages, predicted outcome, correct score, average goals, weather conditions, and betting coefficients. Coverage spans leagues worldwide, and results can be scoped by time period using the period input parameter.
curl -X GET 'https://api.parse.bot/scraper/eecad7bc-d24a-4a6a-9064-526c4449f98e/get_predictions?period=today' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace forebet-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Forebet football predictions — browse tomorrow's matches."""
from parse_apis.forebet_com_api import Forebet, Period, InvalidPeriod
client = Forebet()
# List tomorrow's predictions, capped at 5 total items.
for match in client.predictions.list(period=Period.TOMORROW, limit=5):
print(
f"{match.home_team} vs {match.away_team} | "
f"H:{match.probability_home}% D:{match.probability_draw}% A:{match.probability_away}% | "
f"Predicted: {match.prediction}"
)
# Drill into the first weekend prediction for full details.
top = client.predictions.list(period=Period.WEEKEND, limit=1).first()
if top is not None:
print(f"\nTop weekend pick: {top.home_team} vs {top.away_team}")
print(f" League: {top.league} ({top.country})")
print(f" Correct score prediction: {top.correct_score_prediction}")
print(f" Average goals: {top.average_goals}")
print(f" Weather: {top.weather}")
print(f" Coefficient: {top.coefficient}")
print(f" Full URL: {top.match_url}")
# Demonstrate error handling for an invalid period value.
try:
client.predictions.list(period="not_a_period", limit=1).first()
except InvalidPeriod as e:
print(f"\nCaught expected error: {e.message}")
print("\nexercised: predictions.list (tomorrow / weekend / invalid)")
Returns football match predictions for the specified time period. Each prediction includes home/away teams, 1X2 probability percentages, the predicted outcome, correct score prediction, average goals, weather, and betting coefficient. Results include matches from all leagues worldwide for the chosen period. Typically returns 30-50+ matches per period depending on the schedule.
| Param | Type | Description |
|---|---|---|
| period | string | Time period for predictions. |
{
"type": "object",
"fields": {
"total": "integer — number of predictions returned",
"period": "string — the requested time period",
"predictions": "array of prediction objects with match details"
},
"sample": {
"data": {
"total": 32,
"period": "today",
"predictions": [
{
"league": "Major League Soccer",
"country": "USA",
"weather": "82°F",
"match_id": "2426793",
"away_team": "Portland Timbers",
"home_team": "Chicago Fire",
"match_url": "https://www.forebet.com/en/football/matches/chicago-fire-portland-timbers-2426793",
"league_tag": "Us1",
"match_date": "17/08/2026 00:00",
"prediction": "2",
"coefficient": "+425",
"average_goals": 3.09,
"probability_away": 39,
"probability_draw": 23,
"probability_home": 38,
"correct_score_prediction": "1 - 2"
}
]
},
"status": "success"
}
}About the Forebet API
What the API Returns
The get_predictions endpoint returns an array of prediction objects for football matches in the requested time window. Each object includes the home and away team names, percentage probabilities for a home win (1), draw (X), or away win (2), the model's predicted outcome, a correct score prediction, an average goals figure, current weather conditions at match venue, and the associated betting coefficient. The response also surfaces a total field indicating how many predictions are in the result set and a period field echoing the requested timeframe.
The period Parameter
The single optional input, period, controls which time window of fixtures is returned. Omitting it returns the default set of predictions. Passing a specific period value lets you scope results to today's matches, tomorrow's, or other supported windows. This makes the endpoint suitable for both real-time dashboards that need current-day fixtures and pipelines that pre-fetch next-day data.
Data Coverage and Scope
Predictions cover matches from leagues across multiple continents, reflecting Forebet's broad multi-league model. Each prediction bundles statistical context (probabilities, average goals) with environmental context (weather) and market context (betting coefficient) in a single response object, so callers do not need to merge data from separate sources to get a complete match forecast picture.
The Forebet API is a managed, monitored endpoint for forebet.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when forebet.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official forebet.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a daily football betting dashboard that displays 1X2 probabilities and coefficients side by side for all fixtures.
- Aggregate correct score predictions across leagues to identify high-confidence forecasts for a specific period.
- Correlate weather conditions with prediction outcomes to analyze how environmental factors affect model confidence.
- Automate alerts when the predicted outcome probability exceeds a threshold for upcoming matches.
- Feed average goals data into a fantasy football lineup optimizer to prioritize attacking players in high-scoring fixtures.
- Compare Forebet predicted scores against actual results over time to evaluate model accuracy by league.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Forebet have an official developer API?+
What does the `get_predictions` endpoint return for each match?+
total count and the period string that was requested.Are historical predictions or past match results available?+
period parameter. Historical prediction records and past match results are not currently exposed. You can fork the API on Parse and revise it to add an endpoint targeting historical data.Can I filter predictions by league, country, or team?+
get_predictions endpoint accepts a period parameter for time-based scoping but does not currently support filtering by league, country, or team name. The full prediction set for the period is returned. You can fork the API on Parse and revise it to add filtering logic over the returned array.