Indicadores econômicos e sociais
ibge_indicadoresQueries IBGE economic and social indicators.
Available indicators:
Economic:
pib: quarterly GDP at current prices, R$ million (Brazil only)
pib_variacao: quarterly GDP volume change, % over the same quarter of the previous year (Brazil only)
pib_per_capita: annual GDP per capita at current prices, R$ (Brazil only)
industria: industrial production index, general industry (2022=100)
comercio: retail sales volume index (2022=100)
servicos: services volume index (2022=100, Brazil only)
Prices:
ipca: IPCA monthly change, %
ipca_acumulado: IPCA accumulated over 12 months, %
inpc: INPC monthly change, %
Labor:
desemprego: Unemployment rate
ocupacao: Employed people (thousands)
rendimento: average real income from all jobs, R$ — each period is a ROLLING quarter (e.g. "jun-jul-ago 2026"), Brazil only
informalidade: Informality rate
Population:
populacao: Population estimate
densidade: Population density
Examples:
GDP: indicador="pib"
IPCA last 12 months: indicador="ipca", periodos="last 12"
Unemployment by state: indicador="desemprego", nivel_territorial="3"
List indicators: indicador="listar"
Each indicator returns ONE variable — the one its name says; for another one of the same table (e.g. the year-to-date change) use ibge_sidra with variaveis.
What each number is: every record carries the SIDRA period column (code and label, e.g. "Mês (Código)" 202403 / "Mês" "março 2024") and the "Variável" label — the only place that says whether a value is a monthly change, a year-to-date or 12-month accumulation, an index number or a level; read it before adding, subtracting or comparing values. A PNAD rolling quarter ("jun-jul-ago 2026") is a three-month window that moves every month, not a calendar quarter. Revisions: values are what SIDRA publishes at the extraction instant (retrieved_at); IBGE revises published figures (quarterly GDP at each release, PNAD reweighting, annual revisions of PIM/PMC/PMS) and the API keeps no earlier version.
Statistics mode: for largest/smallest/mean/median/distribution/ranking questions ("which state has the highest unemployment?", "median informality rate across states") use estatisticas=true — full distribution + top/bottom over ALL rows before truncation; agruparPor="" (e.g. "Unidade da Federação", "Trimestre") ranks groups by descending sum. In this mode campos/formato are ignored and registros comes empty.
Use a different tool when:
Comparing/ranking localities → ibge_comparar
Census themes → ibge_censo
One municipality's panel → ibge_cidades
Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown plus a typed structuredContent payload.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100) | |
| campos | No | Selecionar apenas algumas colunas por rótulo, separadas por vírgula (ex: 'Valor,Ano'). Reduz o volume da resposta. | |
| formato | No | Formato de saída | tabela |
| periodos | No | Períodos (ex: '2023', 'last', 'last 4') | last |
| categoria | No | Filtrar por categoria de indicadores | |
| indicador | No | Nome do indicador (ex: "pib", "ipca", "desemprego", "populacao"). Use "listar" para ver todos os indicadores disponíveis. | |
| agruparPor | No | Com estatisticas=true, agrupa pela coluna informada (rótulo, ex: 'Unidade da Federação', 'Ano') e ranqueia os grupos por soma decrescente (grupos[0] = maior total), cada grupo com sua mini-distribuição. Nome curto ('UF', 'estado', 'cidade', 'região') e rótulo parcial ('Federação') são resolvidos, e a resposta diz em `aviso` por qual coluna agrupou; rótulo que casa com duas colunas é recusado em vez de escolhido | |
| localidades | No | Códigos das localidades ou 'all' | all |
| estatisticas | No | Computa estatísticas (mínimo/máximo/média/mediana/desvio-padrão/percentis) sobre TODOS os registros da consulta, antes da paginação, + ranking top/bottom. Use para 'qual o maior/menor', 'média', 'mediana', 'distribuição', 'ranking'. Quando true, ignora pagina, campos e formato | |
| nivel_territorial | No | Nível territorial (código N): 1=Brasil, 2=Região, 3=UF | 1 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nome | No | Nome do indicador | |
| tabela | No | Tabela SIDRA de origem | |
| colunas | Yes | Rótulos das colunas, na ordem | |
| unidades | Yes | Unidade de medida de cada variável da resposta, FORA de `registros`: não some com `campos` nem com a paginação. Leia antes de citar um valor — 'Mil pessoas' significa que 1.234 são 1,234 milhão de pessoas | |
| indicador | No | Chave do indicador consultado | |
| registros | Yes | Registros: cada um mapeia rótulo da coluna -> valor | |
| provenance | Yes | Bloco de proveniência do portfólio: fonte, URL, período, extração, diagnóstico de origem e licença | |
| attribution | Yes | URLs canônicas das fontes desta resposta (lista de atribuição) | |
| estatisticas | No | Bloco estatístico presente quando estatisticas=true (registros vem vazio nesse modo) | |
| totalRegistros | Yes | Total de registros de dados |