Telecom accesses per operator (Anatel)
The mobile telephony and fixed broadband accesses of each operator, month by month, kept as Anatel publishes them, with calculations declared as ours: the sum per operator and month, the TOTAL line, the share and the 12-month change. The page is /telecom; the JSON/CSV route is /telecom/acessos.
Why it lives in the Macro section
Every company figure in this database is recomputable from the CVM filing. The number of accesses a regulator
publishes is not: it is sector data from an agency that nobody rebuilds from a public company filing. We accept the
official source's number or we do not use it. That is why it lives in its own table (telecom_acesso) and in the Macro
section, with the source, the licence and the attribution written on every page and in every response.
The source, the licence and the use
- Source: Anatel open data, access data panels. Page: https://www.gov.br/anatel/pt-br/dados/dados-abertos. Files read (public, no login, on the agency's own site): https://www.anatel.gov.br/dadosabertos/paineis_de_dados/acessos/acessos_telefonia_movel.zip and https://www.anatel.gov.br/dadosabertos/paineis_de_dados/acessos/acessos_banda_larga_fixa.zip.
- Licence declared by Anatel: the agency's website declares that all of its content is published under the Creative Commons Attribution-NoDerivs 3.0 Unported (CC BY-ND 3.0): https://creativecommons.org/licenses/by-nd/3.0/deed.pt_BR. It is not CC BY. The dados.gov.br portal (API) answers 401 without a token, and the collection does not try to get around it: it uses the agency's own public file, the same official source.
- Use arranged with the agency: on 2026-11-01 the project owner (Dr. Valth) reported in the working chat that the use of this data is already settled and arranged with Anatel. Record: use arranged with Anatel (reported by the project owner on 2026-11-01).
- Required attribution: Data: National Telecommunications Agency (Anatel), open data, access panels. Series summed by operator and month by Dados B3; the raw files are not republished. It appears at the top of the page, in the source box, in every JSON response and in the citation line.
- The raw files are not republished. The database keeps only the sum per operator and month (operators with 100 thousand accesses or more, and the TOTAL line), never the rows by municipality, technology and product.
- How we read: the ZIPs are gigabytes, so the collection reads the ZIP directory at the end of the file and downloads only the needed member by byte range (HTTP 206), as a stream, without keeping the file. If the server does not honour the byte range, the collection stops instead of downloading the whole ZIP.
- Coverage: from January 2023 to the newest month of the source.
What an "access" is here
The same criterion as the official total Anatel publishes in the Acessos_..._Total.csv files (checked: the sum
matches the official total in every month of 2023 to 2026, within 0.05%):
- Mobile telephony: lines in service without the M2M (machine to machine) and service point products, which Anatel
counts separately. The two add up in
outros_m2m_e_ponto_de_servico. - Fixed broadband: every product (internet, dedicated line, M2M and others), as in the official total.
The calculations that are ours
- Operator = sum of the Anatel rows with the same tax ID, per month (the source publishes by municipality, technology, type of person and product).
- TOTAL = sum of all operators in the file, including those under 100 thousand accesses.
- Share = the operator's accesses ÷ TOTAL, in %.
- 12-month change = the month's accesses against the same month a year earlier, in %.
Everything else is Anatel's number, without recalculation.
Who is in the table
Every operator with 100,000 accesses or more in some month of the batch read, plus the TOTAL line. The smaller regional providers (thousands in fixed broadband) stay inside the TOTAL and out of the table; they are in the source.
The newest month is preliminary
Anatel revises the newest month and small providers deliver late (in September 2026 the official fixed broadband total fell 1.0% because of it). The page ranks on the month before the newest (the "consolidated month") and shows the newest apart, marked preliminary.
Link with B3 companies
The ticker field is only filled when the full tax ID of the Anatel row is the one of a company with a traded stock:
Telefônica Brasil (02.558.157/0001-62, VIVT3) and TIM S.A. (02.421.421/0001-11, TIMS3). Claro (Telecom Americas group, of
América Móvil) is not listed on B3 and never links. The economic group Anatel reports (TELEFONICA, TELECOM ITALIA,
TELECOM AMERICAS...) is only information from the source: no link is deduced by group, by name or by the tax ID root.
How the collection works
- Every week (database rebuild: the history since 2023, ~90 MB read as a stream) and, at night, only if the last collection is more than 6 days old (the current period, ~17 MB).
- Automatic check: the summed TOTAL is compared, month by month, with Anatel's own official total; a difference above 5% refuses the service (the definition of access changed).
- Failure isolated per service. Source down, server without byte ranges, fields different from those checked or a number outside the plausible range (mobile TOTAL from 100 to 400 million; fixed broadband from 10 to 150 million): the service is not written and the history stays as it was. Nothing is deleted; the from-scratch rebuild inherits from the previous database what the source did not bring.
- In /saude, the
telecomblock shows the newest month and the result of the last collection (alarm after 75 days from the end of the month).
What the page does NOT do
- It does not recommend a stock, an operator or a moment. It is the source's number and the definition of each column.
- It does not show revenue, ARPU, coverage, quality or technology (4G/5G/fibre); only the accesses in service.
- It does not link an operator to a stock by name or by group.
Access
- /telecom — the page, open, in Portuguese and English.
/telecom/acessos— JSON (or?formato=csv). No parameter: the ranking of each service in the consolidated month.servico(movelorbanda_larga) +cnpj(14 digits, orTOTAL) returns the monthly series, cut bydeandate(YYYY-MM). Open, no key. Every response carries thefonte, the licence, the agreed use, the attribution and thecitacao.- MCP connector tool:
acessos_telecom.