Como encontrar e usar a lista completa das cidades mineiras
Quando você precisa trabalhar com municípios de Minas Gerais, seja para importação de dados, validação de endereços ou integração com sistemas governamentais, a primeira busca geralmente recai sobre uma relação completa das cidades do estado. Minas Gerais tem 853 municípios, segundo o IBGE, e lidar com essa quantidade exige algum cuidado prático que listas simples não ensinam.
O problema com listas prontas de todas cidades de minas gerais
Na maioria das vezes, quem baixa uma planilha ou arquivo CSV encontrada na internet se depara com problemas sérios de formatação. Eu já processei arquivos que pareciam completos à primeira vista, mas ao abrir via Python com pandas, descobri que cerca de 40 municípios tinham codificação de caracteres quebrada nos nomes - acentos substituindo letras corretamente, vírgulas dentro dos nomes das cidades confundindo o delimitador, e linhas em branco intercaladas que quebravam índices fixos. A solução que eu uso hoje é diferente de simplesmente baixar qualquer lista que apareça nos primeiros resultados. O IBGE mantém uma API oficial com atualização anual, e o formato JSON que ela devolve é bem mais confiável do que planilhas manuais. O endpoint principal fica em https://servicodados.ibge.gov.br/api/v1/localidades/municipios, mas o mais útil na prática é adicionar o parâmetro de ordenação e filtragem por estado. A URL completa com filtro para Minas seria algo como https://servicodatos.ibge.gov.br/api/v1/localidades/municipios?orderBy=nome, retornando um array de objetos com id, nome, microrregião e mesorregião.
Um detalhe que quase ninguém menciona: o IBGE atualiza essa lista anualmente, mas mudanças de criação ou extinção de municípios acontecem de forma irregular. Em 2017, por exemplo, três novos municípios foram criados em Minas Gerais, e algumas listas publicadas antes dessa data ainda circulam como se fossem completas. Sempre verifique a data de atualização do dado antes de confiar em um arquivo estático. Dica técnica: se você está construindo um sistema que precisa consultar municípios constantemente, não faça requisições à API a cada acesso. Baixe o JSON completo, armazene localmente, e crie um job que atualize esses dados uma vez por ano ou sempre que o IBGE divulgar mudanças. A API é gratuita e não tem limite rigoroso de requisições, mas armazenar localmente elimina latência e evita dependência de conexão.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outro ponto que causa dor de cabeça na prática é a nomenclatura das cidades. Alguns municípios mineiros têm nomes iguais ou muito parecidos entre si, como Nova Serrana e Serra Azul de Minas. Se seu sistema faz correspondência por nome sem validação adicional, você pode acabar associando dados ao município errado em operações de. A solução mais simples é sempre usar o código IBGE de seis dígitos como chave primária, nunca o nome em si. O código é estável e único, e raramente sofre alterações mesmo quando há fusões ou desmembramentos. Há também a questão das divisões regionais. Minas Gerais é dividido em 16 mesorregiões e 67 microrregiões, e cada município pertence a exatamente uma de cada. Se você precisa fazer análise geográfica ou distribuir custos operacionais por região, ter os campos de mesorregião e microrregião no seu banco de dados evita um join desnecessário com tabelas auxiliares. O JSON do IBGE já entrega essas informações embutidas, então você não precisa caçá-las separadamente.
Uma armadilha comum é assumir que a lista do IBGE contém apenas municípios. O estado também possui distritos e localidades menores que não são classificados como municípios, mas que aparecem em alguns sistemas de endereço. Se seu objetivo é cadastramento fiscal ou tributário, só os 853 municípios existem como entidades juridicamente relevantes. Distritos não têm personalidade jurídica própria e não devem ser tratados como cidades independentes em nenhuma planilha de obligation. Para quem trabalha com integração a sistemas legados que exigem formato específico, posso indicar uma abordagem prática: baixe o JSON do IBGE, converta para CSV usando um script próprio com codificação UTF-8 explícita, e valide a contagem final. Se o arquivo resultante tiver menos de 853 linhas, algo falhou na conversão. Se tiver mais, provavelmente há duplicatas ou linhas de cabeçalho mal processadas. Essa validação rápida economiza horas de debugging posterior.
O download direto do arquivo completo também está disponível em formato tabular em https://servicodados.ibge.gov.br/api/v1/localidades/municipios?orderBy=nome, onde você pode escolher entre JSON, CSV e XML. O formato CSV é o que mais se assemelha a uma planilha tradicional, mas eu prefiro JSON pela facilidade de parsing em praticamente qualquer linguagem de programação moderna. A diferença de performance é irrelevante para 853 registros, mas a estrutura hierárquica do JSON se comunica melhor com bancos NoSQL quando o volume cresce. Caso você precise apenas consultar rapidamente uma cidade específica e não quer rodar um script, o próprio site do IBGE oferece uma ferramenta de busca visual com filtros por código, nome ou região. É mais lento que uma API programática, mas funciona bem para uso esporádico ou para verificar se um município que você tem em mãos existe e está ativa oficialmente.