Data · Bulk downloads

Every mobile network code, in one file

Every network, TADIG code, country, technology, APN and MVNO in the database, as a spreadsheet, a CSV or JSON. Take the whole thing or filter it down to one country or 5G only. It's the same data the site and the API serve.

Everything

networks.csv · 2,670 rows

Download

Also as.txt,.xlsx,.json

Free100 files a week, no account7 datasets × 4 formatsUpdated 21 Sept 2026

mcc-mnc.xlsx?country=GB
2,670 networksupdated 21 Sept 2026

Pick a file

One click each. Every dataset comes as CSV, tab-separated TXT, a real Excel workbook and JSON, with the same rows in the same order.

NetworksStart here

2,670 rows · 17 columns

Every mobile network in the database — MCC, MNC, PLMN ID, operator, brand, TADIG code, country, region and the radio technologies it runs.

Good for: The complete picture. Take this one if you don't know yet which columns you'll need.

Network types

90 rows · 6 columns

Every radio technology and band in the database — GSM 900 through NR 3500 — with the generation it belongs to and how many networks run it.

APN settings

6,437 rows · 25 columns

Every APN on record — the operators' own and their MVNOs' — with the full Android settings: type, protocol, credentials, proxy and MMS.

MVNOs

449 rows · 13 columns

Every MVNO brand and the network hosting it — one row per brand per current host network, with the brand's category and whether the host owns it.

Build a filtered file

The file URLs take the same filters as the API. Fill in what you need, pick a format, and download or copy the link.

GET /downloads/networks.csv1 file = 1 request

Networks

Every mobile network in the database — MCC, MNC, PLMN ID, operator, brand, TADIG code, country, region and the radio technologies it runs.

Filters (all optional)

Format

Comma-separated, RFC 4180 quoting, UTF-8 with a byte-order mark so Excel reads accented names correctly.

Your file

https://mcc-mnc.org/downloads/networks.csv?country=GB
or from a script
curl -L -H "Authorization: Bearer $MCCMNC_KEY" \
  -o networks.csv "https://mcc-mnc.org/downloads/networks.csv?country=GB"

What's inside

First 6 rows of networks.csv?country=GB · 17 columns

mccmncplmnisocountryregiondial_codeoperatorbrandtadigcodenetwork_typesfrequency_bandsgenerationsslugurlupdated_at
2340023400GBUnited KingdomEurope—BT GroupBT——GSM, UMTSGSM 900, GSM 1800, UMTS 21002G, 3G234_00https://mcc-mnc.org/networks/234_002025-04-09T13:26:22.020Z
2340123401GBUnited KingdomEurope—Mundio Mobile LimitedVectone Mobile——MVNOMVNO—234_01https://mcc-mnc.org/networks/234_012025-04-09T13:26:22.020Z
2340223402GBUnited KingdomEurope—Telefónica EuropeO2 UK——GSM, UMTS, LTE, TD-LTE, 5GGSM 900, GSM 1800, UMTS 900, UMTS 2100, LTE 800, LTE 900, LTE 1800, LTE 2100, TD-LTE 2300, 5G 35002G, 3G, 4G, 5G234_02https://mcc-mnc.org/networks/234_022025-04-09T13:26:22.020Z
2340423404GBUnited KingdomEurope—FMS Solutions LtdFMS Solutions Ltd——GSMGSM 18002G234_04https://mcc-mnc.org/networks/234_042025-04-09T13:26:22.020Z
2340523405GBUnited KingdomEurope—COLT Mobile Telecommunications Limited——————234_05https://mcc-mnc.org/networks/234_052025-04-09T13:26:22.020Z
2340623406GBUnited KingdomEurope—Internet Computer Bureau Limited——————234_06https://mcc-mnc.org/networks/234_062025-04-09T13:26:22.020Z
Column and filter reference
mcc
Mobile Country Code (3 digits, leading zeros preserved)
mnc
Mobile Network Code (2–3 digits, leading zeros preserved)
plmn
PLMN ID — the MCC and MNC concatenated
iso
ISO-3166 alpha-2 country code
country
Country or territory name
region
Geographic region the country sits in
dial_code
International dialling prefix for the country
operator
Legal operator name
brand
Consumer-facing brand, where it differs from the operator
tadig
TADIG code, blank when the network has none on record
code
Additional operator code where one is published
network_types
Radio technologies, comma-separated (e.g. GSM, UMTS, LTE)
frequency_bands
Each technology with the band it runs on (e.g. LTE 800)
generations
Generations derived from those technologies (2G/3G/4G/5G)
slug
URL slug of the network on mcc-mnc.org
url
Canonical page for the network
updated_at
Last time the record changed (ISO 8601, UTC)
?country
ISO-3166 alpha-2 code or country slug
?region
Region slug or name
?mcc
Exact Mobile Country Code
?mnc
Exact Mobile Network Code
?plmn
Exact PLMN ID
?tadig
Exact TADIG code
?operator
Operator name contains
?brand
Brand name contains
?type
Network type slug, repeatable or comma-separated
?generation
2G, 3G, 4G or 5G, repeatable or comma-separated
?search
Free-text across operator, brand, TADIG and country
?sort
Sort field, with order=asc|desc

