FotMob Leagues List Scraper avatar

FotMob Leagues List Scraper

Pricing

from $2.00 / 1,000 league results

Go to Apify Store
FotMob Leagues List Scraper

FotMob Leagues List Scraper

Get the full FotMob directory of football leagues and competitions worldwide — popular, international, and every country's domestic leagues — one clean record per league with its FotMob id, name, country and URL. Discover league ids for the FotMob League and Match scrapers. Failures never billed.

Pricing

from $2.00 / 1,000 league results

Rating

0.0

(0)

Developer

Elena Vance

Elena Vance

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

FotMob Leagues List Scraper — Every Football League & Competition ID, in One Run

Turn FotMob's entire competition directory into clean, structured JSON or CSV: the FotMob leagueId, name, localized name, country, category, and the league page URL — one tidy record per league. Popular leagues, international tournaments, and every country's domestic divisions, all flattened into a single dataset.

This is the discovery Actor of the FotMob family. One signed request returns roughly 550 leagues, and the leagueIds it emits are exactly what you feed into the FotMob League Scraper (for seasons, tables, fixtures) and, through that, the FotMob Match Details Scraper. No login, no account, no HTML wrangling — and you are never billed for failed requests.

Good to know: this Actor works globally — there is no geo-restriction. It runs through Apify Proxy, and datacenter proxy (the default) is enough — just keep the proxy enabled. A full run is one HTTP request, so it is fast and cheap.


Why this Actor

  • The whole league map in one call. A single signed allLeagues request to FotMob returns every competition it tracks — no pagination, no crawling, no per-country fan-out. One run = the complete directory.
  • The seed for the rest of your pipeline. Each record carries the stable leagueId that the FotMob League Scraper and FotMob Match Details Scraper take as input. Run this first, then drive everything else off the ids it produces.
  • Three buckets, one flat schema. Popular leagues, international tournaments, and per-country domestic leagues are merged into one consistent record shape, each tagged with a category so you can split them back apart in one filter.
  • Filter to what you need. Pull everything by default, or restrict to a single category, or list FIFA country codes to get only those countries' domestic leagues.
  • Ready-to-use links. Every record includes both the relative pageUrl and a fully-formed absolute leagueUrl (https://www.fotmob.com/...) — click through or build deep links straight from the dataset.
  • You never pay for failures. If the directory request fails, it is reported in the run summary — not written to your dataset and not billed.
  • Fast and lightweight. One request, hundreds of records, minimal compute.
  • Clean, consistent output. leagueId as an integer, ISO 8601 timestamps, whitespace-normalized names, JSON-safe values throughout.

Problems this Actor solves

If you are…Your problemHow this Actor solves it
Building a football-data pipelineThe other FotMob scrapers need leagueIds, and there is no clean master listRun this first; feed its leagueIds into the FotMob League Scraper and Match Details Scraper
A data analyst / researcherYou need a complete, normalized reference table of competitions to join againstOne dated record per league — export straight to pandas, Sheets, or BI
An app / chatbot / agent developerYou want a competition picker or autocomplete without maintaining a hardcoded listPull the live directory on a schedule; a stable, normalized schema you can rely on
A betting / stats / fantasy projectMapping internal competitions to FotMob ids is manual and error-proneMatch on name / ccode / countryName and capture the canonical leagueId
A content creator / journalistYou need the right league URLs and ids fastFilter by country code or category and copy the ready-made leagueUrl

What data you get

Each league becomes one dataset record:

FieldDescription
leagueIdFotMob's stable numeric league id (the record's unique id). Integer.
nameLeague / competition name (e.g. Premier League)
localizedNameLocalized name for the chosen locale; falls back to name
categorypopular, international, or domestic — which FotMob bucket the league came from
ccodeFIFA country code (e.g. ENG, ESP, GER); INT for international tournaments. May be null
countryNameCountry name for domestic leagues; null for popular / international
pageUrlRelative FotMob path (e.g. /leagues/47/overview/premier-league). May be null
leagueUrlAbsolute FotMob URL built from pageUrl. May be null
sourceAlways fotmob-leagues-list-scraper
scrapedAtISO 8601 timestamp of the run

Example output

{
"leagueId": 47,
"name": "Premier League",
"localizedName": "Premier League",
"category": "popular",
"ccode": "ENG",
"countryName": null,
"pageUrl": "/leagues/47/overview/premier-league",
"leagueUrl": "https://www.fotmob.com/leagues/47/overview/premier-league",
"source": "fotmob-leagues-list-scraper",
"scrapedAt": "2026-06-18T11:08:55+00:00"
}

A league can appear in more than one FotMob bucket (e.g. a popular league is also a domestic one); records are de-duplicated by leagueId, so you get exactly one clean record per league. If the directory request cannot be fetched, nothing is written to the dataset (and nothing is billed) — the failure is listed in the run's SUMMARY record in the key-value store ({ "failures": [ { "input": "allLeagues", "error": "…" } ] }), and the run's status message tells you at a glance how many leagues were captured.


