/football/matches to get upcoming fixtures and finished results for a team, competition, date range or matchday.
The filters you’ll use most
The JavaScript examples run on your server and read your key from the
THESTATSAPI_API_KEY environment variable.
Next fixture for a team
Ask for scheduled matches, soonest first, and take the first one.Response
per_page=5 for the next five. Kickoff times (utc_date) are always UTC.
Latest results
Results come newest first by default, so you don’t needsort.
Response
score.winner is home, away or draw once the match has finished, and counts extra time and penalties. after_extra_time and penalty_shootout are filled only when a match went that far.
One day’s matches in your time zone
Setdate_from and date_to to the same day. Add utc_offset so “a day” means your local day, not the UTC one.
+10:00 that day runs from 14:00 UTC on 9 October to 14:00 UTC on 10 October, so only Arsenal v Leeds United (11:30 UTC) comes back.
If you send date by mistake, the API tells you what to use instead:
A matchday, a group or a knockout round
- League matchday
- Tournament group
- Knockouts and play-offs
Check which fixtures are loaded
A season’s later rounds may not be loaded yet, so don’t assume every fixture of the season is there. To see the furthest-ahead fixture that is loaded, ask for scheduled matches newest first:meta.total is how many scheduled matches are loaded. Get coverage for a competition shows finished and total matches per season. See Coverage for more.
Get every page
Lists return 20 rows per page by default and 100 at most (per_page=101 returns 400). Read meta.total_pages and request each page. Matches with the same kickoff are ordered by match ID, so pages stay stable.
JavaScript
API reference
- List matches: every filter and field
- Get a match: venue, referee, half-time score
- List groups in a season
- Get coverage for a competition