Open it in your tool

The files work anywhere, but a few tools need telling that an MNC is a code, not a number. Here's how to load them without losing the leading zeros.

Open it in Excel

Take the .xlsx file: it has a frozen, filterable header row and stores MCC, MNC and PLMN as text, so 01 stays 01. To keep a sheet that refreshes, use Data → From Web with the CSV URL, then delete Power Query's automatic Changed Type step, which would turn the codes into numbers. Power Query can't send headers, so put your key in api_key.

Data → Get Data → From Web
https://mcc-mnc.org/downloads/mcc-mnc.csv?api_key=YOUR_KEY

Good to know

A few things worth knowing before you load a few thousand rows into something.

Codes are text

MCC, MNC and PLMN keep their leading zeros: 01 is not 1. The .xlsx file stores them as text; for the CSV, set those columns to Text on import.

Blanks mean unknown

An empty cell means we have nothing on record, most often a TADIG code or a brand that matches the operator. It never means zero or false. In JSON the same absence is null.

Joining the files

plmn is unique per network and joins the network, MCC-MNC, TADIG, APN and MVNO files. iso joins any of them to the country file.

Licence and attribution

Free for commercial and non-commercial use. If the data ends up somewhere public, a link back to mcc-mnc.org keeps the database funded and correctable.

Downloads FAQ

Allowances, freshness, and the leading-zero problem.

Downloading on a schedule?

Sign in for 10,000 files a week and an API key for your scripts, shared with the API.

Get a key

Missing a column or a dataset? Tell us.

Is it free?

Yes, for commercial and non-commercial use. Each file counts as one request against the same weekly allowance as the API: 100 a week per address without an account, 10,000 once you sign in. If the data ends up somewhere public, a link back to mcc-mnc.org is appreciated.

Do I need an account or an API key?

Not for occasional downloads: the first 100 files a week from an address need nothing. Sign in to raise that to 10,000, and create a key on your account page for scripts. Send it as Authorization: Bearer … or X-Api-Key, or as ?api_key= for spreadsheet tools that can't set headers. Keys in URLs end up in logs and history, so keep those links private.

What happens when I run out?

You get a 429 with a Retry-After header until the allowance resets, on Monday at 00:00 UTC. Every response carries X-RateLimit-Remaining, so a script can see it coming.

How current is the data?

Files are built from the live database on every request, so an approved correction is in the next download. The updated_at column dates each network record, and approved changes are listed on the changelog.

Which file should I take?

If you're not sure, take networks: it has every column we hold. mcc-mnc is the classic seven-column lookup table, tadigs is only the networks with a TADIG code, and the others are reference lists that join onto those by plmn or iso.

Can I get just one country, or just 5G networks?

Yes. Add the API's filters to any file URL, such as ?country=GB, ?region=europe or ?generation=5G, and combine as many as you like. The builder above writes the URL for you.

Why did Excel drop the leading zero?

Because it guessed the column was a number. MCC, MNC and PLMN are codes: 01 and 1 are different MNCs. Use the .xlsx file, which stores them as text, or import the CSV with those columns set to Text instead of double-clicking it.

Where do the APN and MVNO lists come from?

They're seeded from Android's public APN and carrier lists (AOSP and LineageOS) and corrected by users. A user correction always replaces the synced entry. Coverage is uneven, since it follows what those lists publish.

Need it live, not as a file?

Query single records over the JSON API, with PLMN lookup and the same filters, or connect your AI assistant to the database with the MCP server.