2026-05-04 · analysis
92 years of World Cup data: what we found
We compiled every FIFA World Cup squad since 1930 — 23 tournaments, ~2,500 players, full position + DOB + club data. Here's what jumped out, with the API calls you can run yourself.
Squads have grown 60% since 1930
The first tournament had 13 teams; teams brought 17–22 players each. Modern WCs ship with 26-man squads (since 2022) for 32 teams (or 48 from 2026).
GET /fifa/worldcup/v1/aggregates/players
> "avgSquadSize": 22.4
GET /fifa/worldcup/v1/aggregates/players?years=1930,1934,1938
> "avgSquadSize": 18.7
GET /fifa/worldcup/v1/aggregates/players?years=2018,2022
> "avgSquadSize": 24.1
Three drivers: more substitutions allowed (2 → 3 → 5 in 2022), expanded GK coverage, deeper benches for late-stage rotation.
Birth-month bias is real (and slightly weird)
The "relative age effect" in football says players born in the first quarter of the academy year are over-represented because they're physically older within their cohort. Our data confirms it — but with a hemisphere wrinkle.
Across all WC squads, North Hemisphere players show the classic Jan–Mar bias (academy year starts in autumn → those kids are physically the biggest). South Hemisphere players show a Sept–Nov bias (their academy year shifts) — but the effect is weaker, possibly because the football academy calendar isn't as aligned with the school year there.
GET /fifa/worldcup/v1/aggregates/players?years=1990,1994,1998,2002,2006,2010,2014,2018,2022
Run that and the response includes per-position birth-month arrays you can plot.
Goalkeepers travel further than anyone else
Looking at the club.country field across squads, GKs are the most likely position to play domestic football outside their national team's country — they tend to take the available spot rather than fight for it. Forwards cluster in their home leagues more than you'd think.
Confederation drift is small but visible
Across 23 tournaments, UEFA has provided 51% of all WC players, CONMEBOL 22%, the rest split among Concacaf / CAF / AFC / OFC. That share is remarkably stable since 1962. The places that do shift are the qualifying spots, not the player pool.
Try the queries yourself
Each example assumes you've set $WC=https://api.zafronix.com/fifa/worldcup/v1 and an API key in the $KEY env var.
# How many goals did Pelé score across his 4 WCs?
$ curl -H "X-API-Key: $KEY" "$WC/players/Pel%C3%A9"
> "totalGoals": 12
# Compare goals-per-match in 1954 (highest ever) vs 2010 (lowest of modern era)
$ curl -H "X-API-Key: $KEY" "$WC/compare?years=1954,2010"
> 1954: 5.38 goals/match
> 2010: 2.27 goals/match
# Every team Argentina has knocked out in WC history
$ curl -H "X-API-Key: $KEY" "$WC/teams/Argentina"
> (parse the .knockoutPath of each appearance)
Data quality
We curated this from FIFA's official archive, RSSSF, English Wikipedia, and team federation archives. Cross-checked. Bug reports get acknowledged within 48 hours. If you find something wrong, please file an issue — accuracy is our reputation.
Want to run analysis like this without scraping Wikipedia? Get a free key.