Indicadores econômicos e sociais
ibge_indicadoresQueries IBGE economic and social indicators such as GDP, inflation, unemployment, and population by period and territory, with optional statistics for rankings and distributions.
Instructions
Queries 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 |