FIFA World Cup 2026 Fixtures Scraper avatar

FIFA World Cup 2026 Fixtures Scraper

Pricing

Pay per event

Go to Apify Store
FIFA World Cup 2026 Fixtures Scraper

FIFA World Cup 2026 Fixtures Scraper

Export all 104 official FIFA World Cup 2026 fixtures, results, teams, groups, stages, venues, scores, and calculated group tables.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Export FIFA World Cup 2026 fixtures and results from FIFA's public structured match feed.

The Actor returns the full 104-match tournament schedule with stable match identity, dates, teams, groups, stages, venues, status, scores, penalty scores, winners, and attendance where FIFA supplies it. It can also calculate group-table snapshots from the official match results in the same run.

Use it for sports publishing, tournament dashboards, match calendars, results archives, and scheduled data pipelines.

What does this FIFA World Cup 2026 data Actor do?

The Actor requests the exact FIFA competition and season rather than searching a general football feed. It normalizes the source response into integration-friendly JSON records.

A run can:

  • export all 104 matches;
  • select match records, standing records, or both;
  • filter either side by team name or country code;
  • filter Group A through Group L;
  • select a stage such as First Stage or Final;
  • limit matches to a UTC date range;
  • select scheduled, live, or completed matches;
  • request English, Spanish, or French localized names;
  • cap combined dataset output with maxItems;
  • produce a calculated points table for each selected group.

No login, browser, or proxy configuration is required.

Who is it for?

Sports publishers

Refresh fixture and score cards without manually copying tournament pages. Use stable matchId values to update existing stories instead of creating duplicates.

Data and newsroom teams

Load normalized World Cup records into spreadsheets, databases, BI tools, or editorial systems. Schedule the Actor around publishing deadlines.

App and dashboard developers

Build calendars, group views, venue pages, team schedules, and results archives from consistent JSON.

Tournament analysts

Select one team, group, stage, or date window for focused analysis. Calculated table rows expose played, won, drawn, lost, goals, goal difference, and points.

Why use this Actor?

  • Exact tournament scope: the source request is pinned to FIFA competition 17 and season 285023.
  • Complete fixture feed: one current source response contains all 104 World Cup 2026 matches.
  • Typed output: match and standing records use explicit, documented fields.
  • Useful filters: team, group, stage, date, and status filters apply before output is charged.
  • Stable identity: FIFA match and team IDs support repeat-run comparisons.
  • Low overhead: the implementation uses the public JSON feed directly with 256 MB memory.
  • Fail-closed behavior: unexpected pagination or malformed upstream responses fail rather than silently returning partial data.

What FIFA World Cup 2026 fields are extracted?

Match records

FieldMeaning
recordTypeAlways match
matchIdStable FIFA match identifier
matchNumberTournament match number when supplied
competitionLocalized competition name
seasonLocalized season name
stageFirst Stage, knockout round, Final, or another FIFA stage
groupGroup A through Group L for group matches; otherwise null
dateScheduled UTC date and time
localDateFIFA's local match datetime when supplied
statusscheduled, live, or completed
homeTeam, awayTeamLocalized team names
homeTeamCode, awayTeamCodeTeam abbreviations or country codes
homeTeamId, awayTeamIdStable FIFA team identifiers
homeScore, awayScoreCurrent or final scores; nullable before scores exist
homePenaltyScore, awayPenaltyScoreShootout scores when applicable
winnerTeamIdFIFA winner team ID when supplied
venue, city, venueCountryCodeMatch location fields
attendanceReported attendance when supplied
sourceUrlExact official API route used
retrievedAtUTC retrieval timestamp

Standing records

Standing records use recordType: "standing" and contain:

  • group, position, team, teamCode, and teamId;
  • played, won, drawn, and lost;
  • goalsFor, goalsAgainst, and goalDifference;
  • points;
  • calculation: "calculated-from-official-match-results";
  • source and retrieval timestamps.

These rows are calculated from the selected official score records. They are convenient table snapshots, not a separate FIFA-published standings endpoint.

