Goal
/cell and /cells return only numeric identifiers today (radio, mcc, net, area, cell, lon, lat, cellRange, samples, …). Consumers that show cell information to humans — currently the RACEMAP Connection Chart, see racemap/gears#3663 — have to display "MCC 262 · MNC 2 · LAC 1234", which almost nobody can read.
Add the human-readable carrier and country to the responses so every consumer benefits and the mapping lives next to the cell data it describes.
Proposed response fields
Additive and nullable, so existing clients keep working:
country/countryCode derive from the MCC alone.
operator derives from the MCC/MNC pair.
- Unknown combinations MUST return
null rather than an empty string or a guess — the client falls back to showing the raw IDs.
Data source
The MCC/MNC → operator/country table is small (a few thousand rows) and changes rarely. Suggestion: load it into the existing MariaDB next to the OpenCelliD data and refresh it with the same kind of scheduled download the cell data already uses. Any maintained public dataset is fine as long as the import is scripted and repeatable.
Notes
- Applies to both
/cell and /cells.
- Keep the numeric fields exactly as they are; this is additive only.
Consumer side: racemap/gears#3681
Goal
/celland/cellsreturn only numeric identifiers today (radio, mcc, net, area, cell, lon, lat, cellRange, samples, …). Consumers that show cell information to humans — currently the RACEMAP Connection Chart, see racemap/gears#3663 — have to display "MCC 262 · MNC 2 · LAC 1234", which almost nobody can read.Add the human-readable carrier and country to the responses so every consumer benefits and the mapping lives next to the cell data it describes.
Proposed response fields
Additive and nullable, so existing clients keep working:
{ "radio": "LTE", "mcc": 262, "net": 2, // … "operator": "Vodafone", // null when the MCC/MNC pair is unknown "country": "Germany", // null when the MCC is unknown "countryCode": "DE" // ISO 3166-1 alpha-2, null when unknown }country/countryCodederive from the MCC alone.operatorderives from the MCC/MNC pair.nullrather than an empty string or a guess — the client falls back to showing the raw IDs.Data source
The MCC/MNC → operator/country table is small (a few thousand rows) and changes rarely. Suggestion: load it into the existing MariaDB next to the OpenCelliD data and refresh it with the same kind of scheduled download the cell data already uses. Any maintained public dataset is fine as long as the import is scripted and repeatable.
Notes
/celland/cells.Consumer side: racemap/gears#3681