IBGE

Regiões, estados e municípios

Regiões, estados, municípios e classes CNAE do IBGE, direto da fonte oficial, sem fallback.

Regions, states and municipalities

Regions, states, municipalities and CNAE (business activity) classes from IBGE, straight from the official source, no fallback.

SYNC resposta na mesma chamada answers in the same call

Endpoints

Endpoints

GET /api/v1/ibge/regioes lista as 5 macrorregiões do Brasil lists Brazil's 5 macro-regions
GET /api/v1/ibge/uf lista todos os estados lists every state
GET /api/v1/ibge/uf/{codigo} busca um estado por sigla ou código IBGE looks up one state by sigla or IBGE code
GET /api/v1/ibge/municipios/{uf} lista os municípios de um estado lists a state's municipalities
GET /api/v1/ibge/cnae lista todas as classes CNAE lists every CNAE class
GET /api/v1/ibge/cnae/{codigo} busca uma classe CNAE por código looks up one CNAE class by code

Parâmetros

Parameters

NomeNameOndeInDescriçãoDescription
codigo path /uf/{codigo}: sigla (SP) ou código numérico do IBGE (35) /uf/{codigo}: sigla (SP) or the IBGE numeric code (35)
uf path /municipios/{uf}: sigla do estado, duas letras (SP) /municipios/{uf}: state sigla, two letters (SP)
codigo path /cnae/{codigo}: código da classe CNAE (01113) /cnae/{codigo}: CNAE class code (01113)

Exemplo

Example

curl https://api.alicercelabs.com.br/api/v1/ibge/uf/sp \
          -H "Authorization: Bearer <token>"
{
          "success": true,
          "data": {
            "id": 35,
            "sigla": "SP",
            "nome": "São Paulo",
            "regiao": { "id": 3, "sigla": "SE", "nome": "Sudeste" }
          },
          "meta": { "elapsed_ms": 0, "request_id": "..." }
        }

Erros possíveis

Possible errors

StatusMotivoReason
400/municipios/{uf}: UF sem duas letras/municipios/{uf}: UF isn't two letters
401token ausente ou inválidomissing or invalid token
404estado, UF ou classe CNAE não encontradastate, UF or CNAE class not found
429limite de taxa excedidorate limit exceeded
503dados do IBGE não configurados nesse ambienteIBGE data not configured on this deployment

Fonte oficial, sem fallback

Official source, no fallback

Dado vem direto da API oficial do IBGE, pública, sem chave — servido de um snapshot local (dataset pequeno, poucos MB) em vez de proxy ao vivo, pra manter a mesma latência e comportamento sob rate limit das outras APIs. Sem fallback de propósito: a fonte já é a oficial do governo, não faz sentido espelhar um espelho.

Data comes straight from the official IBGE API, public, no key — served from a local snapshot (small dataset, a few MB) instead of a live proxy, to keep the same latency and rate-limit behavior as every other API here. No fallback on purpose: the source is already the government's own, mirroring a mirror doesn't buy anything.

Usando o SDK

Using the SDK

SDKs oficiais: Go · Python · JavaScript.

Official SDKs: Go · Python · JavaScript.

Buscar um estado

Look up a state

import (
	"context"
	"fmt"

	alicercelabs "github.com/alicercelabs/alicercesdk-go"
)

client := alicercelabs.New("alk_...") // ou um token JWT de login/register
ctx := context.Background()

estado, err := client.IBGE.Estado(ctx, "SP")
if err != nil {
	panic(err)
}
fmt.Println(estado.Nome, estado.Regiao.Nome)
from alicercelabs import AlicerceLabs

client = AlicerceLabs(api_key="alk_...")  # ou um token JWT de login/register

estado = client.ibge.estado("SP")
print(estado["nome"], estado["regiao"]["nome"])
import { AlicerceLabs } from "alicercesdk-javascript";

const client = new AlicerceLabs("alk_..."); // ou um token JWT de login/register

const estado = await client.ibge.estado("SP");
console.log(estado.nome, estado.regiao.nome);

Listar municípios de um estado

List a state's municipalities

municipios, err := client.IBGE.Municipios(ctx, "SP")
fmt.Println(len(municipios), "municípios")
municipios = client.ibge.municipios("SP")
print(len(municipios), "municípios")
const municipios = await client.ibge.municipios("SP");
console.log(municipios.length, "municípios");

Buscar uma classe CNAE

Look up a CNAE class

classe, err := client.IBGE.CNAE(ctx, "01113")
fmt.Println(classe.Descricao)
classe = client.ibge.cnae("01113")
print(classe["descricao"])
const classe = await client.ibge.cnae("01113");
console.log(classe.descricao);

Limites

Limits

100/dia · 4/hora sem token, por IP chamador; com token (JWT de login ou API key gerada no painel), 1.000/dia · 41/hora.

100/day · 4/hour without a token, per calling IP; with one (a login JWT or an API key generated in the panel), 1,000/day · 41/hour.