About the data
3,042 networks · 227 countries · 200 Europe-enriched rows · dataset generated 2026-08-18
What the dataset is made of
Every row is keyed by its PLMN — the mobile country code (MCC) concatenated with the mobile network code (MNC), zero-padding preserved. The dataset is assembled from two layers:
1. Global base list
The worldwide MCC/MNC register comes from mcc-mnc-list, an open-source list derived from Wikipedia's Mobile country code article (which in turn tracks the ITU-T E.212 allocations). The list's code is MIT-licensed; the underlying data is CC BY-SA 4.0. This layer supplies PLMN, country, brand, operator, status, type, bands and notes for all 3,042 rows.
2. European operator detail
For 200 European rows we add operator-level detail parsed from Wikipedia's List of mobile network operators of Europe: subscriber counts (in millions, with their reporting period), ownership groups, in-country rank, and detailed radio-technology lines.
Market reach
market_reach is computed, not copied: operator subscriptions ÷ total mobile subscriptions of the country, expressed as a percentage. Example: O2 Czech Republic reported 5.987 million subscribers (2021-Q2), which is 37.1% of the Czech Republic's total mobile subscriptions — market_reach: 37.1 with market_reach_basis: "country_total". Where a country total is not usable, the basis field says what was used instead (e.g. the sum of listed operators, or a share figure as published). Numerator and denominator can come from different reporting dates, so treat the percentage as indicative, not audited.
Licensing
All downloads and API responses are provided under Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0), because the data derives from Wikipedia. You may use it commercially, but you must credit the source and share derived datasets under the same license. A sufficient attribution:
Data: MCC-MNC.dev (https://mcc-mnc.dev), derived from Wikipedia — CC BY-SA 4.0 The mcc-mnc-list code that seeds the base layer is MIT-licensed; that license applies to the code only, not the data.
Downloads
The complete dataset, no API key required:
| File | Contents | Size |
|---|---|---|
| networks.csv | Flat CSV (RFC 4180), one network per row — the same columns as the API wire format. | 440 KB |
| networks.json | Full nested JSON: every network with its country block and, where available, the complete Europe enrichment (approximate flags, source notes, numerator/denominator dates). | 1.4 MB |
| networks.min.json | The same JSON, minified for machine consumption. | 1.0 MB |
| countries.json | Country index: ISO codes, dial prefixes, and network counts per country. | 38 KB |
| meta.json | Generation metadata: timestamp, source record counts, license summary. | 0.5 KB |
The same data is queryable through the REST API (free key required), including a /dataset endpoint that serves JSON, CSV or TSV.
Update cadence
The dataset is regenerated from its sources periodically — typically a few times per year, whenever the upstream lists change materially. Every regeneration stamps generatedAt into meta.json and updates the generated_at field of the API's /dataset response, so you can detect a new revision programmatically. The current revision was generated on 2026-08-18.
Honest caveats
- Subscriber figures have differing as-of dates. Operators publish on their own schedules, so one row may report 2026-Q1 while its neighbour reports 2021-Q2. Always read subscribers_as_of next to subscribers. For the same reason, a market-reach numerator and denominator can come from different dates (O2 CZ: subscribers 2021-Q2 vs. country total 2019-12).
- Non-European rows lack enrichment. subscribers, market_reach, ownership, technology and rank are null outside the 200 Europe-enriched rows.
- The MNC register lags reality. Allocations follow ITU filings as tracked by Wikipedia; launches, shutdowns, mergers and rebrands can take months to appear. Rows carry a status (Operational, Not operational, Reserved, Testing, Unknown, …) but statuses are only as fresh as the sources.
- Some figures are approximate. Where Wikipedia says "~" or "over", the full JSON download flags the subscriber figure as approximate; the flat API row does not carry that flag.
- Not every row has a country. International networks (MCC 90x, satellite/maritime/aviation) and test ranges have country: null.
Corrections & contact
Spotted a wrong MNC, a stale status, or a better subscriber figure? Open an issue on GitHub — corrections with a citable source are merged into the next regeneration. For anything else: hello@mcc-mnc.dev.