📚 API Documentation
The Football Data Pro REST API is fully self-hosted on your domain. Each registered user automatically gets a Football key (FB_*) and Basketball key (BB_*). Use the X-API-Key header on every request.
Base URL
https://nivadasuites.com/wp-json/fdpro/v1/
Authentication
# Football (your FB_ key)
curl "https://nivadasuites.com/wp-json/fdpro/v1/football/fixtures?per_page=5" \
-H "X-API-Key: FB_your_key_here"
# Basketball
curl "https://nivadasuites.com/wp-json/fdpro/v1/basketball/standings" \
-H "X-API-Key: BB_your_key_here"
All endpoints
Replace {sport} with football or basketball.
Reference data
GET /{sport}/countriesGET /{sport}/leagues?country_id=&page=&per_page=GET /{sport}/seasons?league_id=GET /{sport}/teams?country_id=&search=GET /{sport}/teams/{id}– includes players, coaches, trophiesGET /{sport}/players?team_id=GET /{sport}/coaches?team_id=
Match data
GET /{sport}/fixtures?league_id=&season_id=&team_id=&status=&from=&to=&date=GET /{sport}/fixtures/{id}– includes events, lineups, statistics, prediction, oddsGET /{sport}/livescoreGET /{sport}/standings?league_id=&season_id=GET /{sport}/events?fixture_id=GET /{sport}/lineups?fixture_id=GET /{sport}/statistics?fixture_id=GET /{sport}/head2head?team1=&team2=GET /{sport}/odds?fixture_id=
People & meta
GET /{sport}/injuries?team_id=GET /{sport}/transfers?player_id=GET /{sport}/top_scorers?season_id=GET /{sport}/trophies?team_id=GET /{sport}/sidelined?player_id=
Predictions
GET /{sport}/predictions?fixture_id=&league_id=POST /{sport}/predictions/run/{fixture_id}– run/refresh prediction
World Cup pool
GET /worldcup/tournamentsGET /worldcup/groups/{tournament_id}GET /worldcup/bracket/{tournament_id}POST /worldcup/predict/{tournament_id}– body:{ "fixture_id":1, "home_goals":2, "away_goals":1, "stage":"group" }GET /worldcup/simulate/{tournament_id}– Monte-Carlo simulationGET /worldcup/leaderboard/{tournament_id}
Example JS
fetch('https://nivadasuites.com/wp-json/fdpro/v1/football/predictions?league_id=1', {
headers: { 'X-API-Key': 'FB_your_key_here' }
}).then(r => r.json()).then(console.log);
Limits
Each key has a configurable daily limit (default 10,000). Exceeding it returns HTTP 429. Counters reset daily via WP-Cron.