OpenLigaDB Football Matches Scraper avatar

OpenLigaDB Football Matches Scraper

Pricing

from $12.00 / 1,000 result items

Go to Apify Store
OpenLigaDB Football Matches Scraper

OpenLigaDB Football Matches Scraper

Pulls football match schedules and results, league standings, and a complete competition catalog from OpenLigaDB. Returns each item as a flat row.

Pricing

from $12.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

ParseForge

OpenLigaDB Football Matches Scraper

Scrape football matches, league tables, and competition catalogs from OpenLigaDB, up to one million per run. Every match comes with kickoff time, scores, teams, and match status. No API key required. Export to JSON, CSV, Excel, or XML.

OpenLigaDB serves free, open football data for thousands of competitions, but stitching together its multiple endpoints and handling pagination takes time you could spend on analysis. This scraper reads the public feeds directly for matches, standings, and league directories, returning every competition from Bundesliga 1 to amateur regional cups in one fixed schema.\n\nCall one Actor for three data shapes: full match schedules and results, current league tables, or a complete catalog of available competitions.

Who uses itWhat they scrape OpenLigaDB for
Football data analystsPull match results and league tables to model team form and predict outcomes.
Fantasy league developersIngest live scores, fixtures, and team data to power prediction games and apps.
Journalists and content creatorsGather Bundesliga, DFB-Pokal, and international tournament data for match previews and stats pieces.
Betting model buildersCollect historical match results and standings to train forecasting models.

What it does

This actor collects football data from OpenLigaDB by mode (matches, standings, or league list) and returns each row as a flat record.

  • Matches mode: Full schedule and results including kickoff, teams, scores, and match status for any competition.
  • 📊 Table mode: Current league standings for a chosen competition and season.
  • 📋 Leagues mode: Complete catalog of every competition on OpenLigaDB, from professional tiers to regional amateur cups.

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

What you can do with OpenLigaDB data

📈 Track form across a league.

A data analyst pulls all 2024/25 Bundesliga 1 matches to calculate rolling points and expected goals for each club.

🏗 Build a match discovery tool.

A developer runs the leagues mode to populate a competition picker, then fetches fixtures on demand for any selected shortcut and season.

📰 Automate a weekly stats roundup.

A content creator collects the latest matchday results and league table from the 3. Liga to feed a newsletter or match report.

🌍 Power a fantasy game with live data.

A fantasy league operator scrapes the Champions League 2024/25 schedule and standings on a cron to update point tallies after each matchday.

Why choose this scraper

What you get
No API keyReads the public OpenLigaDB feeds without any registration or token.
Three modes in oneCollect matches, standings, or a league directory from a single actor.
Thorough coverageAccesses thousands of competitions, including amateur and regional leagues not always surfaced in other tools.

How it compares

This actor covers the same OpenLigaDB source as the three listed competitors, with dedicated modes for matches, standings, and a full league directory in one tool.

FeatureParseForgeOpenLigaDB Football Scraper - Matches, Results & Teams (No Key)OpenLigaDB Matches Scraper - Football ResultsOpenLigaDB Football Stats Scraper
Dedicated leagues catalog modeYesNot listedNot listedNot listed
League table standings modeYesNot listedNot listedYes
Match scores and goalsYesYesYesYes
Kickoff time and match statusYesNot listedYesNot listed
Team icons and logosYesNot listedYesNot listed
Stadium metadataNot listedYesNot listedNot listed

Configure the run

Drive the actor by mode, league shortcut, and season. Run the leagues mode first to discover every available shortcut, then feed one into matches or table mode to pull targeted data. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"mode": "matches",
"league": "bl1",
"season": "2024"
}

A larger pull:

{
"maxItems": 200,
"mode": "matches",
"league": "bl1",
"season": "2024"
}

Pricing

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

Results collectedApproximate cost
100 results$1.60
1,000 results$16.00
10,000 results$160.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 OpenLigaDB Football Matches 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 OpenLigaDB 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/openligadb-football-matches-scraper"

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

Troubleshooting

Why am I getting no results when I enter a league shortcut?

Check that you set the mode to matches or table. The league field is ignored in leagues mode. Also confirm the shortcut is typed exactly as it appears in the leagues catalog, including capitalization and numbers.

Why does the run return only a handful of rows?

Increase the Maximum matches input. The default is 10, which is fine for a test but too low for a full Bundesliga season. Set it to at least 306 for a full 18-team league campaign.

Why do I see incomplete match results?

OpenLigaDB may not have received live updates yet for in-progress or very recent matches. Re-run the actor a short while after the final whistle to pick up complete scores.

Why does my run fail with a parse error?

The season field expects a plain year like 2024. Make sure you have not included a slash or a full string like 2024/25. If the error persists, the shortcut might be invalid; run leagues mode to verify it.

How do I get team logos and icons?

The actor returns icon URL fields when OpenLigaDB provides them. If they are missing in your dataset, check whether that competition populates team icons. You can also join the team IDs against a static asset lookup.

FAQ

QuestionAnswer
Do I need an API key for OpenLigaDB?No. This actor reads the public feeds, so there is no registration, OAuth, or token to manage.
What competitions can I scrape?Thousands of competitions are available. Run the actor in leagues mode to see every shortcut, from bl1 (Bundesliga 1) and ucl24 (Champions League) down to amateur regional cups.
How do I find the shortcut for my league?Set mode to leagues and run the actor. It will return a full list of available competitions and their shortcuts, which you then paste into the league field for matches or table mode.
Can I get live scores?The actor pulls the current state from OpenLigaDB, including scores for finished and in-progress matches when the source has updated them.
What does the table mode return?It returns the current standings for the selected league and season, including position, team, played games, points, goals, and goal difference.
Which season format should I use?Use the starting year. For the 2024/25 season, enter 2024. For a summer tournament like the 2022 World Cup, enter 2022.
How do I scrape multiple leagues in one run?Run the actor once per league shortcut. You can chain multiple runs using an orchestrator or a simple script that loops over the shortcuts you need.
Can I filter matches by date range?The actor returns the full schedule for the season. Apply client-side filtering on the dataset after the run to keep only the matchdays you need.
Why am I getting duplicate matches when I re-run the actor?OpenLigaDB may include the same match in multiple group or round entries. Deduplicate on a unique match identifier in your downstream processing.
Is there a limit on how many matches I can pull?You control the ceiling with the Maximum matches input field, up to 1,000,000 per run. Set it high enough to cover the full competition season.

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 OpenLigaDB. 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.