ParseForge Scrapers

Football-Data.org Competitions Scraper

parseforge/football-data-org-competitions-scraper

SportsAutomation

Export football competitions, standings, fixtures, results, and team data covering the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, and 180+ other competitions worldwide.

Run this scraper See the API call
Total users
16
Monthly active
2
Total runs
14.5K
Bookmarked
0
Last modified
8 minutes ago

This scraper was last updated on .

What does the Football-Data.org Competitions Scraper return?

ParseForge

Football-Data.org Competitions Scraper

Scrape football competitions, standings, matches, and team data from Football-Data.org. Get league tables, season fixtures, and team profiles in clean JSON, CSV, Excel, or XML. The competitions list needs no login; standings, matches and team data need a free football-data.org token.

The competition catalog is open to everyone. League tables, season fixtures, team profiles and single match records come from football-data.org's official API and need your own free API key, which you paste in the Auth Token field. The Actor makes the requests, retries when the API is busy, and returns each record in a fixed schema. Filter by competition code, season, team ID, or match ID.

Who uses it What they scrape Football-Data.org for
Sports analysts Which competitions are available and their current standings
Betting researchers Season fixtures and match results for a league
Fantasy football players Team profiles and player data for a specific team
Data journalists Historical match data for a competition
App developers Live standings and fixtures for a football app

What it does

This Actor collects football competitions, standings, matches, team profiles, and single match records from Football-Data.org and returns each one as a flat row.

  • \uD83D\uDCCB Competitions catalog: list all competitions with area, name, and season info.
  • \uD83C\uDFC6 Standings: league table for a competition and season, with position, points, and goal difference.
  • \uD83D\uDCC5 Matches: all fixtures for a competition and season, with scores, status, and matchday.
  • \uD83D\uDC65 Team profile: details for a single team, including squad, coach, and venue.
  • \u26BD Single match: full record for one match, including lineups, goals, and bookings.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Football-Data.org data

\uD83D\uDCCA Track league standings.

A sports analyst runs the Actor in standings mode for the Premier League, season 2024, to get the current table and feed it into a weekly report.

\uD83D\uDCC5 Build a fixture calendar.

A betting researcher collects all matches for the Champions League, season 2024, to analyze upcoming odds and past results.

\uD83D\uDC65 Monitor team changes.

A fantasy football player pulls the team profile for Manchester City to see the current squad and coach before making transfers.

\u26BD Analyze a single match.

A data journalist retrieves a specific match record to verify lineups and goal scorers for an article.

\uD83C\uDF0D Compare competitions.

An app developer lists all competitions to populate a dropdown menu in a football app.

Why choose this scraper

What you get
Free token is enough The competitions list runs without a key; a free football-data.org token unlocks standings, matches, teams and single matches
Five data modes Competitions, standings, matches, team, and match
Fixed schema Every record returns the same flat structure
Export anywhere JSON, CSV, Excel, or XML
Clear errors A missing or rejected key stops the run at once with a message explaining what to do, and no results are charged

How it compares

This Actor offers five data modes and optional auth, while the competitors focus on narrower use cases.

Feature ParseForge Football Fixtures Api Football Data Competitions Scraper
Competitions catalog Yes Not listed Yes
Standings (league table) Yes Not listed Not listed
Matches (season fixtures) Yes Not listed Not listed
Team profile Yes Not listed Not listed
Single match record Yes Not listed Not listed
Auth token support Yes Not listed Not listed

Configure the run

Drive the Actor from competition codes, seasons, team IDs, match IDs, and area filters, alone or together, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "mode": "competitions",
  "competitionCode": "PL"
}

A larger pull:

{
  "maxItems": 200,
  "mode": "competitions",
  "competitionCode": "PL"
}

A league table (needs your free football-data.org key in authToken):

{
  "maxItems": 200,
  "mode": "standings",
  "competitionCode": "PL",
  "season": "2025",
  "authToken": "YOUR_FOOTBALL_DATA_KEY"
}

