Skip to main content
O Instituto Brasileiro de Geografia e Estatística (IBGE) publica as estatísticas oficiais do Brasil como tabelas agregadas: mais de 9.000, de cerca de 70 pesquisas e censos. A PNAD Contínua para desocupação, rendimento e informalidade; o IPCA e o INPC para a inflação; o PIB dos Municípios; o Censo Demográfico 2022 para cada município; pesquisas agropecuárias e industriais. Pesquise o catálogo por palavras, pesquisa, assunto, periodicidade ou nível territorial para encontrar uma tabela e suas variáveis, e depois leia seus valores para os períodos e territórios de que precisa. Os territórios usam os códigos do próprio IBGE: o código de 2 dígitos da UF e o de 7 dígitos do município, o mesmo que outras fontes brasileiras trazem como municipality_code.

Pesquisar tabelas

POST /br/ibge/tables-search/v1 Dataset Encontra tabelas por palavras, pesquisa, assunto, periodicidade ou nível territorial.
Cada tabela é { table_id, name, survey_id, survey, subject, periodicity, period_start, period_end, territory_levels, variables, classifications, source_url }.
  • variables: { variable_id, name, unit }; passe os ids para ibge-table-values em variable_ids.
  • classifications: as desagregações que a tabela oferece (sexo, faixa etária, produto, seção da CNAE…), cada uma { classification_id, name, categories }, cada categoria { category_id, name, level } (level 0 é o total). Passe-as para ibge-table-values em classifications.
  • territory_levels: country, region, state, municipality, e níveis mais finos ou especiais como metro_area, mesoregion ou microregion.
  • period_start e period_end: os códigos de período que a tabela cobre, yyyy nas tabelas anuais, yyyymm nas mensais, yyyy0q nas trimestrais (202602 é o segundo trimestre de 2026).

Valores de uma tabela

POST /br/ibge/table-values/v1 Retorna os valores de uma tabela para as variáveis, períodos, territórios e categorias pedidos.
Retorna found, o table_name, survey e periodicity da tabela, os periods cobertos ({ period, name }), as variables ({ variable_id, name, unit }), count e values. Cada valor é { territory_level, territory_code, territory_name, variable_id, period, value, value_note, unit, categories }.
  • value: um número, ou null quando o IBGE não publica nenhum para aquela célula. value_note diz então por quê: not_applicable, not_available ou suppressed (omitido para proteger os informantes). Um zero verdadeiro é 0 com value_note: "zero".
  • categories: a categoria de cada classificação a que o valor pertence, { classification_id, category_id, category_name }. Uma classificação não pedida volta com o seu total.
  • found é false, sem valores, quando a tabela não existe ou não tem nada para o período pedido.
Uma chamada retorna no máximo 15.000 valores (territórios x variáveis x períodos x categorias). Um pedido maior é recusado com too_many_results: restrinja territory_code, variable_ids, period ou classifications, ou divida-o.

Referência completa

Esquemas, todos os campos de resposta e um playground interativo.