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
/api/v1/ibge/regioes
lista as 5 macrorregiões do Brasil
lists Brazil's 5 macro-regions
/api/v1/ibge/uf
lista todos os estados
lists every state
/api/v1/ibge/uf/{codigo}
busca um estado por sigla ou código IBGE
looks up one state by sigla or IBGE code
/api/v1/ibge/municipios/{uf}
lista os municípios de um estado
lists a state's municipalities
/api/v1/ibge/cnae
lista todas as classes CNAE
lists every CNAE class
/api/v1/ibge/cnae/{codigo}
busca uma classe CNAE por código
looks up one CNAE class by code
Parâmetros
Parameters
| Nome | Name | Onde | In | Descrição | Description |
|---|---|---|---|---|---|
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
| Status | Motivo | Reason |
|---|---|---|
| 400 | /municipios/{uf}: UF sem duas letras | /municipios/{uf}: UF isn't two letters |
| 401 | token ausente ou inválido | missing or invalid token |
| 404 | estado, UF ou classe CNAE não encontrada | state, UF or CNAE class not found |
| 429 | limite de taxa excedido | rate limit exceeded |
| 503 | dados do IBGE não configurados nesse ambiente | IBGE 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.