Getting started

  1. Open the Actor input page.
  2. Leave dataTypes as matches, standings for a complete export.
  3. Optionally add teams, groups, stages, dates, or a status.
  4. Keep the low-cost maxItems prefill at 20, or raise it to 200 for the complete tournament and group tables.
  5. Click Start.
  6. Open the Matches and standings dataset view.
  7. Export JSON, CSV, Excel, XML, or RSS, or consume the dataset with the Apify API.

The low-cost prefilled input runs without credentials:

{
"dataTypes": ["matches", "standings"],
"matchStatus": "all",
"language": "en",
"maxItems": 20
}

Input parameters

InputTypeDefaultDescription
dataTypesstring arraymatches, standingsOutput one or both supported record types
teamsstring arrayemptyTeam names or codes such as Spain, Argentina, ESP, or ARG
groupsstring arrayemptyGroup A through Group L
stagesstring arrayemptyExact or partial FIFA stage names
dateFromYYYY-MM-DDunsetEarliest UTC match date
dateToYYYY-MM-DDunsetLatest UTC match date
matchStatusstringallall, scheduled, live, or completed
languagestringenen, es, or fr, with English fallback
maxItemsinteger20Maximum combined output records, from 1 to 500; use 200 for the complete export

Team matching is case-insensitive and checks names, short names, abbreviations, and country codes. Multiple team values use OR logic. Multiple groups and stages also use OR logic. Different filter families combine with AND logic.

Example workflows

Export every fixture and table row

{
"dataTypes": ["matches", "standings"],
"maxItems": 200
}

Follow Spain through the tournament

{
"dataTypes": ["matches"],
"teams": ["Spain"],
"matchStatus": "all",
"maxItems": 20
}

Refresh Group A results and table

{
"dataTypes": ["matches", "standings"],
"groups": ["Group A"],
"maxItems": 20
}

Export knockout matches in a date window

{
"dataTypes": ["matches"],
"dateFrom": "2026-06-28",
"dateTo": "2026-07-19",
"stages": ["Final"],
"maxItems": 100
}

Example output

A match record looks like this:

{
"recordType": "match",
"matchId": "400021443",
"matchNumber": 1,
"competition": "FIFA World Cup™",
"season": "FIFA World Cup 26™",
"stage": "First Stage",
"group": "Group A",
"date": "2026-06-11T19:00:00Z",
"localDate": "2026-06-11T13:00:00Z",
"status": "completed",
"homeTeam": "Mexico",
"homeTeamCode": "MEX",
"awayTeam": "South Africa",
"awayTeamCode": "RSA",
"homeScore": 2,
"awayScore": 0,
"venue": "Mexico City Stadium",
"city": "Mexico City",
"venueCountryCode": "MEX",
"attendance": 80824,
"sourceUrl": "https://api.fifa.com/api/v3/calendar/matches?...",
"retrievedAt": "2026-08-15T00:00:00.000Z"
}

Nullable fields remain null; they are not replaced with guessed values.

How much does it cost to export FIFA World Cup 2026 data?

Pay-per-event pricing has two parts:

  • $0.005 per run for the start event;
  • $0.00238 per output record at the BRONZE tier, with lower per-record prices at higher tiers.

BRONZE examples use the same active event prices:

  • 1 record: one $0.005 start event plus 1 × the $0.00238 item event;
  • 10 records: one $0.005 start event plus 10 × the $0.00238 item event;
  • 25 records: one $0.005 start event plus 25 × the $0.00238 item event;
  • 100 records: one $0.005 start event plus 100 × the $0.00238 item event;
  • the complete 152-record match-and-table export: one $0.005 start event plus 152 × the $0.00238 item event.

Charges apply only to records actually saved. Empty filtered results incur only the one-time start event. Apify plan tier and platform usage may affect the final account total shown by Apify.

Scheduled refreshes and change tracking

Create an Apify schedule to run hourly, daily, or around match times. Use matchId as the primary key for match upserts and group + teamId for table upserts. Compare these fields between runs:

  • date, stage, or venue for schedule changes;
  • status, scores, penalties, and winner for result changes;
  • played, goal difference, points, and position for table changes.

The Actor emits current snapshots. It does not maintain history or send alerts by itself. Connect a webhook, Make, Zapier, n8n, or your own consumer to implement notifications.

API usage with cURL

Start a run and wait for dataset items:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~fifa-world-cup-2026-data/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dataTypes":["matches"],"teams":["Spain"],"maxItems":20}'

