A free football API that gives you the whole match

Live scores, fixtures, league tables and minute-by-minute timelines across 58 competitions. Plus injuries and suspensions, worked out from the match events themselves rather than typed in by hand.

You'll land on Global-Football-API on the RapidAPI marketplace. Subscribe to the free BASIC plan, copy your key, and you're calling the API. No card.

58competitions
13,282matches
161,557timeline events
1,207clubs

Three calls and you're running

Every endpoint takes a competition slug. The first call gives you the list. There is nothing else to set up.

# 1. find the competition slug
curl 'https://global-football-api1.p.rapidapi.com/get/soccer/leagues' \
  -H 'X-RapidAPI-Key: YOUR_KEY' \
  -H 'X-RapidAPI-Host: global-football-api1.p.rapidapi.com'

# 2. today's scores
GET /get/soccer/eng.1/scoreboard

# 3. the whole season
GET /get/soccer/eng.1/fixtures

Injuries and suspensions, derived from match events

Most providers pay people to read team news and type it into a row, which is why the cheap ones get it wrong. We read it out of our own match timelines, so every row points at something that happened at a known minute.

Who got hurt

forced_off means substituted out injured. knock means play stopped and the player carried on.

GET /get/soccer/eng.1/injuries

Emersonn      Ipswich Town  forced_off  81'
Pedro Porro   Tottenham     forced_off
Lewis Miley   Newcastle     knock       37'

Who's one booking from a ban

Card totals per player with the competition's threshold applied. Every row carries bookings_until_ban.

GET /get/soccer/eng.1/discipline

Abdul Fatawu  Ipswich  Y1 R1  suspended
Jacob Murphy  Newcastle Y2 R0  3 until ban

Endpoints

Eleven endpoints. All GET, all JSON.

EndpointReturns
/leaguesevery competition and its slug
/{league}/scoreboardscores for one day
/{league}/fixturesthe season schedule and results
/{league}/standingsthe league table
/{league}/clubsevery club, with crests and colours
/{league}/clubs/{clubId}one club
/{league}/events/{id}match detail, goals and line-ups
/{league}/events/{id}/playsthe full timeline, ~1,400 entries
/{league}/injuriesplayers hurt during recent matches
/{league}/disciplinecard totals and suspension risk
/metacoverage and freshness per competition

58 competitions

Top flights, second divisions, domestic cups and continental football.

Premier LeagueLaLigaBundesligaSerie ALigue 1EredivisiePrimeira LigaChampions LeagueEuropa LeagueConference LeagueChampionshipLaLiga 22. BundesligaSerie BLigue 2MLSLiga MXBrasileirãoLiga ProfesionalLibertadoresSudamericanaFA CupCopa del ReyDFB-PokalCoppa ItaliaSaudi Pro LeagueJ.LeagueA-LeagueEliteserienAllsvenskanNWSLWSLand 26 more

Pricing

The plans you will see on RapidAPI. BASIC needs no card and is enough to build and test against. Paid plans add request volume, and usage above the monthly quota is billed per call rather than cut off.

BASIC$0 /mo600 requests a month
1,000 per hour
PRO$5 /mo20,000 requests a month
30 per minute
ULTRA$15 /mo150,000 requests a month
100 per minute
MEGA$45 /mo1,000,000 requests a month
high throughput

Subscribe to BASIC, free

Questions

Is there a genuinely free football API?

This one has a free tier that needs no card. You sign up through RapidAPI, get a key, and start calling. Paid plans exist for higher request volumes, but the free tier is enough to build and test against.

What data does it cover?

Live scores, fixtures and results, league tables, club directories with crests, squad line-ups with shirt numbers, and full play-by-play timelines running to about 1,400 events per match. Also injury and suspension signals derived from those timelines.

How fresh is the live data?

Matches in play refresh every 20 seconds. Polling faster than that returns the same response, so match your cache time to the refresh rate rather than to how fresh you want the data to be.

Does it include injuries and suspensions?

Yes, with a limit worth knowing. Both are derived from match events rather than curated by hand. That means injuries cover what happened on the pitch in matches we hold a timeline for, not a player who picked up a knock in training. Treat it as a leading indicator rather than a team sheet. The upside is that a derived event cannot go stale or be mis-keyed.

Which leagues are covered?

58 competitions, including the Premier League, LaLiga, Bundesliga, Serie A, Ligue 1, the Champions League, the Europa League, MLS, Liga MX and the Saudi Pro League, plus second divisions such as the Championship and domestic cups such as the FA Cup. Call /get/soccer/leagues for the current list.

Can I use it commercially?

Yes, under the plan you subscribe to on RapidAPI. Rate limits are per plan and metered there.

How is this different from other football APIs?

Two things. The timelines go deeper than a score and a goalscorer, at around 1,400 events per match with minute-accurate clocks. And injuries and suspensions are derived rather than curated, which is the part most cheap providers get wrong.

Start building

Global-Football-API is listed on RapidAPI. Subscribe to BASIC, copy your key, make your first call in a couple of minutes.

Get your free key on RapidAPI