FIFA World Cup 2026 Match Lineups, Goals & Events Scraper
SPORTSAI
FIFA World Cup 2026 Match Lineups, Goals & Events Scraper
Scrapes per-match lineups, tactical formations, goal/card events, and referee data for all 104 FIFA World Cup 2026 matches using the official FIFA live API (api.fifa.com/api/v3).
What this actor does
For each World Cup 2026 match, this actor:
- Fetches the full fixture list from FIFA's calendar API (104 matches total)
- Filters matches by status (played, upcoming, or all)
- For each match, retrieves the full lineup and events from the live endpoint
- Returns one record per player-match with match metadata, tactical data, goals, and cards
Output
Each record represents one player in one match. Fields include:
| Field | Description |
|---|---|
id_match |
FIFA match ID |
id_stage |
FIFA stage ID |
matchday |
Match day number |
stage_name |
Tournament stage (e.g. "First Stage", "Round of 16") |
date_utc |
Match date/time in UTC |
home_team / away_team |
Team names |
home_score / away_score |
Final score |
attendance |
Official attendance figure |
stadium_name |
Stadium name |
tactics_home / tactics_away |
Tactical formation strings (e.g. "4-3-3") |
player_id |
FIFA player ID |
player_name |
Player full name |
shirt_number |
Player shirt number |
position_code |
Position (0=GK, 1=DEF, 2=MID, 3=FWD) |
is_captain |
Whether the player is the captain |
lineup_x / lineup_y |
Tactical X/Y coordinates on pitch (when available) |
goal_minute |
Minute of goal scored (null if no goal) |
goal_period |
Period of goal (null if no goal) |
assist_player_id |
FIFA ID of assist player (null if no assist) |
card_type |
Card received: Yellow, Red, or Yellow-Red (null if none) |
referee_name |
Main referee name |
source |
Source API endpoint URL |
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems |
integer | 10 | Maximum number of player-match records to return (0 = no limit) |
matchStatus |
string | played |
Filter: played (completed matches only), upcoming (unplayed), all |
Example inputs
Get lineup data for all played matches:
{
"maxItems": 0,
"matchStatus": "played"
}
Quick sample of 50 records:
{
"maxItems": 50,
"matchStatus": "played"
}
All 104 matches (including upcoming):
{
"maxItems": 0,
"matchStatus": "all"
}
Data source
This actor uses FIFA's official api.fifa.com/api/v3 endpoints:
/calendar/matches— fixture discovery (competition 17, season 285023)/live/football/17/285023/{idStage}/{idMatch}— per-match lineups and events
No authentication required. The same API powers the official fifa.com website.
Use cases
- Tactical analysis: LineupX/Y coordinates and formation strings for positional analysis
- Sports media: Per-match lineup and goal data for automated match reports
- AI content generation: Structured "who scored what" data for WC 2026 summaries
- Betting models: Real lineup context (who started, who scored, formations) for each match
- Data journalism: Full tournament-level dataset linking players, goals, and match outcomes
Notes
- The actor fetches from played matches by default (
matchStatus: played). As the tournament progresses, more matches become available. lineup_x/lineup_ytactical coordinates may be null — FIFA populates them for selected matches only.- Goal records capture only the first goal per player per match. Players with multiple goals will have only the first goal annotated.
- The dataset covers the full 26-player squad per team (11 starters + 15 substitutes), not just starters.