How to use it (60 seconds)

  1. Click Try for free / Start.
  2. Choose what to return:
    • Everything (default): leave Category on All to get every league FotMob tracks.
    • One bucket: set Category to Popular leagues,
      International tournaments
      , or Domestic (country) leagues.
    • Specific countries: add FIFA codes (e.g. ENG, ESP, GER) under Country codes to keep only those countries' domestic leagues.
  3. Keep the Apify Proxy enabled (datacenter is enough — the default).
  4. Click Save & Start. Download results as JSON, CSV, Excel, or via API from the Dataset tab; check Key-value store → SUMMARY for run totals and any failures.

Input reference

FieldTypeDefaultDescription
CategoryselectallWhich leagues to return: all, popular, international, or domestic.
Country codes (optional)list(empty)FIFA country codes (e.g. ENG, ESP, GER). Filters the domestic bucket only; empty = all countries.
Locale country (advanced)stringUSCountry code FotMob uses to localize ordering and the localizedName. Most users can leave it at US (English names).
Proxy configurationobjectApify Proxy (datacenter)Routes the request through Apify Proxy. Datacenter is enough — keep it enabled.
Max itemsinteger0Stop after producing this many records (0 = the full directory).

Notes on coverage

One run captures FotMob's complete competition directory — popular leagues, international tournaments, and every country's domestic divisions — typically around 550 leagues, flattened into a single dataset. The exact count tracks whatever FotMob currently publishes. Leagues without a usable id are skipped, and duplicates across buckets are merged by leagueId. The Locale country option only changes the localized names and ordering; the set of leagues and their ids is the same worldwide.


Pricing — what a run costs

This Actor uses transparent pay-per-event pricing with a built-in volume discount: a small Actor-start fee, a fixed price per successful league record for the first 10,000 results of a run, and a cheaper rate for every result beyond that. No subscription, no minimums, and failed league records are never charged. The exact rates are shown on the Actor's Pricing tab.

  • Failed requests are free. A failed directory fetch is reported in the summary, never billed.
  • Bigger runs cost less per item. The discount tier resets per run, so one large run is cheaper than the same job split into many small ones.
  • Cheap by design. A full run is a single HTTP request that yields hundreds of records — there is very little to pay for.
  • Try it free: an Apify free account includes $5 of monthly platform credit — enough to try the Actor before paying anything.
  • Stay in control: set Max items and Apify's maximum charge per run; the Actor stops gracefully at your cap, keeping everything already scraped.

Compared to the alternatives

This ActorBuild your own scraperHardcoded league list
Complete, normalized directoryYesYou maintain itGoes stale
Stable leagueId for downstream scrapersYesYou map itManual lookup
Popular + international + domestic in one schemaYesYou merge itPartial
Filter by category / country codeYesYou build it
Ready-made absolute league URLsYesYou construct them
Never billed for failuresYes
Export JSON / CSV / Excel / APIYes, built-inDIYCopy-paste
Setup time~60 secondsDays; breaks on site changesHours, and out of date

The FotMob Actor family

This is the discovery Actor that produces the league ids the others consume:

Typical flow: run this Actor to get leagueIds → feed them into the FotMob League Scraper → take the match ids from there into the FotMob Match Details Scraper.


Integrate the data

  • Exports: JSON, CSV, Excel, XML from the Dataset tab — or fetch programmatically:
    GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
  • Run on a schedule: use Apify Schedules to refresh the directory weekly or monthly, and webhooks to push finished runs into your pipeline (Sheets, Slack, your backend).
  • From code: call the Actor with the Apify API or SDKs (Python / JavaScript) and read the dataset when the run finishes.
  • Chain it: pipe the leagueIds straight into the FotMob League Scraper to build a full football-data pipeline.
  • Run summary: every run writes a SUMMARY record (key-value store) with totals, successes, failures, and billing counts — ideal for monitoring automated pipelines.

FAQ

Do I need a FotMob account or login? No. There is no account or login required.

Is it geo-restricted? No — this Actor works globally. It runs through Apify Proxy, and datacenter proxy (the default) is enough; just keep the proxy enabled.

What is leagueId for? It is FotMob's stable numeric id for a competition, and the key input to the FotMob League Scraper and FotMob Match Details Scraper. Run this Actor first to discover the ids you need.

Why is countryName sometimes null? countryName is only set for domestic leagues. Popular leagues and international tournaments return null for it (use ccode, which is INT for international tournaments).

How do I get only one country's leagues? Leave Category on all or set it to domestic, then add the FIFA code(s) (e.g. ESP) under Country codes.

How many leagues will I get? Roughly 550 in a full run, matching whatever FotMob currently publishes.

How fresh is the data? Each run fetches the live directory, so you get exactly what FotMob lists at that moment. Schedule the Actor to keep your reference table current.

What formats can I export? JSON, CSV, Excel, XML — from the Console or via the Apify API.


Disclaimer

This Actor is intended for personal and research use. You are responsible for ensuring your use complies with FotMob's terms and applicable law. Please scrape responsibly. This project is not affiliated with, endorsed by, or sponsored by FotMob.