Never commit your Apify token to source control.

API usage with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/fifa-world-cup-2026-data').call({
dataTypes: ['matches', 'standings'],
groups: ['Group A'],
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/fifa-world-cup-2026-data').call(run_input={
'dataTypes': ['matches'],
'matchStatus': 'completed',
'maxItems': 104,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/fifa-world-cup-2026-data"

Claude Desktop, Cursor, and VS Code setup

Claude Desktop, Cursor, and VS Code can use this HTTP MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/fifa-world-cup-2026-data"
}
}
}

Example prompts:

  • “Run the FIFA World Cup 2026 data Actor and return every Spain match.”
  • “Refresh Group A results and summarize the calculated table.”
  • “Export completed knockout matches as CSV-ready JSON.”

Integrations

Google Sheets and Excel

Download the default dataset as CSV or XLSX, or update a sheet after each scheduled run. Use recordType to split match and standing rows into separate tabs.

Databases and warehouses

Upsert matches by matchId. Upsert standing snapshots by group, teamId, and retrievedAt, or overwrite by group + teamId when only the latest state matters.

Editorial systems

Trigger a webhook when a run succeeds. Validate score/status changes before automatically publishing reader-facing copy.

Dashboards

Filter match rows for calendars and scorecards. Filter standing rows for group tables. Retain source and retrieval timestamps for freshness indicators.

Limits and failure behavior

  • The Actor is intentionally limited to the men's FIFA World Cup 2026 competition and season.
  • It does not scrape player statistics, lineups, commentary, odds, tickets, or media.
  • Data reflects FIFA's public feed at retrieval time.
  • Localized text falls back to English when a requested translation is absent.
  • maxItems applies to the combined output in match-then-standing order.
  • A narrow match filter also narrows the matches used for calculated standings.
  • Calculated ranking uses points, goal difference, goals scored, then team name; FIFA's full tie-break rules may produce a different order in a complete tie.
  • An unexpected paginated or malformed season response causes a non-zero failure instead of partial output.
  • The Actor retries transient source failures three times with bounded delays.

Troubleshooting

The dataset is empty

Check team spelling, group, stage, date range, and matchStatus. Try the prefilled input to confirm the source is available, then add one filter at a time.

I requested standings but received no table rows

Standing rows require selected group-stage matches with numeric scores. A team/date/status filter can exclude some or all score records. Remove those filters or request the complete group.

A run failed with a FIFA API error

The Actor already performs bounded retries. Inspect the run log and retry later if FIFA's public feed was temporarily unavailable. No proxy setting is needed.

The status does not match a page I just viewed

The API and website can update at slightly different times. Use retrievedAt to show freshness and rerun after a short interval.

Legality

This Actor accesses public tournament data without authentication. You are responsible for complying with applicable laws, FIFA terms, Apify terms, and the rules of downstream systems.

Do not imply FIFA endorsement. Do not misuse team, competition, or event branding. Review data before using it for high-impact betting, financial, safety, or automated editorial decisions. Store only the fields needed for your legitimate workflow.

Use this Actor when the buyer job is specifically the official FIFA World Cup 2026 fixture and result feed.

FAQ

Does it return all 104 FIFA World Cup 2026 matches?

Yes, when the source provides the complete current season response and you use no narrowing filters with maxItems of at least 104. Raise maxItems from its low-cost default of 20 to 200 to leave room for calculated standing rows.

Are the standings official FIFA table records?

No separate table endpoint is claimed. The rows are transparently calculated from official match scores and marked with the calculation field.

Can I filter by more than one team?

Yes. The Actor keeps a match when either side matches any supplied team value.

Can I use country codes?

Yes. Values such as ESP, ARG, MEX, and USA are matched case-insensitively.

Can it monitor changes?

Schedule repeat runs and compare stable IDs in your destination. The Actor returns snapshots; webhook notifications and historical diff storage belong in your integration.

Does it need a proxy or FIFA account?

No. It uses an anonymous public FIFA JSON endpoint and does not expose a proxy mode.

What happens when a source field is missing?

Nullable fields remain null. Core records missing match identity, date, or team identity are rejected rather than emitted as misleading partial rows.