OpenLigaDB Bundesliga Match Scraper
parseforge/openligadb-bundesliga-scraper
SportsAutomationIntegrations
Scrapes football match data from OpenLigaDB for Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, and Champions League. Returns each match as a flat row with result, goals, teams, and matchday info.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 85
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
OpenLigaDB Bundesliga Match Scraper
Scrape Bundesliga match data from OpenLigaDB, by league, season, or matchday, up to a million matches per run. Every match comes with its result, goals, teams, and matchday info. No API key. Export to JSON, CSV, Excel, or XML.
OpenLigaDB's public API gives you German football data, but you still have to write the client, handle pagination, and map the JSON. This Actor reads the OpenLigaDB endpoints directly for Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, and UEFA Champions League, and returns each match as one flat row. Pick a league and a season, optionally a single matchday, and get the data in your dataset.
| Who uses it | What they scrape OpenLigaDB for |
|---|---|
| Sports analysts | Build historical match datasets for Bundesliga and other German leagues. |
| Fantasy football developers | Feed match results and goals into fantasy league apps. |
| Betting modelers | Get structured match outcomes for predictive modeling. |
| Football fans | Archive match results for personal stats projects. |
What it does
This Actor collects football match data from OpenLigaDB by league, season, and optional matchday, and returns each match as a flat row.
- β½ League selection: 1. Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, or UEFA Champions League.
- π Season filter: Set the starting year, e.g. 2023 for the 2023/2024 season.
- π’ Matchday filter: Optional, leave empty to scrape the whole season.
- π Flat output: Each match is one row with result, goals, teams, and matchday info.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with OpenLigaDB data
π Build a Bundesliga match database.
A sports analyst scrapes all matches for the 2023/2024 Bundesliga season to create a historical dataset for trend analysis.
π Feed a fantasy football app.
A developer scrapes match results and goals for the current season to update player scores in a fantasy league app.
π― Train a betting model.
A data scientist scrapes several seasons of DFB Pokal matches to train a model that predicts match outcomes.
π Archive match results.
A football fan scrapes all matches for their favorite team's league to keep a personal archive of results.
Why choose this scraper
| What you get | |
|---|---|
| No API key | The OpenLigaDB API is free and open, no registration needed. |
| Whole season or one matchday | Scrape all matches or a specific matchday. |
| Multiple leagues | Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, and Champions League. |
| Flat schema | Each match is a single row, ready for CSV or Excel. |
How it compares
This Actor focuses on match data from OpenLigaDB with a simple league, season, and matchday selection, while competitors may offer additional stats or faster processing.
| Feature | ParseForge | OpenLigaDB Football Scraper - Matches, Results & Teams (No Key) | OpenLigaDB Football Stats Scraper | Openligadb Scraper |
|---|---|---|---|---|
| Match results | Yes | Yes | Yes | Yes |
| League selection (Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, Champions League) | Yes | Yes | Yes | Yes |
| Season filter | Yes | Not listed | Not listed | Not listed |
| Matchday filter | Yes | Not listed | Yes | Not listed |
| No API key required | Yes | Yes | Not listed | Not listed |
| Export to JSON, CSV, Excel, XML | Yes | Yes | Not listed | Not listed |
| League tables | Not listed | Not listed | Yes | Yes |
Configure the run
Drive the Actor from a league slug, a season starting year, and an optional matchday number. The maxItems limit controls how many matches are returned, and free users get a 10-item preview. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.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
- Create a free Apify account with $5 in credit.
- Open the OpenLigaDB Bundesliga Match Scraper.
- Set your inputs and any filters, then click Start.
- 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-bundesliga-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 the league slug is correct and the season is a valid starting year. Also, if you set a matchday, make sure that matchday exists for that season.
I get an error about maxItems.
Free users are limited to 10 items. If you need more, upgrade to a paid plan or set maxItems to 10 or less.
The output has fewer matches than expected.
OpenLigaDB may not have data for all matchdays in a season, especially for future matchdays. Check the season and matchday range.
Can I scrape multiple leagues in one run?
No, the Actor scrapes one league per run. You can run it multiple times with different league inputs.
The data seems outdated.
OpenLigaDB updates its data regularly, but there may be a delay. Try running the Actor again later.
FAQ
| Question | Answer |
|---|---|
| Do I need an API key for OpenLigaDB? | No, OpenLigaDB is a free and open API. This Actor does not require any key or registration. |
| Which leagues can I scrape? | You can scrape 1. Bundesliga, 2. Bundesliga, 3. Liga, DFB Pokal, and UEFA Champions League. Select the league slug in the input. |
| How do I scrape a whole season? | Set the season to the starting year, for example 2023 for the 2023/2024 season, and leave the matchday field empty. |
| Can I scrape only one matchday? | Yes, enter the matchday number in the matchday field. The Actor will return only matches from that matchday. |
| What is the maximum number of matches I can scrape? | Paid users can scrape up to 1,000,000 matches. Free users are limited to 10 items as a preview. |
| What format is the output? | The Actor returns each match as a flat row in JSON, and you can export to CSV, Excel, or XML from the Apify dataset. |
| Does this Actor include live scores? | No, it scrapes the OpenLigaDB API for match data, which includes results and goals for completed matches. Live scores are not included. |
| Can I get team lineups or player stats? | The Actor returns match-level data such as teams, goals, and result. It does not include detailed player statistics or lineups. |
| Is the data in German or English? | The data comes from OpenLigaDB and may include German team names and league names. The schema fields are in English. |
| How often is the data updated? | The Actor fetches data from OpenLigaDB at the time of the run. OpenLigaDB updates its data regularly, so you can schedule runs to get the latest matches. |
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 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.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| league | string (5 options) | OpenLigaDB league slug. | bl1 |
| season | string | Season starting year. For example 2023 means 2023/2024. | 2023 |
| matchday | string | Optional matchday number. Leave empty for the whole season. | not set |
| maxItems | integer | Free users are limited to 10 items (preview). Paid users can collect up to 1,000,000 items. | 10 |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
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.
curl -X POST "https://api.apify.com/v2/acts/parseforge~openligadb-bundesliga-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"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 OpenLigaDB Bundesliga Match Scraper on Apify All scrapers