Without a key, the standings, matches, team and match modes stop right away with a message telling you how to get one. No results are charged for that run.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Football-Data.org Competitions Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Football-Data.org through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/football-data-org-competitions-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that you have selected the correct mode and provided the required inputs. For standings and matches, you need a competition code. For team and match modes, you need the respective ID.

Why do I get a 403 error?

football-data.org restricts everything except the competitions list to registered users. Get a free token at https://www.football-data.org/client/register and paste it in the Auth Token field. If you already use a token, the competition may be outside your plan (the free plan covers the major leagues and cups).

Why is the season parameter not working?

The season parameter expects the starting year as a string, e.g. '2024' for the 2024/25 season. Make sure you are using the correct format.

How do I find a team ID?

You can use the competitions mode to list competitions, then use the standings or matches mode to find team IDs in the response. Alternatively, check the Football-Data.org documentation.

Why is my auth token not accepted?

Make sure you have copied the token correctly and that it is active. The token is required for the standings, matches, team and match modes; the competitions mode works without it.

FAQ

Question Answer
Do I need an API key? Only for standings, matches, team and match modes. The competitions list works without one. A free football-data.org token is enough for the major leagues and cups.
What competitions are supported? The Actor supports all competitions available on Football-Data.org, including Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, Europa League, World Cup, and more.
How do I get standings for a league? Set mode to 'Standings', choose a competition code like PL for Premier League, and optionally specify a season. The Actor returns the league table.
Can I get fixtures for a whole season? Yes, set mode to 'Matches', choose a competition code and season, and the Actor returns all fixtures for that season.
How do I get data for a specific team? Set mode to 'Team' and provide the numeric team ID. Example: 65 for Manchester City, 81 for Barcelona.
Can I get a single match record? Yes, set mode to 'Match' and provide the numeric match ID.
What output formats are supported? The Actor exports data as JSON, CSV, Excel, or XML, depending on your Apify dataset settings.
Is there a rate limit? The free football-data.org plan allows 10 requests per minute. Paid plans raise the limit.
Can I filter competitions by area? Yes, in competitions mode you can provide comma-separated area IDs to filter results.
What is the maximum number of items I can collect? You can set maxItems up to 1,000,000 per run.

\uD83D\uDE3E Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

\u26A0\uFE0F Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Football-Data.org. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

What input does the Football-Data.org Competitions Scraper accept?

FieldTypeWhat it doesDefault
maxItems integer How many competitions to collect per run. 10
mode string (5 options) competitions = list of all competitions, standings = league table, matches = season fixtures, team = team profile, match = single match. competitions
competitionCode string (14 options) Competition code used for standings and matches modes. PL = Premier League, PD = La Liga, BL1 = Bundesliga, SA = Serie A, FL1 = Ligue 1, CL = Champions League, ELC = Championship, EL = Europa League, EC = European Championship, WC = World Cup. PL
season string Season starting year, e.g. '2024' for 2024/25. Optional. Used by standings and matches modes. not set
teamId string Numeric team ID. Required for team mode. Example: 65 = Manchester City, 81 = Barcelona. not set
matchId string Numeric match ID. Required for match mode. not set
areas string Comma-separated area IDs to filter competitions mode, e.g. '2072,2081'. Optional. not set
authToken string Your football-data.org API key. Required for the standings, matches, team and match modes: without it those runs stop at once with a message and no results are charged. The competitions mode works without it. Get a free key at https://www.football-data.org/client/register not set

How much does the Football-Data.org Competitions Scraper cost?

from $15.00 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.015 to $0.02
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.0178 to $0.02

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Football-Data.org Competitions Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST · run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~football-data-org-competitions-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "maxItems": 10,
    "mode": "competitions",
    "competitionCode": "PL"
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "maxItems": 10,
  "mode": "competitions",
  "competitionCode": "PL"
}

What do users say about the Football-Data.org Competitions Scraper?

No reviews yet. Be the first.

How do I report an issue with the Football-Data.org Competitions Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Football-Data.org Competitions Scraper on Apify All scrapers