Documentação
MCP Painel →

Municípios IBGE público

GET /municipios ?uf=RJ&q=rio
GET /municipios/{codigo_ibge}

Consulta a base do IBGE (5.5k+ municípios) para obter/validar o cod_municipio (código IBGE de 7 dígitos) exigido na emissão de NF-e/NFC-e/MDF-e/CT-e/DCe e no cadastro de empresas. É público — não precisa de chave (dado de referência, cacheado no CDN).

ParâmetroDescrição
ufopc.*Sigla da UF (ex.: RJ) — filtra por estado
q (ou nome)opc.*Nome da cidade (parcial, ignora acentos): "são paulo", "rio", "aperibe"
limit30Máx. de resultados (até 100)

* Informe ao menos um entre uf e q. Cada item traz codigo_ibge, nome, uf, cod_uf e uf_nome.

Emissão à prova de erro: ao emitir NF-e/NFC-e/CT-e, se você mandar cidade + uf e o cod_municipio estiver ausente ou inválido, a AceleraAPI resolve o código automaticamente pela base IBGE (quando o nome é único). Um código válido que você já enviou é sempre respeitado. Ainda assim, o ideal é gravar o código na sua base.
Buscar por UF + nome
curl "https://aceleraapi.com.br/api/v1/municipios?uf=RJ&q=rio"
# sem Authorization — endpoint público
// público: um GET simples resolve
$r = json_decode(file_get_contents(
  'https://aceleraapi.com.br/api/v1/municipios?uf=RJ&q=rio'), true);
$cod = $r['data']['municipios'][0]['codigo_ibge'];
R := Api.Get('municipios', 'uf=RJ&q=rio');
Cod := R.Arr('municipios').Items[0]
         .GetValue('codigo_ibge').Value;
200 · data
{ "total": 1,
  "municipios": [
    { "codigo_ibge": "3304557",
      "nome": "RIO DE JANEIRO",
      "uf": "RJ", "cod_uf": 33,
      "uf_nome": "RIO DE JANEIRO" }
  ] }
Validar um código
curl .../api/v1/municipios/3304557
// 404 se o código IBGE não existir
file_get_contents('.../api/v1/municipios/3304557');
R := Api.Get('municipios/3304557');