ParseForge Scrapers

Football-Data.org Competitions Scraper

parseforge/football-data-org-competitions-scraper

OtherAutomation

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
14
Monthly active
5
Total runs
8.5K
Bookmarked
0
Rating
Not rated yet
Last modified
15 hours ago

Overview

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. No login required for the free tier.

Football-Data.org's official API needs an API key and rate limits you. This Actor reads the public competition catalog, league tables, season fixtures, team profiles, and single match records directly, and returns each one 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.

  • ๐Ÿ“‹ Competitions catalog: list all competitions with area, name, and season info.
  • ๐Ÿ† Standings: league table for a competition and season, with position, points, and goal difference.
  • ๐Ÿ“… Matches: all fixtures for a competition and season, with scores, status, and matchday.
  • ๐Ÿ‘ฅ Team profile: details for a single team, including squad, coach, and venue.
  • โšฝ 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

๐Ÿ“Š 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.

๐Ÿ“… Build a fixture calendar.

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

๐Ÿ‘ฅ Monitor team changes.

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

โšฝ Analyze a single match.

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

๐ŸŒ Compare competitions.

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

Why choose this scraper

What you get
No API key needed Runs on the free tier without registration
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
Rate limit friendly Optional auth token for higher limits

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 Yes Not listed
Team profile Yes Not listed Not listed
Single match record Yes Not listed Not listed
Optional auth token 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"
}

Pricing

Pay-per-result: $0.02 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.00
1,000 results $20.00
10,000 results $200.00

New Apify accounts start with $5 in free credit.

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?

You may have hit the rate limit. Wait a minute and try again, or provide your own auth token for higher limits.

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 optional and only needed for higher rate limits or restricted competitions.

FAQ

Question Answer
Do I need an API key? No, the Actor runs on the free tier without an auth token. You can optionally provide your own token for higher rate limits and access to restricted competitions.
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 tier has a rate limit of 10 requests per minute. With your own auth token, the limit is higher.
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.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ 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.

Input

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 Personal API key for higher rate limits and access to restricted competitions. Optional: runs on the free tier without it. not set

Pricing

from $15.00 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.015 to $0.02

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

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 '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

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.

Related scrapers

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