Botola Pro API
Fixtures, live scores, standings, bookmaker odds and match probabilities for Botola Pro as JSON over one REST API. One key, no scraping. Use league ID 53 to filter any endpoint to this league.
League ID
53
Upcoming now
25
Teams in table
20
Request this league
# Fixtures and results curl "https://api.predictiqpro.com/fixtures/?league_id=53" \ -H "Authorization: Token YOUR_API_KEY" # Standings curl "https://api.predictiqpro.com/standings/?league_id=53" \ -H "Authorization: Token YOUR_API_KEY"
import requests
r = requests.get(
"https://api.predictiqpro.com/fixtures/",
params={"league_id": 53},
headers={"Authorization": "Token YOUR_API_KEY"},
timeout=15,
)
for m in r.json()["results"][:5]:
print(m["home_team"], "vs", m["away_team"], m["status"])What a fixture looks like
A real Botola Pro fixture from the API (61 in the last 60 to next 30 days). Each response carries more fields than shown here.
{
"id": 642967,
"status": "NS",
"kickoff_time": "2026-10-24T16:00:00+00:00",
"home_team": "Union Sportive Amal Tiznit",
"away_team": "CODM Meknès",
"home_score": null,
"away_score": null
}Match probabilities come from the bookmaker consensus where odds exist and from a statistical model otherwise, and every response says which, in a basis field. See the methodology and the published accuracy record.
Browse the league itself on the Botola Pro page, or read the full API documentation.
Get Botola Pro data in your own app
Probabilities, odds, fixtures and live scores as JSON over one REST API. Try it free for 14 days, no card needed.
curl https://api.predictiqpro.com/fixtures/?league_id=53 \ -H "Authorization: Token YOUR_API_KEY"