IBGE Brasil MCP
Ce que fait ce MCP
Provides searchable access to official Brazilian IBGE statistics, census data, economic and health indicators, geographic information, and municipal comparisons.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Identificador de um documento devolvido por `search`'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url', 'provenance', 'attribution'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Identificador único do documento no servidor; é o que `fetch` recebe'}, 'url': {'type': 'string', 'description': 'URL pública canônica do documento â\x80\x94 a citação do ChatGPT depende dela'}, 'text': {'type': 'string', 'description': 'Conteúdo integral do documento, legÃ\xadvel (Markdown)'}, 'title': {'type': 'string', 'description': 'TÃ\xadtulo legÃ\xadvel do documento'}, 'metadata': {'type': 'object', 'description': 'Pares chave/valor adicionais sobre o documento (tipo, fonte, perÃ\xadodoâ\x80¦)', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'de': {'type': 'string', 'description': "Data inicial no formato DD/MM/AAAA (ex: '01/01/2024')"}, 'ate': {'type': 'string', 'description': "Data final no formato DD/MM/AAAA (ex: '31/12/2024')"}, 'tipo': {'enum': ['divulgacao', 'coleta', 'todos'], 'type': 'string', 'default': 'divulgacao', 'description': "Tipo de evento: 'divulgacao' (publicações), 'coleta' (pesquisas de campo), ou 'todos'"}, 'pagina': {'type': 'number', 'default': 1, 'description': 'Número da página (padrão: 1)'}, 'produto': {'type': 'string', 'description': "Filtrar por produto/pesquisa (ex: 'IPCA', 'PNAD', 'PIB')"}, 'quantidade': {'type': 'number', 'default': 20, 'description': 'Quantidade de resultados por página (padrão: 20)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['eventos', 'total', 'provenance', 'attribution'], 'properties': {'total': {'type': 'number', 'description': 'Total de eventos disponÃ\xadveis para os critérios'}, 'pagina': {'type': 'number', 'description': 'Página atual retornada'}, 'eventos': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'titulo', 'produto', 'dataDivulgacao', 'tipoId', 'tipo'], 'properties': {'id': {'type': 'number', 'description': 'Identificador do evento no calendário'}, 'link': {'type': 'string', 'description': 'Link para mais informações, quando disponÃ\xadvel'}, 'tipo': {'type': 'string', 'description': 'Descrição do tipo do evento'}, 'tipoId': {'type': 'number', 'description': 'ID do tipo (1 = divulgação, 2 = coleta)'}, 'titulo': {'type': 'string', 'description': 'TÃ\xadtulo do evento'}, 'produto': {'type': 'string', 'description': 'Nome do produto/pesquisa associado'}, 'dataDivulgacao': {'type': 'string', 'description': "Data/hora de divulgação no formato 'DD/MM/AAAA HH:MM:SS'"}}, 'additionalProperties': False}, 'description': 'Lista de eventos do calendário (divulgações/coletas)'}, 'produto': {'type': 'string', 'description': 'Filtro de produto aplicado, quando informado'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalPaginas': {'type': 'number', 'description': 'Total de páginas disponÃ\xadveis'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'enum': ['1970', '1980', '1991', '2000', '2010', '2022', 'todos'], 'type': 'string', 'description': "Ano do censo (1970, 1980, 1991, 2000, 2010, 2022) ou 'todos' para série histórica"}, 'tema': {'enum': ['populacao', 'alfabetizacao', 'domicilios', 'idade_sexo', 'religiao', 'cor_raca', 'rendimento', 'migracao', 'educacao', 'trabalho', 'indigenas', 'quilombolas', 'saneamento', 'deficiencia', 'nupcialidade', 'fecundidade', 'listar'], 'type': 'string', 'default': 'populacao', 'description': 'Tema dos dados:\n- populacao: População residente\n- alfabetizacao: Taxa de alfabetização\n- domicilios: CaracterÃ\xadsticas dos domicÃ\xadlios\n- idade_sexo: Pirâmide etária\n- religiao: Distribuição por religião\n- cor_raca: Cor ou raça\n- rendimento: Rendimento mensal\n- migracao: Migração\n- educacao: NÃ\xadvel de instrução\n- trabalho: Ocupação e trabalho\n- indigenas: População indÃ\xadgena\n- quilombolas: População quilombola\n- saneamento: Abastecimento de água e esgoto\n- deficiencia: Pessoas com deficiência\n- nupcialidade: Estado civil\n- fecundidade: Taxa de fecundidade\n- listar: Lista tabelas disponÃ\xadveis'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'campos': {'type': 'string', 'description': "Selecionar apenas algumas colunas por rótulo, separadas por vÃ\xadrgula (ex: 'Valor,Ano'). Reduz o volume da resposta."}, 'formato': {'enum': ['tabela', 'json'], 'type': 'string', 'default': 'tabela', 'description': 'Formato de saÃ\xadda'}, 'agruparPor': {'type': 'string', 'description': "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': {'type': 'string', 'default': 'all', 'description': "Códigos das localidades ou 'all'"}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (mÃ\xadnimo/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': {'type': 'string', 'default': '1', 'description': 'NÃ\xadvel territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=MunicÃ\xadpio'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['totalRegistros', 'colunas', 'registros', 'provenance', 'attribution'], 'properties': {'ano': {'type': 'string', 'description': 'Ano(s) de referência'}, 'tema': {'type': 'string', 'description': 'Tema do censo consultado'}, 'tabela': {'type': 'string', 'description': 'Tabela SIDRA de origem'}, 'colunas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rótulos das colunas, na ordem'}, 'descricao': {'type': 'string', 'description': 'Descrição da tabela'}, 'registros': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'description': 'Registros: cada um mapeia rótulo da coluna -> valor'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'estatisticas': {'type': 'object', 'required': ['colunaValor', 'registrosConsiderados', 'registrosSemValor'], 'properties': {'top': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Maiores valores, com as colunas de identificação do registro (sem agruparPor)'}, 'aviso': {'type': 'string', 'description': 'Avisos sobre agrupamento automático, mistura de unidades ou truncamento'}, 'bottom': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Menores valores (sem agruparPor)'}, 'grupos': {'type': 'array', 'items': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis', 'grupo'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'grupo': {'type': 'string'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Grupos ordenados por soma decrescente, cada um com sua mini-distribuição (com agruparPor)'}, 'agrupadoPor': {'type': 'string', 'description': 'Rótulo da coluna de agrupamento (com agruparPor)'}, 'colunaValor': {'type': 'string', 'description': "Rótulo da coluna numérica analisada (sempre 'Valor' no SIDRA)"}, 'totalGrupos': {'type': 'number', 'description': 'Total de grupos existentes antes do teto (com agruparPor)'}, 'distribuicao': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'description': 'Distribuição do conjunto inteiro (sem agruparPor)', 'additionalProperties': False}, 'registrosSemValor': {'type': 'number', 'description': "Registros excluÃ\xaddos por marcador de ausência SIDRA ('-', '..', '...', 'X') ou valor não numérico"}, 'registrosConsiderados': {'type': 'number', 'description': 'Registros com valor numérico (contam no n)'}}, 'description': 'Bloco estatÃ\xadstico presente quando estatisticas=true (registros vem vazio nesse modo)', 'additionalProperties': False}, 'totalRegistros': {'type': 'number', 'description': 'Total de registros de dados'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'description': 'Código ou sigla da UF para filtrar (ex: 35 ou SP)'}, 'tipo': {'enum': ['panorama', 'indicador', 'pesquisas', 'historico'], 'type': 'string', 'default': 'panorama', 'description': 'Tipo de consulta: panorama (resumo geral), indicador (especÃ\xadfico), pesquisas (listar), historico'}, 'pesquisa': {'type': 'string', 'description': 'ID da pesquisa para filtrar indicadores'}, 'indicador': {'type': 'string', 'description': 'ID do indicador ou nome para busca'}, 'municipio': {'type': 'string', 'description': 'Código IBGE do municÃ\xadpio (7 dÃ\xadgitos)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo', 'indicadores', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio/indicador'}, 'tipo': {'type': 'string', 'description': 'Tipo de consulta (panorama, indicador, pesquisas, historico)'}, 'municipio': {'type': 'string', 'description': 'Código IBGE do municÃ\xadpio'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'indicadores': {'type': 'array', 'items': {'type': 'object', 'required': ['nome', 'valor'], 'properties': {'ano': {'type': 'string'}, 'nome': {'type': 'string'}, 'valor': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Indicadores retornados (vazio para respostas de catálogo)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'busca': {'type': 'string', 'description': "Termo para buscar na descrição das atividades (ex: 'software', 'restaurante', 'comércio').\nAcento e caixa não importam, e várias palavras casam em E ('comercio varejista').\nA palavra de todo dia é traduzida para a da CNAE quando preciso â\x80\x94 farmácia â\x86\x92\nprodutos farmacêuticos, academia â\x86\x92 condicionamento fÃ\xadsico, lixo â\x86\x92 resÃ\xadduos â\x80\x94 e a\nresposta diz quando traduziu."}, 'nivel': {'enum': ['secoes', 'divisoes', 'grupos', 'classes', 'subclasses'], 'type': 'string', 'description': 'NÃ\xadvel hierárquico para listar (padrão: mostra todos os nÃ\xadveis relevantes)'}, 'codigo': {'type': 'string', 'description': 'Código CNAE para buscar (seção, divisão, grupo, classe ou subclasse).\nExemplos:\n- Seção: "A" (agricultura)\n- Divisão: "01" (agricultura e pecuária)\n- Grupo: "01.1" (produção de lavouras)\n- Classe: "01.11" (cultivo de cereais)\n- Subclasse: "0111-3/01" (cultivo de arroz)'}, 'limite': {'type': 'number', 'default': 20, 'description': 'Número máximo de resultados (padrão: 20)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['modo', 'provenance', 'attribution'], 'properties': {'modo': {'enum': ['busca', 'codigo', 'lista', 'estrutura'], 'type': 'string', 'description': 'Modo de resposta que gerou os dados'}, 'busca': {'type': 'object', 'required': ['termo', 'nivel', 'total', 'encontrados', 'resultados'], 'properties': {'nivel': {'type': 'string', 'description': 'NÃ\xadvel hierárquico pesquisado (ex: subclasses, classes)'}, 'termo': {'type': 'string', 'description': 'Termo pesquisado'}, 'total': {'type': 'number', 'description': 'Quantidade de resultados retornados'}, 'resultados': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'descricao'], 'properties': {'id': {'type': 'string', 'description': 'Código CNAE da atividade'}, 'descricao': {'type': 'string', 'description': 'Descrição da atividade'}}, 'additionalProperties': False}, 'description': 'Atividades encontradas para o termo'}, 'encontrados': {'type': 'number', 'description': "Quantidade de atividades que casam o termo no catálogo inteiro (pode ser maior que 'total', que é limitado por 'limite')"}, 'notas_vocabulario': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Presente quando o termo foi traduzido para a palavra que a CNAE usa (ex: farmácia â\x86\x92 produtos farmacêuticos)'}}, 'description': 'Presente no modo de busca por termo', 'additionalProperties': False}, 'lista': {'type': 'object', 'required': ['nivel', 'total', 'exibidos', 'registros'], 'properties': {'nivel': {'type': 'string', 'description': 'NÃ\xadvel hierárquico listado'}, 'total': {'type': 'number', 'description': 'Total de registros existentes no nÃ\xadvel'}, 'exibidos': {'type': 'number', 'description': "Quantidade de registros exibidos (limitada por 'limite')"}, 'registros': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'descricao'], 'properties': {'id': {'type': 'string', 'description': 'Código CNAE do registro'}, 'descricao': {'type': 'string', 'description': 'Descrição do registro'}}, 'additionalProperties': False}, 'description': 'Registros do nÃ\xadvel listado'}}, 'description': 'Presente no modo de listagem por nÃ\xadvel', 'additionalProperties': False}, 'codigo': {'type': 'object', 'required': ['id', 'descricao', 'nivel'], 'properties': {'id': {'type': 'string', 'description': 'Código CNAE consultado'}, 'nivel': {'type': 'string', 'description': 'NÃ\xadvel do código (secao, divisao, grupo, classe ou subclasse)'}, 'descricao': {'type': 'string', 'description': 'Descrição do código'}, 'hierarquia': {'type': 'array', 'items': {'type': 'object', 'required': ['nivel', 'id', 'descricao'], 'properties': {'id': {'type': 'string', 'description': 'Código do nÃ\xadvel'}, 'nivel': {'type': 'string', 'description': 'NÃ\xadvel hierárquico (Seção, Divisão, Grupo, Classe, Subclasse)'}, 'descricao': {'type': 'string', 'description': 'Descrição do nÃ\xadvel'}}, 'additionalProperties': False}, 'description': 'Cadeia hierárquica do código (do mais geral ao mais especÃ\xadfico)'}, 'observacoes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Observações/notas explicativas do código'}}, 'description': 'Presente no modo de consulta por código', 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['localidades'], 'properties': {'formato': {'enum': ['tabela', 'json', 'ranking'], 'type': 'string', 'default': 'tabela', 'description': 'Formato de saÃ\xadda: tabela, json ou ranking (ordenado)'}, 'indicador': {'enum': ['populacao', 'populacao_censo', 'pib', 'area', 'densidade', 'alfabetizacao', 'domicilios', 'listar'], 'type': 'string', 'default': 'populacao', 'description': 'Indicador para comparação:\n- populacao: Estimativa populacional atual\n- populacao_censo: População do Censo 2022\n- pib: PIB a preços correntes (Mil Reais)\n- area: Ã\x81rea territorial (km²)\n- densidade: Densidade demográfica (hab/km²)\n- alfabetizacao: Taxa de alfabetização\n- domicilios: Número de domicÃ\xadlios\n- listar: Lista indicadores disponÃ\xadveis'}, 'localidades': {'type': 'string', 'description': 'Códigos IBGE das localidades separados por vÃ\xadrgula (ex: "3550308,3304557,4106902").\nUse 7 dÃ\xadgitos para municÃ\xadpios, 2 dÃ\xadgitos para UFs.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['localidades', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do indicador'}, 'tabela': {'type': 'string', 'description': 'Tabela SIDRA de origem'}, 'formato': {'type': 'string', 'description': 'Formato solicitado'}, 'indicador': {'type': 'string', 'description': 'Indicador comparado'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'localidades': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome', 'valor', 'valorTexto'], 'properties': {'nome': {'type': 'string'}, 'valor': {'type': ['number', 'null']}, 'codigo': {'type': 'string'}, 'valorTexto': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Localidades comparadas, com o valor do indicador'}, 'estatisticas': {'type': 'object', 'required': ['maior', 'menor', 'media', 'variacaoPct'], 'properties': {'maior': {'type': 'number'}, 'media': {'type': 'number'}, 'menor': {'type': 'number'}, 'variacaoPct': {'type': 'number'}}, 'description': 'EstatÃ\xadsticas agregadas (quando há ao menos 2 valores positivos)', 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['indicador'], 'properties': {'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'campos': {'type': 'string', 'description': "Selecionar apenas algumas colunas por rótulo, separadas por vÃ\xadrgula (ex: 'Valor,Ano'). Reduz o volume da resposta."}, 'formato': {'enum': ['tabela', 'json'], 'type': 'string', 'default': 'tabela', 'description': 'Formato de saÃ\xadda'}, 'periodo': {'type': 'string', 'default': 'last', 'description': "PerÃ\xadodo: 'last', 'all', ou ano especÃ\xadfico"}, 'indicador': {'type': 'string', 'description': 'Indicador de saúde. DisponÃ\xadveis:\n- mortalidade_infantil: Taxa de mortalidade infantil\n- esperanca_vida: Esperança de vida ao nascer\n- nascidos_vivos: Nascidos vivos\n- obitos: Ã\x93bitos por local de residência\n- fecundidade: Taxa de fecundidade\n- saneamento_agua: Abastecimento de água\n- saneamento_esgoto: Esgotamento sanitário\n- plano_saude: Cobertura de plano de saúde\n- listar: Lista indicadores disponÃ\xadveis'}, 'agruparPor': {'type': 'string', 'description': "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"}, 'localidade': {'type': 'string', 'default': 'all', 'description': "Código da localidade ou 'all'"}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (mÃ\xadnimo/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': {'type': 'string', 'default': '1', 'description': 'NÃ\xadvel territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=MunicÃ\xadpio'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['totalRegistros', 'colunas', 'registros', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do indicador'}, 'fonte': {'type': 'string', 'description': 'Fonte do dado'}, 'colunas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rótulos das colunas, na ordem'}, 'indicador': {'type': 'string', 'description': 'Chave do indicador de saúde consultado'}, 'registros': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'description': 'Registros: cada um mapeia rótulo da coluna -> valor'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'estatisticas': {'type': 'object', 'required': ['colunaValor', 'registrosConsiderados', 'registrosSemValor'], 'properties': {'top': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Maiores valores, com as colunas de identificação do registro (sem agruparPor)'}, 'aviso': {'type': 'string', 'description': 'Avisos sobre agrupamento automático, mistura de unidades ou truncamento'}, 'bottom': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Menores valores (sem agruparPor)'}, 'grupos': {'type': 'array', 'items': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis', 'grupo'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'grupo': {'type': 'string'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Grupos ordenados por soma decrescente, cada um com sua mini-distribuição (com agruparPor)'}, 'agrupadoPor': {'type': 'string', 'description': 'Rótulo da coluna de agrupamento (com agruparPor)'}, 'colunaValor': {'type': 'string', 'description': "Rótulo da coluna numérica analisada (sempre 'Valor' no SIDRA)"}, 'totalGrupos': {'type': 'number', 'description': 'Total de grupos existentes antes do teto (com agruparPor)'}, 'distribuicao': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'description': 'Distribuição do conjunto inteiro (sem agruparPor)', 'additionalProperties': False}, 'registrosSemValor': {'type': 'number', 'description': "Registros excluÃ\xaddos por marcador de ausência SIDRA ('-', '..', '...', 'X') ou valor não numérico"}, 'registrosConsiderados': {'type': 'number', 'description': 'Registros com valor numérico (contam no n)'}}, 'description': 'Bloco estatÃ\xadstico presente quando estatisticas=true (registros vem vazio nesse modo)', 'additionalProperties': False}, 'totalRegistros': {'type': 'number', 'description': 'Total de registros de dados'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'regiao': {'enum': ['N', 'NE', 'SE', 'S', 'CO'], 'type': 'string', 'description': 'Filtrar por região: N (Norte), NE (Nordeste), SE (Sudeste), S (Sul), CO (Centro-Oeste)'}, 'ordenar': {'enum': ['id', 'nome', 'sigla'], 'type': 'string', 'default': 'nome', 'description': 'Campo para ordenação dos resultados'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['estados', 'total', 'provenance', 'attribution'], 'properties': {'total': {'type': 'number', 'description': 'Total de estados retornados'}, 'estados': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sigla', 'nome', 'regiao'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE do estado'}, 'nome': {'type': 'string', 'description': 'Nome do estado'}, 'sigla': {'type': 'string', 'description': 'Sigla da UF'}, 'regiao': {'type': 'string', 'description': 'Nome da região'}}, 'additionalProperties': False}, 'description': 'Lista de estados'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'description': 'Estado por sigla (SP), nome (São Paulo) ou código IBGE (35) para restringir a busca por nome de municÃ\xadpio'}, 'nome': {'type': 'string', 'description': 'Nome da localidade para encontrar o código IBGE (estado ou municÃ\xadpio)'}, 'codigo': {'type': 'string', 'description': 'Código IBGE para decodificar.\nFormatos aceitos:\n- 1 dÃ\xadgito: Região (1-5)\n- 2 dÃ\xadgitos: UF (11-53)\n- 7 dÃ\xadgitos: MunicÃ\xadpio\n- 9 dÃ\xadgitos: Distrito'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da localidade resolvida'}, 'tipo': {'enum': ['regiao', 'uf', 'municipio', 'distrito', 'lista'], 'type': 'string', 'description': 'Tipo do resultado: localidade decodificada (regiao/uf/municipio/distrito) ou lista de municÃ\xadpios encontrados (lista)'}, 'sigla': {'type': 'string', 'description': 'Sigla da região ou UF, quando aplicável'}, 'total': {'type': 'number', 'description': 'Quantidade de municÃ\xadpios encontrados na busca por nome (apenas tipo lista)'}, 'codigo': {'type': 'number', 'description': 'Código IBGE da localidade resolvida (ausente em resultados do tipo lista)'}, 'regiao': {'type': 'string', 'description': 'Nome da região Ã\xa0 qual a UF pertence (apenas tipo uf)'}, 'estados': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'sigla', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da UF'}, 'sigla': {'type': 'string', 'description': 'Sigla da UF'}, 'codigo': {'type': 'number', 'description': 'Código IBGE da UF'}}, 'additionalProperties': False}, 'description': 'Estados pertencentes Ã\xa0 região (apenas tipo regiao)'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio'}, 'codigo': {'type': 'number', 'description': 'Código IBGE (7 dÃ\xadgitos) do municÃ\xadpio'}}, 'additionalProperties': False}, 'description': 'MunicÃ\xadpios encontrados na busca por nome (apenas tipo lista)'}, 'hierarquia': {'type': 'array', 'items': {'type': 'object', 'required': ['nivel', 'codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da localidade neste nÃ\xadvel'}, 'nivel': {'type': 'string', 'description': 'Nome do nÃ\xadvel territorial (Região, UF, MunicÃ\xadpio, etc.)'}, 'codigo': {'type': 'number', 'description': 'Código IBGE do nÃ\xadvel'}}, 'additionalProperties': False}, 'description': 'Hierarquia geográfica completa, da região ao municÃ\xadpio/distrito (tipo municipio/distrito)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'codigoSidra': {'type': 'string', 'description': 'Código SIDRA de 6 dÃ\xadgitos do municÃ\xadpio (apenas tipo municipio)'}, 'regiaoCodigo': {'type': 'number', 'description': 'Código IBGE da região Ã\xa0 qual a UF pertence (apenas tipo uf)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'campos': {'type': 'string', 'description': "Selecionar apenas algumas colunas por rótulo, separadas por vÃ\xadrgula (ex: 'Valor,Ano'). Reduz o volume da resposta."}, 'formato': {'enum': ['tabela', 'json'], 'type': 'string', 'default': 'tabela', 'description': 'Formato de saÃ\xadda'}, 'periodos': {'type': 'string', 'default': 'last', 'description': "PerÃ\xadodos (ex: '2023', 'last', 'last 4')"}, 'categoria': {'enum': ['economico', 'precos', 'trabalho', 'populacao', 'agropecuaria', 'todos'], 'type': 'string', 'description': 'Filtrar por categoria de indicadores'}, 'indicador': {'type': 'string', 'description': 'Nome do indicador (ex: "pib", "ipca", "desemprego", "populacao").\nUse "listar" para ver todos os indicadores disponÃ\xadveis.'}, 'agruparPor': {'type': 'string', 'description': "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': {'type': 'string', 'default': 'all', 'description': "Códigos das localidades ou 'all'"}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (mÃ\xadnimo/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': {'type': 'string', 'default': '1', 'description': 'NÃ\xadvel territorial (código N): 1=Brasil, 2=Região, 3=UF'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['totalRegistros', 'colunas', 'registros', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do indicador'}, 'tabela': {'type': 'string', 'description': 'Tabela SIDRA de origem'}, 'colunas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rótulos das colunas, na ordem'}, 'indicador': {'type': 'string', 'description': 'Chave do indicador consultado'}, 'registros': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'description': 'Registros: cada um mapeia rótulo da coluna -> valor'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'estatisticas': {'type': 'object', 'required': ['colunaValor', 'registrosConsiderados', 'registrosSemValor'], 'properties': {'top': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Maiores valores, com as colunas de identificação do registro (sem agruparPor)'}, 'aviso': {'type': 'string', 'description': 'Avisos sobre agrupamento automático, mistura de unidades ou truncamento'}, 'bottom': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Menores valores (sem agruparPor)'}, 'grupos': {'type': 'array', 'items': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis', 'grupo'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'grupo': {'type': 'string'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Grupos ordenados por soma decrescente, cada um com sua mini-distribuição (com agruparPor)'}, 'agrupadoPor': {'type': 'string', 'description': 'Rótulo da coluna de agrupamento (com agruparPor)'}, 'colunaValor': {'type': 'string', 'description': "Rótulo da coluna numérica analisada (sempre 'Valor' no SIDRA)"}, 'totalGrupos': {'type': 'number', 'description': 'Total de grupos existentes antes do teto (com agruparPor)'}, 'distribuicao': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'description': 'Distribuição do conjunto inteiro (sem agruparPor)', 'additionalProperties': False}, 'registrosSemValor': {'type': 'number', 'description': "Registros excluÃ\xaddos por marcador de ausência SIDRA ('-', '..', '...', 'X') ou valor não numérico"}, 'registrosConsiderados': {'type': 'number', 'description': 'Registros com valor numérico (contam no n)'}}, 'description': 'Bloco estatÃ\xadstico presente quando estatisticas=true (registros vem vazio nesse modo)', 'additionalProperties': False}, 'totalRegistros': {'type': 'number', 'description': 'Total de registros de dados'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo'], 'properties': {'tipo': {'enum': ['estado', 'municipio', 'distrito'], 'type': 'string', 'description': 'Tipo da localidade. Se não informado, será inferido pelo tamanho do código.'}, 'codigo': {'type': 'number', 'description': 'Código IBGE da localidade (estado: 2 dÃ\xadgitos, municÃ\xadpio: 7 dÃ\xadgitos, distrito: 9 dÃ\xadgitos)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo', 'id', 'nome', 'provenance', 'attribution'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da localidade'}, 'nome': {'type': 'string', 'description': 'Nome da localidade'}, 'tipo': {'enum': ['estado', 'municipio', 'distrito'], 'type': 'string', 'description': 'Tipo da localidade retornada'}, 'sigla': {'type': 'string', 'description': 'Sigla da UF (apenas para estados)'}, 'estado': {'type': 'object', 'required': ['id', 'sigla', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE do estado'}, 'nome': {'type': 'string', 'description': 'Nome do estado'}, 'sigla': {'type': 'string', 'description': 'Sigla da UF'}}, 'description': 'Estado da localidade (municÃ\xadpio ou distrito)', 'additionalProperties': False}, 'regiao': {'type': 'object', 'required': ['id', 'sigla', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da região'}, 'nome': {'type': 'string', 'description': 'Nome da região'}, 'sigla': {'type': 'string', 'description': 'Sigla da região'}}, 'description': 'Região do estado (apenas para estados)', 'additionalProperties': False}, 'municipio': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE do municÃ\xadpio'}, 'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio'}}, 'description': 'MunicÃ\xadpio ao qual o distrito pertence (apenas para distritos)', 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'mesorregiao': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da mesorregião'}, 'nome': {'type': 'string', 'description': 'Nome da mesorregião'}}, 'description': 'Mesorregião do municÃ\xadpio', 'additionalProperties': False}, 'microrregiao': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da microrregião'}, 'nome': {'type': 'string', 'description': 'Nome da microrregião'}}, 'description': 'Microrregião do municÃ\xadpio', 'additionalProperties': False}, 'regiaoImediata': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da região imediata'}, 'nome': {'type': 'string', 'description': 'Nome da região imediata'}}, 'description': 'Região imediata do municÃ\xadpio', 'additionalProperties': False}, 'regiaoIntermediaria': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE da região intermediária'}, 'nome': {'type': 'string', 'description': 'Nome da região intermediária'}}, 'description': 'Região intermediária do municÃ\xadpio', 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['localidade'], 'properties': {'tipo': {'enum': ['paises', 'regioes', 'estados', 'mesorregioes', 'microrregioes', 'municipios', 'regioes-imediatas', 'regioes-intermediarias'], 'type': 'string', 'description': 'Tipo de divisão territorial'}, 'formato': {'enum': ['geojson', 'topojson', 'svg'], 'type': 'string', 'default': 'geojson', 'description': 'Formato de saÃ\xadda (padrão: geojson)'}, 'qualidade': {'enum': ['1', '2', '3', '4', 'minima', 'intermediaria', 'maxima'], 'type': 'string', 'default': 'maxima', 'description': "Qualidade do traçado: 'minima', 'intermediaria' ou 'maxima' (padrão). Os números 1â\x80\x934 do IBGE antigo continuam aceitos e são traduzidos."}, 'resolucao': {'enum': ['0', '1', '2', '3', '4', '5'], 'type': 'string', 'default': '0', 'description': 'Divisões internas a desenhar dentro da malha pedida:\n0 = Sem divisões internas (só o contorno)\n1 = Macrorregiões (apenas quando localidade=BR)\n2 = Unidades da Federação (BR ou uma região)\n3 = Mesorregiões\n4 = Microrregiões\n5 = MunicÃ\xadpios\nCada nÃ\xadvel aceita só as divisões menores que ele: municÃ\xadpio aceita nenhuma, UF aceita 3, 4 e 5.'}, 'localidade': {'type': 'string', 'description': "Código IBGE ou sigla da localidade (ex: 'BR', 'SP', '35', '3550308')"}, 'intrarregiao': {'type': 'string', 'description': "Divisão interna pelo nome, alternativa a resolucao: 'regiao', 'UF', 'regiao-intermediaria', 'regiao-imediata', 'mesorregiao', 'microrregiao' ou 'municipio'. Quando informado, prevalece sobre resolucao."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['localidade', 'formato', 'provenance', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'URL para download da malha completa'}, 'tipo': {'type': 'string', 'description': 'Tipo de divisão territorial, quando informado'}, 'formato': {'type': 'string', 'description': 'Formato de saÃ\xadda solicitado (geojson, topojson ou svg)'}, 'qualidade': {'type': 'string', 'description': 'Qualidade do traçado solicitada'}, 'resolucao': {'type': 'string', 'description': 'Resolução/divisões internas solicitada'}, 'localidade': {'type': 'string', 'description': 'Código IBGE ou sigla da localidade consultada'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'intrarregiao': {'type': 'string', 'description': 'Divisão interna desenhada dentro da malha (vocabulário da API v3)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tema'], 'properties': {'tema': {'enum': ['biomas', 'amazonia_legal', 'semiarido', 'costeiro', 'fronteira', 'metropolitana', 'ride', 'listar'], 'type': 'string', 'description': 'Recorte temático do território:\n- biomas: os seis biomas continentais\n- amazonia_legal: limite da Amazônia Legal\n- semiarido: área do semiárido\n- costeiro: municÃ\xadpios da zona costeira\n- fronteira: municÃ\xadpios da faixa de fronteira\n- metropolitana: regiões metropolitanas\n- ride: Regiões Integradas de Desenvolvimento\n- listar: lista os recortes disponÃ\xadveis, sem consultar a fonte'}, 'codigo': {'type': 'string', 'description': 'Filtra uma feição do recorte. Só os recortes que têm código próprio aceitam: biomas (cd_bioma, ex. "1") e os dois de municÃ\xadpios, costeiro e fronteira (código IBGE de 7 dÃ\xadgitos). Nos demais a chamada é recusada com a lista do que aceita.'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 600, 'minimum': 1, 'description': 'Quantas feições trazer (padrão 50, máx. 600). O total do recorte vem sempre, mesmo quando o limite corta a lista.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tema', 'provenance', 'attribution'], 'properties': {'tema': {'type': 'string', 'description': "Recorte solicitado (ou 'listar')"}, 'temas': {'type': 'array', 'items': {'type': 'object', 'required': ['tema', 'nome', 'descricao'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do recorte'}, 'tema': {'type': 'string', 'description': 'Identificador do recorte'}, 'descricao': {'type': 'string', 'description': 'Descrição do recorte'}}, 'additionalProperties': False}, 'description': "Lista de recortes disponÃ\xadveis (somente no modo 'listar')"}, 'camada': {'type': 'string', 'description': 'Camada WFS do IBGE Geosserviços consultada'}, 'codigo': {'type': 'string', 'description': 'Código usado como filtro, quando informado'}, 'feicoes': {'type': 'number', 'description': 'Total de feições do recorte na fonte'}, 'registros': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Atributos de cada feição (sem geometria)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'url_geometria': {'type': 'string', 'description': 'URL canônica do WFS que devolve a malha COM geometria, em GeoJSON'}, 'feicoes_retornadas': {'type': 'number', 'description': 'Quantas vieram nesta resposta'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'description': 'Estado por sigla (SP), nome (São Paulo) ou código IBGE (35). Se não informado, retorna todos os municÃ\xadpios do Brasil.'}, 'busca': {'type': 'string', 'description': 'Termo para buscar no nome do municÃ\xadpio'}, 'limite': {'type': 'number', 'default': 100, 'maximum': 5570, 'minimum': 1, 'description': 'Número máximo de resultados (padrão: 100, máximo: 5570)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['municipios', 'total', 'provenance', 'attribution'], 'properties': {'uf': {'type': 'string', 'description': 'UF informada no filtro (como recebida na entrada)'}, 'busca': {'type': 'string', 'description': 'Termo de busca aplicado ao nome do municÃ\xadpio'}, 'total': {'type': 'number', 'description': 'Total de municÃ\xadpios encontrados antes do limite'}, 'municipios': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'Código IBGE do municÃ\xadpio'}, 'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio'}}, 'additionalProperties': False}, 'description': 'Lista de municÃ\xadpios retornados (após filtro e limite)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo'], 'properties': {'sexo': {'enum': ['M', 'F'], 'type': 'string', 'description': 'Filtrar por sexo: M (masculino) ou F (feminino)'}, 'tipo': {'enum': ['frequencia', 'ranking'], 'type': 'string', 'description': "Tipo de consulta: 'frequencia' para buscar nomes especÃ\xadficos ou 'ranking' para ver os mais populares"}, 'nomes': {'type': 'string', 'description': "Para tipo='frequencia': Nome ou nomes separados por vÃ\xadrgula"}, 'decada': {'type': 'number', 'description': "Para tipo='ranking': Década do ranking (ex: 1990, 2000, 2010)"}, 'limite': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': "Para tipo='ranking': Número de nomes (padrão: 20)"}, 'localidade': {'type': 'string', 'description': 'Código IBGE da localidade (UF: 2 dÃ\xadgitos, MunicÃ\xadpio: 7 dÃ\xadgitos)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo', 'provenance', 'attribution'], 'properties': {'tipo': {'enum': ['frequencia', 'ranking'], 'type': 'string', 'description': 'Tipo da consulta realizada'}, 'ranking': {'type': 'object', 'required': ['localidade', 'itens'], 'properties': {'sexo': {'type': ['string', 'null'], 'description': 'Sexo do ranking: M, F ou nulo'}, 'itens': {'type': 'array', 'items': {'type': 'object', 'required': ['ranking', 'nome', 'frequencia'], 'properties': {'nome': {'type': 'string', 'description': 'Nome'}, 'ranking': {'type': 'number', 'description': 'Posição no ranking'}, 'frequencia': {'type': 'number', 'description': 'Frequência de registros do nome'}}, 'additionalProperties': False}, 'description': "Itens do ranking, limitados pelo parâmetro 'limite'"}, 'decada': {'type': 'number', 'description': 'Década do ranking, quando informada'}, 'localidade': {'type': 'string', 'description': 'Código IBGE da localidade (ou BR para Brasil)'}}, 'description': "Resultado do ranking (presente quando tipo='ranking')", 'additionalProperties': False}, 'frequencia': {'type': 'array', 'items': {'type': 'object', 'required': ['nome', 'localidade', 'periodos', 'total'], 'properties': {'nome': {'type': 'string', 'description': 'Nome consultado'}, 'sexo': {'type': ['string', 'null'], 'description': 'Sexo do nome: M, F ou nulo'}, 'total': {'type': 'number', 'description': 'Soma das frequências de todos os perÃ\xadodos'}, 'periodos': {'type': 'array', 'items': {'type': 'object', 'required': ['periodo', 'frequencia'], 'properties': {'periodo': {'type': 'string', 'description': "PerÃ\xadodo/década (ex: '1930[', '1990,2000[')"}, 'frequencia': {'type': 'number', 'description': 'Frequência de registros do nome no perÃ\xadodo'}}, 'additionalProperties': False}, 'description': 'Frequência do nome por perÃ\xadodo'}, 'localidade': {'type': 'string', 'description': 'Código IBGE da localidade (ou BR para Brasil)'}}, 'additionalProperties': False}, 'description': "Resultados de frequência (presente quando tipo='frequencia')"}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'de': {'type': 'string', 'description': 'Data inicial no formato DD/MM/AAAA (ex: 01/01/2024)'}, 'ate': {'type': 'string', 'description': 'Data final no formato DD/MM/AAAA (ex: 31/12/2024)'}, 'tipo': {'enum': ['release', 'noticia'], 'type': 'string', 'description': "Tipo de publicação: 'release' ou 'noticia'"}, 'busca': {'type': 'string', 'description': 'Termo para buscar nas notÃ\xadcias'}, 'pagina': {'type': 'number', 'default': 1, 'minimum': 1, 'description': 'Número da página para paginação'}, 'destaque': {'type': 'boolean', 'description': 'Filtrar apenas notÃ\xadcias em destaque'}, 'quantidade': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Quantidade de notÃ\xadcias a retornar (padrão: 10, máximo: 100)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['noticias', 'total', 'pagina', 'totalPaginas', 'provenance', 'attribution'], 'properties': {'busca': {'type': 'string', 'description': 'Termo de busca aplicado, se houver'}, 'total': {'type': 'number', 'description': 'Total de notÃ\xadcias encontradas na consulta'}, 'pagina': {'type': 'number', 'description': 'Página atual'}, 'noticias': {'type': 'array', 'items': {'type': 'object', 'required': ['titulo', 'tipo', 'dataPublicacao', 'link'], 'properties': {'link': {'type': 'string', 'description': 'URL para a publicação completa'}, 'tipo': {'type': 'string', 'description': "Tipo de publicação (ex: 'Release' ou 'NotÃ\xadcia')"}, 'titulo': {'type': 'string', 'description': 'TÃ\xadtulo da notÃ\xadcia ou release'}, 'destaque': {'type': 'boolean', 'description': 'Indica se a publicação está em destaque'}, 'produtos': {'type': 'string', 'description': 'Produtos do IBGE relacionados Ã\xa0 publicação'}, 'editorias': {'type': 'string', 'description': 'Editoria(s) associada(s) Ã\xa0 publicação'}, 'introducao': {'type': 'string', 'description': 'Introdução/resumo da publicação (texto limpo)'}, 'dataPublicacao': {'type': 'string', 'description': 'Data de publicação (formato original da API)'}}, 'additionalProperties': False}, 'description': 'Lista de notÃ\xadcias retornadas'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalPaginas': {'type': 'number', 'description': 'Número total de páginas'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'pais': {'type': 'string', 'description': 'Código ISO-ALPHA-2 do paÃ\xads (ex: BR, US, AR) ou código M49'}, 'tipo': {'enum': ['listar', 'detalhes', 'indicadores', 'buscar'], 'type': 'string', 'default': 'listar', 'description': 'Tipo de consulta: listar (todos), detalhes (de um paÃ\xads), indicadores, buscar'}, 'busca': {'type': 'string', 'description': 'Termo de busca para filtrar paÃ\xadses pelo nome'}, 'regiao': {'type': 'string', 'description': 'Filtrar por região/continente: americas, europa, africa, asia, oceania'}, 'indicadores': {'type': 'string', 'description': 'IDs dos indicadores separados por | (ex: 77819|77820)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo', 'provenance', 'attribution'], 'properties': {'pais': {'type': 'object', 'required': ['nome', 'm49', 'isoAlpha2', 'isoAlpha3'], 'properties': {'m49': {'type': 'number', 'description': 'Código M49 do paÃ\xads'}, 'nome': {'type': 'string', 'description': 'Nome do paÃ\xads'}, 'moedas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'string', 'description': 'Código da unidade monetária'}, 'nome': {'type': 'string', 'description': 'Nome da unidade monetária'}}, 'additionalProperties': False}, 'description': 'Unidades monetárias do paÃ\xads'}, 'regiao': {'type': 'string', 'description': 'Nome da região/continente'}, 'linguas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'LÃ\xadnguas faladas no paÃ\xads'}, 'historico': {'type': 'string', 'description': 'Texto histórico sobre o paÃ\xads'}, 'isoAlpha2': {'type': 'string', 'description': 'Código ISO-ALPHA-2'}, 'isoAlpha3': {'type': 'string', 'description': 'Código ISO-ALPHA-3'}, 'subRegiao': {'type': 'string', 'description': 'Nome da sub-região'}, 'indicadores': {'type': 'array', 'items': {'type': 'object', 'required': ['indicador', 'valor', 'ano'], 'properties': {'ano': {'type': 'string', 'description': 'Ano de referência do valor'}, 'valor': {'type': 'string', 'description': 'Valor mais recente do indicador'}, 'indicador': {'type': 'string', 'description': 'Nome do indicador'}}, 'additionalProperties': False}, 'description': 'Indicadores principais com o valor mais recente disponÃ\xadvel'}, 'areaTotalKm2': {'type': 'number', 'description': 'Ã\x81rea territorial total em km²'}, 'regiaoIntermediaria': {'type': 'string', 'description': 'Nome da região intermediária'}}, 'description': 'Detalhes de um paÃ\xads especÃ\xadfico (modo detalhes)', 'additionalProperties': False}, 'tipo': {'enum': ['listar', 'buscar', 'detalhes', 'indicadores'], 'type': 'string', 'description': 'Modo de consulta que originou este resultado'}, 'busca': {'type': 'string', 'description': 'Termo de busca aplicado, se houver'}, 'total': {'type': 'number', 'description': 'Total de paÃ\xadses encontrados (modos listar/buscar)'}, 'paises': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome', 'regiao', 'subRegiao'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do paÃ\xads'}, 'codigo': {'type': 'string', 'description': "Código ISO-ALPHA-2 do paÃ\xads (ou '-' se ausente)"}, 'regiao': {'type': 'string', 'description': "Nome da região/continente (ou '-' se ausente)"}, 'subRegiao': {'type': 'string', 'description': "Nome da sub-região (ou '-' se ausente)"}}, 'additionalProperties': False}, 'description': 'Lista de paÃ\xadses (modos listar/buscar). Limitada aos 50 primeiros na exibição'}, 'regiao': {'type': 'string', 'description': 'Filtro de região/continente aplicado, se houver'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'indicadores': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome', 'alias'], 'properties': {'id': {'type': 'number', 'description': 'ID do indicador na API do IBGE'}, 'nome': {'type': 'string', 'description': 'Nome do indicador'}, 'alias': {'type': 'string', 'description': 'Apelido amigável do indicador'}}, 'additionalProperties': False}, 'description': 'Indicadores disponÃ\xadveis para consulta de paÃ\xadses (modo indicadores)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'busca': {'type': 'string', 'description': 'Termo para buscar no nome ou ID da pesquisa'}, 'detalhes': {'type': 'string', 'description': 'Código da pesquisa para ver detalhes e tabelas disponÃ\xadveis'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['modo', 'provenance', 'attribution'], 'properties': {'modo': {'enum': ['lista', 'detalhes'], 'type': 'string', 'description': 'Modo de consulta que originou este resultado: lista de pesquisas ou detalhes de uma'}, 'busca': {'type': 'string', 'description': 'Termo de busca aplicado, se houver (modo lista)'}, 'total': {'type': 'number', 'description': 'Total de pesquisas encontradas (modo lista)'}, 'pesquisa': {'type': 'object', 'required': ['id', 'nome', 'totalTabelas', 'tabelas'], 'properties': {'id': {'type': 'string', 'description': 'Código da pesquisa'}, 'nome': {'type': 'string', 'description': 'Nome da pesquisa'}, 'tabelas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'string', 'description': 'Código da tabela (agregado)'}, 'nome': {'type': 'string', 'description': 'Nome da tabela'}}, 'additionalProperties': False}, 'description': 'Tabelas disponÃ\xadveis na pesquisa'}, 'totalTabelas': {'type': 'number', 'description': 'Quantidade de tabelas da pesquisa'}}, 'description': 'Detalhes de uma pesquisa especÃ\xadfica (modo detalhes)', 'additionalProperties': False}, 'pesquisas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome', 'totalTabelas'], 'properties': {'id': {'type': 'string', 'description': 'Código da pesquisa'}, 'nome': {'type': 'string', 'description': 'Nome da pesquisa'}, 'totalTabelas': {'type': 'number', 'description': 'Quantidade de tabelas (agregados) da pesquisa'}}, 'additionalProperties': False}, 'description': 'Lista de pesquisas (modo lista)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'campos': {'type': 'string', 'description': "Selecionar apenas algumas colunas por rótulo, separadas por vÃ\xadrgula (ex: 'Valor,Ano'). Reduz o volume da resposta. Omitir traz todas."}, 'pagina': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Página de resultados (100 registros por página)'}, 'tabela': {'type': 'string', 'description': 'Código da tabela SIDRA (ex: 6579 para estimativas de população, 9514 para censo 2022)'}, 'formato': {'enum': ['json', 'tabela'], 'type': 'string', 'default': 'tabela', 'description': "Formato de saÃ\xadda: 'json' para dados brutos ou 'tabela' para formato legÃ\xadvel"}, 'periodos': {'type': 'string', 'default': 'last', 'description': "PerÃ\xadodos: 'last' para último, 'all' para todos, ou anos especÃ\xadficos (ex: 2020,2021,2022)"}, 'variaveis': {'type': 'string', 'default': 'allxp', 'description': "IDs das variáveis separados por vÃ\xadrgula, ou 'allxp' para todas"}, 'agruparPor': {'type': 'string', 'description': "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': {'type': 'string', 'default': 'all', 'description': "Códigos das localidades separados por vÃ\xadrgula, ou 'all' para todas"}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (mÃ\xadnimo/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"}, 'classificacoes': {'type': 'string', 'description': "Classificações no formato 'id[categorias]' (ex: '2[6794]' para sexo masculino)"}, 'nivel_territorial': {'type': 'string', 'default': '1', 'description': 'NÃ\xadvel territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=MunicÃ\xadpio, 7=Região Metropolitana, 8=Mesorregião, 9=Microrregião, 10=Distrito, 11=Subdistrito, 13=RM/RIDE, 14=RIDE, 15=Aglomeração Urbana, 17=Região Geográfica Imediata, 18=Região Geográfica Intermediária, 105=Macrorregião de Saúde, 106=Região de Saúde, 114=Aglomerado Subnormal, 127=Amazônia Legal, 128=Semiárido'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela', 'nome', 'totalRegistros', 'colunas', 'registros', 'paginacao', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da tabela (quando conhecido)'}, 'tabela': {'type': 'string', 'description': 'Código da tabela SIDRA consultada'}, 'colunas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rótulos das colunas, na ordem'}, 'paginacao': {'type': 'object', 'required': ['pagina', 'porPagina', 'totalPaginas', 'temMais'], 'properties': {'pagina': {'type': 'number'}, 'temMais': {'type': 'boolean'}, 'porPagina': {'type': 'number'}, 'totalPaginas': {'type': 'number'}}, 'description': 'Metadados de paginação para continuação', 'additionalProperties': False}, 'registros': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'description': 'Registros da página atual: cada um mapeia rótulo da coluna -> valor'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'estatisticas': {'type': 'object', 'required': ['colunaValor', 'registrosConsiderados', 'registrosSemValor'], 'properties': {'top': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Maiores valores, com as colunas de identificação do registro (sem agruparPor)'}, 'aviso': {'type': 'string', 'description': 'Avisos sobre agrupamento automático, mistura de unidades ou truncamento'}, 'bottom': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Menores valores (sem agruparPor)'}, 'grupos': {'type': 'array', 'items': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis', 'grupo'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'grupo': {'type': 'string'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Grupos ordenados por soma decrescente, cada um com sua mini-distribuição (com agruparPor)'}, 'agrupadoPor': {'type': 'string', 'description': 'Rótulo da coluna de agrupamento (com agruparPor)'}, 'colunaValor': {'type': 'string', 'description': "Rótulo da coluna numérica analisada (sempre 'Valor' no SIDRA)"}, 'totalGrupos': {'type': 'number', 'description': 'Total de grupos existentes antes do teto (com agruparPor)'}, 'distribuicao': {'type': 'object', 'required': ['n', 'soma', 'minimo', 'maximo', 'media', 'mediana', 'desvioPadrao', 'percentis'], 'properties': {'n': {'type': 'number', 'description': 'Registros com valor numérico considerados'}, 'soma': {'type': 'number'}, 'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'mediana': {'type': 'number'}, 'percentis': {'type': 'array', 'items': {'type': 'object', 'required': ['percentil', 'valor', 'rotulo'], 'properties': {'valor': {'type': 'number'}, 'rotulo': {'type': 'string', 'description': 'Enunciado por extenso, pronto para citar ao leitor'}, 'percentil': {'type': 'number', 'description': 'Percentil (50 = mediana)'}}, 'additionalProperties': False}}, 'desvioPadrao': {'type': 'number'}}, 'description': 'Distribuição do conjunto inteiro (sem agruparPor)', 'additionalProperties': False}, 'registrosSemValor': {'type': 'number', 'description': "Registros excluÃ\xaddos por marcador de ausência SIDRA ('-', '..', '...', 'X') ou valor não numérico"}, 'registrosConsiderados': {'type': 'number', 'description': 'Registros com valor numérico (contam no n)'}}, 'description': 'Bloco estatÃ\xadstico presente quando estatisticas=true (registros vem vazio nesse modo)', 'additionalProperties': False}, 'totalRegistros': {'type': 'number', 'description': 'Total de registros de dados disponÃ\xadveis (todas as páginas)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'tabela': {'type': 'string', 'description': "Código da tabela/agregado SIDRA (ex: '6579', '9514', '4714')"}, 'incluir_periodos': {'type': 'boolean', 'default': True, 'description': 'Incluir lista de perÃ\xadodos disponÃ\xadveis (padrão: true)'}, 'incluir_localidades': {'type': 'boolean', 'default': False, 'description': 'Incluir nÃ\xadveis territoriais disponÃ\xadveis (padrão: false)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo', 'nome', 'provenance', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'URL da tabela no SIDRA'}, 'nome': {'type': 'string', 'description': 'Nome da tabela'}, 'codigo': {'type': 'string', 'description': 'Código da tabela/agregado SIDRA'}, 'assunto': {'type': 'string', 'description': 'Assunto/tema da tabela'}, 'periodos': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'literais'], 'properties': {'id': {'type': 'string', 'description': 'Código do perÃ\xadodo'}, 'literais': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Descrições textuais do perÃ\xadodo'}}, 'additionalProperties': False}, 'description': 'PerÃ\xadodos disponÃ\xadveis para a tabela (quando incluir_periodos)'}, 'pesquisa': {'type': 'string', 'description': 'Nome da pesquisa de origem'}, 'variaveis': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'ID da variável'}, 'nome': {'type': 'string', 'description': 'Nome da variável'}, 'unidade': {'type': 'string', 'description': 'Unidade de medida da variável'}, 'classificacoes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome', 'categorias'], 'properties': {'id': {'type': 'number', 'description': 'ID da classificação'}, 'nome': {'type': 'string', 'description': 'Nome da classificação'}, 'categorias': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'nome'], 'properties': {'id': {'type': 'number', 'description': 'ID da categoria'}, 'nome': {'type': 'string', 'description': 'Nome da categoria'}, 'nivel': {'type': 'number', 'description': 'NÃ\xadvel hierárquico da categoria'}, 'unidade': {'type': 'string', 'description': 'Unidade da categoria'}}, 'additionalProperties': False}, 'description': 'Categorias da classificação'}}, 'additionalProperties': False}, 'description': 'Classificações aplicáveis Ã\xa0 variável'}}, 'additionalProperties': False}, 'description': 'Variáveis da tabela, com unidades e classificações/categorias'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'periodicidade': {'type': 'object', 'properties': {'fim': {'type': 'number', 'description': 'Ano/perÃ\xadodo final da série'}, 'inicio': {'type': 'number', 'description': 'Ano/perÃ\xadodo inicial da série'}, 'frequencia': {'type': 'string', 'description': 'Frequência de coleta (ex: anual, mensal)'}}, 'description': 'Periodicidade da pesquisa', 'additionalProperties': False}, 'niveisTerritoriais': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do nÃ\xadvel territorial (ex: Brasil, UF, MunicÃ\xadpio)'}, 'codigo': {'type': 'string', 'description': 'Código do nÃ\xadvel territorial (ex: N1, N3, N6)'}}, 'additionalProperties': False}, 'description': 'NÃ\xadveis territoriais disponÃ\xadveis para a tabela'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'busca': {'type': 'string', 'description': 'Termos para buscar no nome das tabelas/agregados (sem distinção de acento ou caixa; AND entre as palavras; a palavra de todo dia é traduzida para a do IBGE â\x80\x94 rendaâ\x86\x92rendimento, desempregoâ\x86\x92desocupação, cidadeâ\x86\x92municÃ\xadpio)'}, 'limite': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Número máximo de resultados (padrão: 20)'}, 'pesquisa': {'type': 'string', 'description': "Filtrar por código ou nome da pesquisa (ex: 'censo', 'pnad', 'pib')"}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabelas', 'total', 'provenance', 'attribution'], 'properties': {'busca': {'type': 'string', 'description': 'Termo de busca aplicado, se houver'}, 'total': {'type': 'number', 'description': 'Total de tabelas que correspondem aos critérios'}, 'tabelas': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da tabela/agregado'}, 'codigo': {'type': 'string', 'description': 'Código da tabela/agregado SIDRA'}, 'pesquisa': {'type': 'string', 'description': 'Pesquisa de origem (código - nome)'}}, 'additionalProperties': False}, 'description': 'Lista de tabelas SIDRA retornadas'}, 'pesquisa': {'type': 'string', 'description': 'Filtro de pesquisa aplicado, se houver'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'notas_vocabulario': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Quando a busca foi ampliada para a palavra que o IBGE usa (rendaâ\x86\x92rendimento), diz qual'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['municipio'], 'properties': {'uf': {'type': 'string', 'description': 'Estado por sigla (SP), nome (São Paulo) ou código IBGE (35) â\x80\x94 obrigatório se usar nome do municÃ\xadpio'}, 'raio': {'type': 'number', 'description': 'Raio em km para buscar municÃ\xadpios próximos (usa centróides)'}, 'municipio': {'type': 'string', 'description': 'Código IBGE do municÃ\xadpio (7 dÃ\xadgitos) ou nome do municÃ\xadpio'}, 'incluir_dados': {'type': 'boolean', 'default': False, 'description': 'Incluir dados populacionais dos vizinhos'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['municipio', 'vizinhos', 'total', 'provenance', 'attribution'], 'properties': {'total': {'type': 'number', 'description': 'Quantidade de municÃ\xadpios próximos encontrados'}, 'vizinhos': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'uf': {'type': 'string', 'description': 'Sigla da UF do municÃ\xadpio vizinho'}, 'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio vizinho'}, 'codigo': {'type': 'string', 'description': 'Código IBGE do municÃ\xadpio vizinho'}, 'populacao': {'type': 'number', 'description': 'População do municÃ\xadpio vizinho (apenas quando incluir_dados=true)'}}, 'additionalProperties': False}, 'description': 'Lista de municÃ\xadpios próximos (mesma mesorregião)'}, 'municipio': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome do municÃ\xadpio consultado'}, 'codigo': {'type': 'string', 'description': 'Código IBGE do municÃ\xadpio consultado'}}, 'description': 'MunicÃ\xadpio de referência da consulta', 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Termos de busca em linguagem natural ou palavras-chave (acentos e caixa são ignorados)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'provenance', 'attribution'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Identificador único do documento no servidor; é o que `fetch` recebe'}, 'url': {'type': 'string', 'description': 'URL pública canônica do documento â\x80\x94 a citação do ChatGPT depende dela'}, 'title': {'type': 'string', 'description': 'TÃ\xadtulo legÃ\xadvel do documento'}}, 'additionalProperties': False}, 'description': 'Documentos encontrados, em ordem de relevância'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado (API do IBGE consultada)'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado'}, 'citation': {'type': 'string', 'description': 'Citação pronta para uso'}, 'retrieval': {'anyOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Idas distintas Ã\xa0 origem que compõem esta resposta (fatias, páginas)'}, 'unstable': {'type': 'boolean', 'description': 'true se houve repetição (attempts > requests) ou alguma anomalia'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'count'], 'properties': {'kind': {'enum': ['timeout', 'network', 'http_4xx', 'http_5xx', 'rate_limited', 'malformed_body'], 'type': 'string', 'description': 'Classe da anomalia (vocabulário fechado do contrato)'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ocorrências desta classe na chamada'}}, 'additionalProperties': False}, 'description': 'Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem desta chamada (contrato v1.1): idas Ã\xa0 API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'PerÃ\xadodo de referência do dado segundo a fonte; null se a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante real da extração no upstream (ISO-8601, horário de BrasÃ\xadlia)'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, perÃ\xadodo, extração, diagnóstico de origem e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
LiveDataLink
Exposes public-data tools covering economics, labor, banking, transport, books, legal opinions, carriers, environmental data, and…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Oracle
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Real Estate
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Crypto & DeFi
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…