此 MCP 可以做什么
Queries Banco Central do Brasil time series, exchange rates, Focus expectations, economic indicators, historical values, comparisons, correlations, and inflation-adjusted data.
工具
输入模式
{'type': 'object', 'required': ['termo'], 'properties': {'termo': {'type': 'string', 'minLength': 2, 'description': 'Termo de busca (mÃ\xadnimo 2 caracteres) ou o código da série. Vários termos são combinados com E, sem distinção de acento; a palavra de todo dia é traduzida para a do BCB (déficitâ\x86\x92resultado primário, caloteâ\x86\x92inadimplência, desempregoâ\x86\x92desocupação) e a resposta diz quando isso aconteceu (notasVocabulario).'}, 'limite': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Máximo de séries a devolver (1-100, padrão: 20). `totalEncontradas` traz o total antes do corte.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['termo', 'totalEncontradas', 'series', 'catalogo', 'provenance', 'attribution'], 'properties': {'termo': {'type': 'string', 'description': 'Termo pesquisado'}, 'avisos': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Avisos de degradação (Ã\xadndice vencido ou indisponÃ\xadvel)'}, 'series': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome', 'origem'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série (revisado quando `origem` = curado; derivado do slug do portal quando = indice)'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'origem': {'enum': ['curado', 'indice'], 'type': 'string', 'description': 'Camada de onde veio o achado'}, 'dataset': {'type': 'string', 'description': 'Página do dataset no portal de dados abertos (só quando `origem` = indice)'}, 'categoria': {'type': 'string', 'description': 'Categoria econômica (só no catálogo curado)'}, 'fonteNome': {'enum': ['portal', 'medido'], 'type': 'string', 'description': "Só quando `origem` = curado. 'portal' = nome transcrito do dataset da série no Portal de Dados Abertos do BCB; 'medido' = série sem dataset no portal, nome herdado e apenas periodicidade e ordem de grandeza verificadas contra a origem."}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade (só no catálogo curado)'}}, 'additionalProperties': False}, 'description': 'Séries que correspondem ao termo â\x80\x94 as do catálogo curado primeiro'}, 'catalogo': {'type': 'object', 'required': ['origem', 'seriesIndexadas', 'cobertura'], 'properties': {'origem': {'type': 'string', 'description': 'Camadas consultadas'}, 'obtidoEm': {'type': 'string', 'description': 'Timestamp ISO 8601 em que o Ã\xadndice do portal foi obtido'}, 'cobertura': {'type': 'string', 'description': 'Limite explÃ\xadcito de cobertura do Ã\xadndice'}, 'seriesIndexadas': {'type': 'number', 'description': 'Quantidade de séries no Ã\xadndice consultado'}}, 'description': 'Proveniência do Ã\xadndice usado na busca', 'additionalProperties': False}, 'mensagem': {'type': 'string', 'description': 'Mensagem exibida quando nada é encontrado'}, 'sugestao': {'type': 'string', 'description': 'Sugestões de termos alternativos'}, 'observacao': {'type': 'string', 'description': 'Aviso de corte quando há mais resultados que `limite`'}, 'provenance': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'description': 'Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)'}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'notasVocabulario': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Quando um termo foi ampliado para a palavra que o BCB usa (déficitâ\x86\x92resultado primário), diz qual'}, 'totalEncontradas': {'type': 'number', 'description': 'Quantidade de séries encontradas, antes do corte por `limite`'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'data': {'type': 'string', 'description': 'Dia especÃ\xadfico (yyyy-MM-dd ou dd/MM/yyyy). Não combine com dataInicial/dataFinal.'}, 'moeda': {'type': 'string', 'default': 'USD', 'description': 'SÃ\xadmbolo da moeda (ex.: USD, EUR, GBP, JPY). Padrão: USD.'}, 'limite': {'type': 'number', 'default': 100, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de boletins a devolver (1-1000, padrão 100)'}, 'dataFinal': {'type': 'string', 'description': 'Fim do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 7 dias antes do fim.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['moeda', 'periodo', 'totalRegistros', 'cotacoes', 'disclaimer', 'urlConsulta', 'consultadoEm', 'provenance', 'attribution'], 'properties': {'moeda': {'type': 'string'}, 'periodo': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'janelaPadrao'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}, 'janelaPadrao': {'type': 'boolean', 'description': 'true quando a janela de 7 dias foi assumida'}}, 'additionalProperties': False}, 'cotacoes': {'type': 'array', 'items': {'type': 'object', 'required': ['dataHora'], 'properties': {'dataHora': {'type': ['string', 'null'], 'description': 'Data e hora da cotação'}, 'tipoBoletim': {'type': ['string', 'null'], 'description': 'Tipo de boletim (ex.: Fechamento, Abertura, Intermediário). Nulo em USD: a fonte não publica este campo nos recursos de dólar, só nos de moeda.'}, 'cotacaoVenda': {'type': ['number', 'null']}, 'cotacaoCompra': {'type': ['number', 'null']}, 'paridadeVenda': {'type': ['number', 'null'], 'description': 'Paridade de venda contra o USD (moedas não-dólar; origem: agência de informação)'}, 'paridadeCompra': {'type': ['number', 'null'], 'description': 'Paridade de compra contra o USD (moedas não-dólar; origem: agência de informação)'}}, 'additionalProperties': False}}, 'disclaimer': {'type': 'string', 'description': 'Disclaimer de responsabilidade do BCB, repassado literalmente'}, 'observacao': {'type': 'string'}, 'provenance': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'description': 'Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)'}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'urlConsulta': {'type': 'string'}, 'consultadoEm': {'type': 'string'}, 'totalRegistros': {'type': 'number'}, 'qualificacaoParidade': {'type': 'string', 'description': 'Qualificação da origem das paridades não-dólar'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'termo': {'type': 'string', 'description': "Filtro por sÃ\xadmbolo ou nome (ex.: 'EUR', 'libra'). Opcional."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['totalMoedas', 'moedas', 'disclaimer', 'urlConsulta', 'consultadoEm', 'provenance', 'attribution'], 'properties': {'termo': {'type': ['string', 'null'], 'description': 'Termo aplicado no filtro; nulo quando não foi informado'}, 'moedas': {'type': 'array', 'items': {'type': 'object', 'required': ['simbolo'], 'properties': {'nome': {'type': ['string', 'null']}, 'tipo': {'type': ['string', 'null'], 'description': 'Tipo da moeda conforme a fonte (A ou B)'}, 'simbolo': {'type': ['string', 'null'], 'description': 'SÃ\xadmbolo a usar em bcb_cambio_cotacao'}}, 'additionalProperties': False}}, 'disclaimer': {'type': 'string'}, 'observacao': {'type': 'string'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalMoedas': {'type': 'number'}, 'urlConsulta': {'type': 'string'}, 'consultadoEm': {'type': 'string'}, 'qualificacaoParidade': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigos', 'dataInicial', 'dataFinal'], 'properties': {'codigos': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 5, 'minItems': 2, 'description': 'Array com 2 a 5 códigos de séries para comparar'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'default': 'ultimo', 'description': 'Como agregar os valores de cada perÃ\xadodo quando `frequencia` é informada. `ultimo` (padrão) serve a nÃ\xadvel de preço, taxa e Ã\xadndice; `soma` a fluxo; `acumulada` a séries que JÃ\x81 SÃ\x83O variação percentual (IPCA mensal, por exemplo), compondo geometricamente â\x80\x94 somar 12 variações mensais NÃ\x83O dá a inflação do ano.'}, 'dataFinal': {'type': 'string', 'description': 'Data final (yyyy-MM-dd ou dd/MM/yyyy)'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Opcional: reamostra a série para esta frequência antes de responder (só agrega para perÃ\xadodos MAIORES; pedir frequência mais fina que a da série é recusado). Ã\x9atil para comparar séries de periodicidades diferentes.'}, 'dataInicial': {'type': 'string', 'description': 'Data inicial (yyyy-MM-dd ou dd/MM/yyyy)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['periodo', 'totalSeries', 'seriesComDados', 'seriesComErro', 'ranking', 'erros', 'derivacao', 'provenance', 'attribution'], 'properties': {'aviso': {'type': 'string', 'description': 'Presente quando as séries comparadas têm periodicidades diferentes e nenhuma harmonização foi pedida â\x80\x94 os números do ranking, nesse caso, não são diretamente comparáveis entre si.'}, 'erros': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'erro'], 'properties': {'erro': {'type': 'string'}, 'nome': {'type': 'string'}, 'codigo': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Séries que não retornaram dados, com o motivo'}, 'periodo': {'type': 'object', 'required': ['dataInicial', 'dataFinal'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}}, 'description': 'Janela temporal comparada', 'additionalProperties': False}, 'ranking': {'type': 'array', 'items': {'type': 'object', 'required': ['posicao', 'codigo', 'nome'], 'properties': {'nome': {'type': 'string'}, 'media': {'type': 'number'}, 'codigo': {'type': 'number'}, 'maximo': {'type': 'number'}, 'metodo': {'enum': ['nivel', 'encadeamento'], 'type': 'string', 'description': 'Como a variação foi medida: `nivel` = (último â\x88\x92 primeiro) / primeiro, para série de nÃ\xadvel; `encadeamento` = acumulado composto de todas as observações, para série que já é uma variação percentual por perÃ\xadodo (IPCA, INPC, IGP-M mensais e os núcleos/grupos do IPCA do catálogo; Selic e CDI acumulados no mês, 4390/4391; rentabilidade da poupança, 25/195 â\x80\x94 nesta, uma observação por mês). A detecção cobre as séries de variação do catálogo curado; código fora dele é tratado como nÃ\xadvel.'}, 'minimo': {'type': 'number'}, 'posicao': {'type': 'number', 'description': 'Posição no ranking'}, 'categoria': {'type': 'string'}, 'valorFinal': {'type': 'number'}, 'valorInicial': {'type': 'number'}, 'periodicidade': {'type': 'string'}, 'totalRegistros': {'type': 'number'}, 'variacaoFormatada': {'type': 'string'}, 'variacaoPercentual': {'type': 'number', 'description': 'Variação entre as pontas (metodo nivel) ou acumulado encadeado do perÃ\xadodo (metodo encadeamento), em %'}}, 'additionalProperties': False}, 'description': 'Séries ordenadas pela variação percentual (maior para menor)'}, 'derivacao': {'type': 'object', 'required': ['derived', 'motor', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Convenções de cálculo e arredondamento, em prosa'}, 'motor': {'type': 'string', 'description': 'Componente que computou a estatÃ\xadstica'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: há número calculado nesta resposta'}}, 'description': 'Origem dos números calculados: o que é derivado, por qual motor e com quais convenções', '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'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalSeries': {'type': 'number', 'description': 'Quantidade de séries solicitadas'}, 'harmonizacao': {'type': 'object', 'required': ['frequencia', 'agregacao', 'derived', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Descrição em prosa do que foi calculado'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: o valor é derivado, não publicado pela fonte'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'description': 'Convenção usada para agregar os valores de cada perÃ\xadodo'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Frequência de destino'}, 'observacoesOriginais': {'type': 'number', 'description': 'Observações antes da agregação'}}, 'description': 'Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO â\x80\x94 calculado por este servidor, não publicado pelo Banco Central.', 'additionalProperties': False}, 'seriesComErro': {'type': 'number', 'description': 'Quantidade de séries sem dados ou com erro'}, 'seriesComDados': {'type': 'number', 'description': 'Quantidade de séries com dados no perÃ\xadodo'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigos', 'dataInicial', 'dataFinal'], 'properties': {'base': {'enum': ['nivel', 'variacao'], 'type': 'string', 'default': 'nivel', 'description': '`nivel` correlaciona os valores; `variacao` correlaciona a mudança percentual de um ponto para o seguinte. Prefira `variacao` quando as duas séries têm tendência: o nÃ\xadvel de duas séries crescentes tem correlação alta só porque ambas crescem com o tempo.'}, 'metodo': {'enum': ['pearson', 'spearman'], 'type': 'string', 'default': 'pearson', 'description': '`pearson` mede relação linear entre os valores; `spearman` mede relação monótona entre os postos (com posto médio nos empates) e é o adequado quando a relação não é reta ou quando uma das séries fica parada em platôs, como a Selic entre reuniões do Copom.'}, 'codigos': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 5, 'minItems': 2, 'description': 'Array com 2 a 5 códigos de séries para correlacionar par a par'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'default': 'ultimo', 'description': 'Como agregar os valores de cada perÃ\xadodo quando `frequencia` é informada. `ultimo` (padrão) serve a nÃ\xadvel de preço, taxa e Ã\xadndice; `soma` a fluxo; `acumulada` a séries que JÃ\x81 SÃ\x83O variação percentual (IPCA mensal, por exemplo), compondo geometricamente â\x80\x94 somar 12 variações mensais NÃ\x83O dá a inflação do ano.'}, 'dataFinal': {'type': 'string', 'description': 'Data final (yyyy-MM-dd ou dd/MM/yyyy)'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Opcional: reamostra a série para esta frequência antes de responder (só agrega para perÃ\xadodos MAIORES; pedir frequência mais fina que a da série é recusado). Ã\x9atil para comparar séries de periodicidades diferentes.'}, 'dataInicial': {'type': 'string', 'description': 'Data inicial (yyyy-MM-dd ou dd/MM/yyyy)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['periodo', 'metodo', 'base', 'series', 'alinhamento', 'pares', 'erros', 'derivacao', 'provenance', 'attribution'], 'properties': {'base': {'enum': ['nivel', 'variacao'], 'type': 'string', 'description': 'Se o cálculo usou os valores ou as variações'}, 'erros': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'erro'], 'properties': {'erro': {'type': 'string'}, 'nome': {'type': 'string'}, 'codigo': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Séries que não retornaram dados, com o motivo'}, 'pares': {'type': 'array', 'items': {'type': 'object', 'required': ['codigoA', 'codigoB', 'coeficiente', 'n', 'descartados', 'interpretacao'], 'properties': {'n': {'type': 'number', 'description': 'Pares de valores efetivamente usados'}, 'nomeA': {'type': 'string'}, 'nomeB': {'type': 'string'}, 'motivo': {'type': 'string', 'description': 'Por que o coeficiente é `null`; ausente quando há coeficiente'}, 'codigoA': {'type': 'number'}, 'codigoB': {'type': 'number'}, 'coeficiente': {'type': ['number', 'null'], 'description': 'Coeficiente entre -1 e 1; `null` quando indefinido (ver `motivo`) â\x80\x94 nunca 0 por omissão'}, 'descartados': {'type': 'number', 'description': 'Datas descartadas por falta de valor em uma das pontas'}, 'interpretacao': {'type': ['string', 'null'], 'description': 'Leitura em prosa da força e do sentido; `null` quando não há coeficiente'}}, 'additionalProperties': False}, 'description': 'Um item por par de séries'}, 'metodo': {'enum': ['pearson', 'spearman'], 'type': 'string', 'description': 'Método aplicado'}, 'series': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string'}, 'codigo': {'type': 'number'}, 'categoria': {'type': 'string'}, 'periodicidade': {'type': 'string'}, 'totalRegistros': {'type': 'number'}, 'periodicidadeInferida': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'Séries que entraram no cálculo'}, 'periodo': {'type': 'object', 'required': ['dataInicial', 'dataFinal'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}}, 'description': 'Janela temporal correlacionada', 'additionalProperties': False}, 'derivacao': {'type': 'object', 'required': ['derived', 'motor', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Convenções de cálculo e arredondamento, em prosa'}, 'motor': {'type': 'string', 'description': 'Componente que computou a estatÃ\xadstica'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: há número calculado nesta resposta'}}, 'description': 'Origem dos números calculados: o que é derivado, por qual motor e com quais convenções', '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'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'alinhamento': {'type': 'object', 'required': ['datas', 'completas', 'parciais'], 'properties': {'datas': {'type': 'number', 'description': 'Datas distintas na união das séries'}, 'grade': {'type': 'string', 'description': 'Grade temporal usada no cruzamento'}, 'parciais': {'type': 'number', 'description': 'Datas em que ao menos uma série não publica'}, 'completas': {'type': 'number', 'description': 'Datas em que todas as séries publicam'}}, 'description': 'Como as grades foram cruzadas. `completas` é o que efetivamente entra num coeficiente: datas em que TODAS as séries publicam. A distância entre `datas` e `completas` é a medida de quanto as séries não se sobrepõem.', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'harmonizacao': {'type': 'object', 'required': ['frequencia', 'agregacao', 'derived', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Descrição em prosa do que foi calculado'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: o valor é derivado, não publicado pela fonte'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'description': 'Convenção usada para agregar os valores de cada perÃ\xadodo'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Frequência de destino'}, 'observacoesOriginais': {'type': 'number', 'description': 'Observações antes da agregação'}}, 'description': 'Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO â\x80\x94 calculado por este servidor, não publicado pelo Banco Central.', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigo', 'dataInicial', 'dataFinal'], 'properties': {'codigo': {'type': 'number', 'description': 'Código da série NOMINAL a deflacionar (ex.: 1619 para salário mÃ\xadnimo)'}, 'indice': {'enum': ['ipca', 'inpc', 'igpm'], 'type': 'string', 'default': 'ipca', 'description': 'Ã\x8dndice de preços usado como deflator: IPCA (433), INPC (188) ou IGP-M (189)'}, 'mesBase': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$', 'description': "Mês em cujos preços os valores serão expressos, no formato yyyy-MM. Sem ele, usa o último mês publicado do Ã\xadndice â\x80\x94 isto é, 'em reais de hoje'."}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'default': 'ultimo', 'description': 'Como agregar os valores de cada perÃ\xadodo quando `frequencia` é informada. `ultimo` (padrão) serve a nÃ\xadvel de preço, taxa e Ã\xadndice; `soma` a fluxo; `acumulada` a séries que JÃ\x81 SÃ\x83O variação percentual (IPCA mensal, por exemplo), compondo geometricamente â\x80\x94 somar 12 variações mensais NÃ\x83O dá a inflação do ano.'}, 'dataFinal': {'type': 'string', 'description': 'Data final (yyyy-MM-dd ou dd/MM/yyyy)'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Opcional: reamostra a série para esta frequência antes de responder (só agrega para perÃ\xadodos MAIORES; pedir frequência mais fina que a da série é recusado). Ã\x9atil para comparar séries de periodicidades diferentes.'}, 'dataInicial': {'type': 'string', 'description': 'Data inicial (yyyy-MM-dd ou dd/MM/yyyy)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['serie', 'deflator', 'base', 'periodo', 'dados', 'variacao', 'derivacao', 'provenance', 'attribution'], 'properties': {'base': {'type': 'object', 'required': ['mes', 'descricao'], 'properties': {'mes': {'type': 'string', 'description': 'MM/yyyy'}, 'descricao': {'type': 'string'}}, 'description': 'Mês em cujos preços os valores reais estão expressos', 'additionalProperties': False}, 'dados': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'valorNominal', 'valorReal', 'fator'], 'properties': {'data': {'type': 'string', 'description': 'dd/MM/yyyy'}, 'fator': {'type': ['number', 'null'], 'description': 'Multiplicador aplicado; `null` pelo mesmo motivo'}, 'valorReal': {'type': ['number', 'null'], 'description': 'Valor em reais do mês base; `null` quando a data cai fora da cobertura do Ã\xadndice'}, 'valorNominal': {'type': 'number', 'description': 'Valor como o BCB publicou'}}, 'additionalProperties': False}, 'description': 'Observações com o valor publicado e o valor em moeda constante'}, 'serie': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string'}, 'codigo': {'type': 'number'}, 'categoria': {'type': 'string'}, 'periodicidade': {'type': 'string'}, 'totalRegistros': {'type': 'number'}, 'periodicidadeInferida': {'type': 'boolean'}}, 'description': 'Identificação da série nominal', 'additionalProperties': False}, 'avisos': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ressalvas sobre cobertura do Ã\xadndice ou mês base substituÃ\xaddo'}, 'periodo': {'type': 'object', 'required': ['dataInicial', 'dataFinal'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}}, 'additionalProperties': False}, 'chunking': {'type': 'object', 'required': ['janelas', 'fatiaAnos'], 'properties': {'janelas': {'type': 'number', 'description': 'Quantidade de janelas consultadas'}, 'fatiaAnos': {'type': 'number', 'description': 'Largura máxima de cada janela, em anos'}}, 'description': 'Presente quando a consulta foi fatiada em várias requisições Ã\xa0 origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.', 'additionalProperties': False}, 'deflator': {'type': 'object', 'required': ['indice', 'codigo', 'nome', 'cobertura'], 'properties': {'nome': {'type': 'string'}, 'codigo': {'type': 'number'}, 'indice': {'type': 'string'}, 'cobertura': {'type': 'object', 'required': ['primeiroMes', 'ultimoMes'], 'properties': {'ultimoMes': {'type': 'string', 'description': 'MM/yyyy'}, 'primeiroMes': {'type': 'string', 'description': 'MM/yyyy'}}, 'additionalProperties': False}}, 'description': 'Ã\x8dndice de preços usado e o intervalo que ele cobre', 'additionalProperties': False}, 'variacao': {'type': ['object', 'null'], 'required': ['nominal', 'real', 'dataInicial', 'dataFinal'], 'properties': {'real': {'type': 'number', 'description': 'Variação percentual em poder de compra'}, 'nominal': {'type': 'number', 'description': 'Variação percentual sem descontar inflação'}, 'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}}, 'description': 'Variação percentual do perÃ\xadodo em moeda corrente ao lado da variação em moeda constante â\x80\x94 é a comparação que a tool existe para entregar. `null` quando há menos de duas observações deflacionadas.'}, 'derivacao': {'type': 'object', 'required': ['derived', 'motor', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Convenções de cálculo e arredondamento, em prosa'}, 'motor': {'type': 'string', 'description': 'Componente que computou a estatÃ\xadstica'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: há número calculado nesta resposta'}}, 'description': 'Origem dos números calculados: o que é derivado, por qual motor e com quais convenções', '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'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'harmonizacao': {'type': 'object', 'required': ['frequencia', 'agregacao', 'derived', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Descrição em prosa do que foi calculado'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: o valor é derivado, não publicado pela fonte'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'description': 'Convenção usada para agregar os valores de cada perÃ\xadodo'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Frequência de destino'}, 'observacoesOriginais': {'type': 'number', 'description': 'Observações antes da agregação'}}, 'description': 'Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO â\x80\x94 calculado por este servidor, não publicado pelo Banco Central.', 'additionalProperties': False}, 'janelaAplicada': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'motivo'], 'properties': {'motivo': {'type': 'string', 'description': 'Por que a janela foi aplicada e como pedir outra'}, 'dataFinal': {'type': 'string', 'description': 'Fim da janela efetivamente consultada (dd/MM/yyyy)'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio da janela efetivamente consultada (dd/MM/yyyy)'}}, 'description': 'Presente quando o perÃ\xadodo pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['indicador', 'horizonte'], 'properties': {'top5': {'type': 'boolean', 'default': False, 'description': 'Expectativas do Top 5 (as cinco instituições mais assertivas) em vez do consenso; existe nos cinco horizontes'}, 'limite': {'type': 'number', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de coletas a devolver (1-500, padrão 50)'}, 'dataFinal': {'type': 'string', 'description': 'Fim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.'}, 'horizonte': {'enum': ['mensal', 'trimestral', 'anual', 'inflacao_12m', 'inflacao_24m'], 'type': 'string', 'description': 'mensal, trimestral e anual usam `referencia`; inflacao_12m e inflacao_24m são rolantes e não usam'}, 'indicador': {'type': 'string', 'minLength': 2, 'description': "Indicador exatamente como a fonte publica (ex.: 'IPCA', 'IGP-M', 'PIB Total', 'Câmbio'). Veja bcb_focus_referencias."}, 'suavizada': {'type': 'boolean', 'description': 'Só nos horizontes rolantes: série suavizada (true) ou não suavizada (false)'}, 'referencia': {'type': 'string', 'description': 'Alvo da expectativa: MM/yyyy (mensal), T/yyyy (trimestral) ou yyyy (anual). Obrigatória nesses três; proibida nos rolantes.'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['indicador', 'horizonte', 'base', 'filtro', 'totalRegistros', 'expectativas', 'urlConsulta', 'consultadoEm', 'provenance', 'attribution'], 'properties': {'base': {'enum': ['consenso', 'top5'], 'type': 'string'}, 'filtro': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'janelaPadrao'], 'properties': {'dataFinal': {'type': 'string'}, 'suavizada': {'type': ['boolean', 'null']}, 'referencia': {'type': ['string', 'null']}, 'dataInicial': {'type': 'string'}, 'janelaPadrao': {'type': 'boolean', 'description': 'true quando a janela de 30 dias foi assumida'}}, 'description': 'Filtro efetivamente aplicado na origem; nulo onde o parâmetro não foi informado', 'additionalProperties': False}, 'horizonte': {'enum': ['mensal', 'trimestral', 'anual', 'inflacao_12m', 'inflacao_24m'], 'type': 'string'}, 'indicador': {'type': 'string'}, 'observacao': {'type': 'string'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'urlConsulta': {'type': 'string', 'description': 'URL OData consultada, reproduzÃ\xadvel no navegador'}, 'consultadoEm': {'type': 'string', 'description': 'Timestamp ISO 8601 da consulta'}, 'expectativas': {'type': 'array', 'items': {'type': 'object', 'required': ['indicador', 'coletadoEm', 'mediana'], 'properties': {'media': {'type': ['number', 'null'], 'description': 'Média das expectativas'}, 'maximo': {'type': ['number', 'null'], 'description': 'Maior expectativa informada'}, 'minimo': {'type': ['number', 'null'], 'description': 'Menor expectativa informada'}, 'mediana': {'type': ['number', 'null'], 'description': 'Mediana das expectativas'}, 'indicador': {'type': ['string', 'null'], 'description': 'Indicador conforme publicado pela fonte'}, 'suavizada': {'type': ['boolean', 'null'], 'description': 'Só nos horizontes rolantes: indica a série suavizada'}, 'coletadoEm': {'type': ['string', 'null'], 'description': 'Data da coleta das expectativas (yyyy-MM-dd)'}, 'referencia': {'type': ['string', 'null'], 'description': 'Alvo da expectativa (data de referência ou reunião do Copom); nulo nos horizontes rolantes'}, 'baseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo usada pela fonte; nulo no Top 5'}, 'tipoCalculo': {'type': ['string', 'null'], 'description': 'Só no Top 5: tipo de cálculo publicado pela fonte'}, 'desvioPadrao': {'type': ['number', 'null'], 'description': 'Desvio padrão das expectativas'}, 'respondentes': {'type': ['number', 'null'], 'description': 'Número de instituições respondentes; nulo no Top 5, que a fonte não acompanha deste campo'}, 'indicadorDetalhe': {'type': ['string', 'null'], 'description': 'Detalhe do indicador, quando a fonte publica'}, 'coeficienteVariacao': {'type': ['number', 'null'], 'description': 'Só no Top 5 da Selic: único recurso da fonte que publica este campo'}}, 'additionalProperties': False}}, 'totalRegistros': {'type': 'number', 'description': 'Coletas encontradas (contagem client-side)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'escopo': {'enum': ['mensal', 'trimestral', 'anual', 'inflacao_12m', 'inflacao_24m', 'selic'], 'type': 'string', 'description': "Restringe a descoberta a um escopo (opcional). 'selic' descobre as reuniões do Copom para bcb_focus_selic; os demais são os horizontes de bcb_focus_expectativas."}, 'indicador': {'type': 'string', 'description': 'Filtrar por um indicador especÃ\xadfico, para ver em quais escopos ele existe (opcional)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['indicadores', 'referencias', 'escopos', 'janela', 'totalRegistros', 'consultadoEm', 'provenance', 'attribution'], 'properties': {'falhas': {'type': 'array', 'items': {'type': 'object', 'required': ['escopo', 'erro'], 'properties': {'erro': {'type': 'string'}, 'escopo': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Escopos que não responderam nesta consulta'}, 'filtro': {'type': 'object', 'properties': {'escopo': {'type': ['string', 'null'], 'description': 'Um de: mensal, trimestral, anual, inflacao_12m, inflacao_24m, selic; nulo quando a consulta cobriu todos'}, 'indicador': {'type': ['string', 'null']}}, 'description': 'Filtro pedido; nulo onde o parâmetro não foi informado', 'additionalProperties': False}, 'janela': {'type': 'object', 'required': ['dataInicial', 'dataFinal'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}}, 'description': 'Janela de coleta observada para montar as listas', 'additionalProperties': False}, 'escopos': {'type': 'array', 'items': {'type': 'object', 'required': ['escopo', 'tool', 'exigeReferencia', 'temTop5', 'indicadores', 'referencias', 'urlConsulta', 'disponivel'], 'properties': {'tool': {'type': 'string', 'description': 'Tool que consome este escopo'}, 'escopo': {'enum': ['mensal', 'trimestral', 'anual', 'inflacao_12m', 'inflacao_24m', 'selic'], 'type': 'string'}, 'temTop5': {'type': 'boolean'}, 'disponivel': {'type': 'boolean', 'description': 'false quando a origem não respondeu por este escopo â\x80\x94 listas vazias por indisponibilidade, não por ausência de dado'}, 'indicadores': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Indicadores publicados NESTE escopo'}, 'referencias': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Referências publicadas NESTE escopo; vazio nos rolantes, que não têm alvo de calendário'}, 'urlConsulta': {'type': 'string'}, 'exigeReferencia': {'type': 'boolean', 'description': 'true nos horizontes de calendário, onde `referencia` é obrigatória'}, 'formatoReferencia': {'type': ['string', 'null'], 'description': 'Formato da referência; nulo nos horizontes rolantes, que não têm alvo de calendário'}}, 'additionalProperties': False}, 'description': 'Um bloco por escopo: regras do contrato mais o que a fonte publica nele'}, 'observacao': {'type': 'string'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação 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': 'string'}, 'description': 'União dos indicadores de todos os escopos consultados'}, 'referencias': {'type': 'array', 'items': {'type': 'string'}, 'description': 'União das referências de todos os escopos consultados'}, 'consultadoEm': {'type': 'string'}, 'totalRegistros': {'type': 'number'}, 'observacaoFalhas': {'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'top5': {'type': 'boolean', 'default': False, 'description': 'Expectativas do Top 5 em vez do consenso'}, 'limite': {'type': 'number', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de coletas a devolver (1-500, padrão 50)'}, 'reuniao': {'type': 'string', 'description': 'Reunião do Copom no formato R1/2026 (opcional; sem ela, todas as reuniões da janela)'}, 'dataFinal': {'type': 'string', 'description': 'Fim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['base', 'filtro', 'totalRegistros', 'expectativas', 'urlConsulta', 'consultadoEm', 'provenance', 'attribution'], 'properties': {'base': {'enum': ['consenso', 'top5'], 'type': 'string'}, 'filtro': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'janelaPadrao'], 'properties': {'reuniao': {'type': ['string', 'null']}, 'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}, 'janelaPadrao': {'type': 'boolean'}}, 'description': 'Filtro efetivamente aplicado; `reuniao` é nula quando não foi informada', 'additionalProperties': False}, 'observacao': {'type': 'string'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'urlConsulta': {'type': 'string'}, 'consultadoEm': {'type': 'string'}, 'expectativas': {'type': 'array', 'items': {'type': 'object', 'required': ['indicador', 'coletadoEm', 'mediana'], 'properties': {'media': {'type': ['number', 'null'], 'description': 'Média das expectativas'}, 'maximo': {'type': ['number', 'null'], 'description': 'Maior expectativa informada'}, 'minimo': {'type': ['number', 'null'], 'description': 'Menor expectativa informada'}, 'mediana': {'type': ['number', 'null'], 'description': 'Mediana das expectativas'}, 'indicador': {'type': ['string', 'null'], 'description': 'Indicador conforme publicado pela fonte'}, 'suavizada': {'type': ['boolean', 'null'], 'description': 'Só nos horizontes rolantes: indica a série suavizada'}, 'coletadoEm': {'type': ['string', 'null'], 'description': 'Data da coleta das expectativas (yyyy-MM-dd)'}, 'referencia': {'type': ['string', 'null'], 'description': 'Alvo da expectativa (data de referência ou reunião do Copom); nulo nos horizontes rolantes'}, 'baseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo usada pela fonte; nulo no Top 5'}, 'tipoCalculo': {'type': ['string', 'null'], 'description': 'Só no Top 5: tipo de cálculo publicado pela fonte'}, 'desvioPadrao': {'type': ['number', 'null'], 'description': 'Desvio padrão das expectativas'}, 'respondentes': {'type': ['number', 'null'], 'description': 'Número de instituições respondentes; nulo no Top 5, que a fonte não acompanha deste campo'}, 'indicadorDetalhe': {'type': ['string', 'null'], 'description': 'Detalhe do indicador, quando a fonte publica'}, 'coeficienteVariacao': {'type': ['number', 'null'], 'description': 'Só no Top 5 da Selic: único recurso da fonte que publica este campo'}}, 'additionalProperties': False}}, 'observacaoEixo': {'type': 'string'}, 'totalRegistros': {'type': 'number'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['consultadoEm', 'indicadores', 'provenance', 'attribution'], 'properties': {'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação 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': ['indicador', 'codigo'], 'properties': {'data': {'type': 'string', 'description': 'Data da observação'}, 'erro': {'type': 'string', 'description': 'Mensagem de erro quando o indicador não pôde ser obtido'}, 'valor': {'type': 'number', 'description': 'Valor mais recente'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'indicador': {'type': 'string', 'description': 'Nome do indicador'}}, 'additionalProperties': False}, 'description': 'Lista de indicadores com seus valores mais recentes'}, 'consultadoEm': {'type': 'string', 'description': 'Timestamp ISO 8601 da consulta'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigo'], 'properties': {'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['codigo', 'nome', 'fonte', 'provenance', 'attribution'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série'}, 'fonte': {'type': 'string', 'description': 'Fonte dos dados'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'categoria': {'type': 'string', 'description': 'Categoria econômica'}, 'observacao': {'type': 'string', 'description': 'Observação sobre a origem dos metadados'}, 'provenance': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'description': 'Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)'}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'ultimoValor': {'type': 'object', 'required': ['data', 'valor'], 'properties': {'data': {'type': 'string', 'description': 'Data da observação (dd/MM/yyyy)'}, 'valor': {'type': 'number', 'description': 'Valor numérico da observação'}}, 'description': 'Ã\x9altima observação disponÃ\xadvel', 'additionalProperties': False}, 'urlConsulta': {'type': 'string', 'description': 'URL da API do BCB para consulta completa'}, 'urlUltimos10': {'type': 'string', 'description': 'URL da API do BCB para os últimos 10 valores'}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade da série'}, 'periodicidadeInferida': {'type': 'boolean', 'description': 'Presente e true quando a periodicidade foi inferida do espaçamento das observações'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'categoria': {'type': 'string', 'description': 'Filtrar por categoria: Juros, Inflação, Câmbio, Atividade Econômica, Emprego, Fiscal, Setor Externo, Crédito, Agregados Monetários, Poupança, Ã\x8dndices de Mercado, Expectativas'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['totalSeries', 'categorias', 'series', 'provenance', 'attribution'], 'properties': {'series': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'unidade': {'type': 'string', 'description': "Unidade de medida publicada pelo portal. Ausente nas séries sem dataset (fonteNome 'medido')."}, 'categoria': {'type': 'string', 'description': 'Categoria econômica'}, 'fonteNome': {'enum': ['portal', 'medido'], 'type': 'string', 'description': "Procedência do `nome`: 'portal' = transcrito do dataset da série no Portal de Dados Abertos do BCB; 'medido' = a série não tem dataset no portal, o nome é herdado e só a periodicidade e a ordem de grandeza foram verificadas contra a origem."}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade (Diária, Mensal, etc.)'}}, 'description': 'Identificação da série temporal', 'additionalProperties': False}}, {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'unidade': {'type': 'string', 'description': "Unidade de medida publicada pelo portal. Ausente nas séries sem dataset (fonteNome 'medido')."}, 'categoria': {'type': 'string', 'description': 'Categoria econômica'}, 'fonteNome': {'enum': ['portal', 'medido'], 'type': 'string', 'description': "Procedência do `nome`: 'portal' = transcrito do dataset da série no Portal de Dados Abertos do BCB; 'medido' = a série não tem dataset no portal, o nome é herdado e só a periodicidade e a ordem de grandeza foram verificadas contra a origem."}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade (Diária, Mensal, etc.)'}}, 'description': 'Identificação da série temporal', 'additionalProperties': False}}}], 'description': 'Séries encontradas. Objeto agrupado por categoria quando sem filtro; array plano quando filtrado por categoria.'}, 'categorias': {'type': 'number', 'description': 'Quantidade de categorias distintas'}, 'observacao': {'type': 'string', 'description': 'Dica de uso'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalSeries': {'type': 'number', 'description': 'Quantidade total de séries retornadas'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigo'], 'properties': {'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'quantidade': {'type': 'number', 'default': 10, 'maximum': 1000, 'minimum': 1, 'description': 'Quantidade de valores a retornar (1-1000, padrão: 10). A API do BCB tem teto de 20 no endpoint nativo; acima disso o servidor busca por janela de datas e devolve os N últimos.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['serie', 'totalRegistros', 'dados', 'provenance', 'attribution'], 'properties': {'dados': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'valor'], 'properties': {'data': {'type': 'string', 'description': 'Data da observação (dd/MM/yyyy)'}, 'valor': {'type': 'number', 'description': 'Valor numérico da observação'}}, 'additionalProperties': False}, 'description': 'Observações mais recentes'}, 'serie': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'categoria': {'type': 'string', 'description': 'Categoria econômica'}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade (Diária, Mensal, etc.)'}, 'periodicidadeInferida': {'type': 'boolean', 'description': 'Presente e true quando a periodicidade foi inferida do espaçamento das observações, e não lida do catálogo â\x80\x94 a API do SGS não publica metadados de série.'}}, 'description': 'Identificação da série temporal', 'additionalProperties': False}, 'chunking': {'type': 'object', 'required': ['janelas', 'fatiaAnos'], 'properties': {'janelas': {'type': 'number', 'description': 'Quantidade de janelas consultadas'}, 'fatiaAnos': {'type': 'number', 'description': 'Largura máxima de cada janela, em anos'}}, 'description': 'Presente quando a consulta foi fatiada em várias requisições Ã\xa0 origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.', 'additionalProperties': False}, 'observacao': {'type': 'string', 'description': 'Mensagem informativa (ex.: quando não há dados)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'totalRegistros': {'type': 'number', 'description': 'Quantidade de observações retornadas'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigo'], 'properties': {'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB (ex: 433 para IPCA mensal, 11 para Selic)'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'default': 'ultimo', 'description': 'Como agregar os valores de cada perÃ\xadodo quando `frequencia` é informada. `ultimo` (padrão) serve a nÃ\xadvel de preço, taxa e Ã\xadndice; `soma` a fluxo; `acumulada` a séries que JÃ\x81 SÃ\x83O variação percentual (IPCA mensal, por exemplo), compondo geometricamente â\x80\x94 somar 12 variações mensais NÃ\x83O dá a inflação do ano.'}, 'dataFinal': {'type': 'string', 'description': 'Data final no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Opcional: reamostra a série para esta frequência antes de responder (só agrega para perÃ\xadodos MAIORES; pedir frequência mais fina que a da série é recusado). Ã\x9atil para comparar séries de periodicidades diferentes.'}, 'dataInicial': {'type': 'string', 'description': 'Data inicial no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['serie', 'totalRegistros', 'dados', 'provenance', 'attribution'], 'properties': {'dados': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'valor'], 'properties': {'data': {'type': 'string', 'description': 'Data da observação (dd/MM/yyyy)'}, 'valor': {'type': 'number', 'description': 'Valor numérico da observação'}, 'observacoes': {'type': 'number', 'description': 'Só em resposta harmonizada: observações de origem agregadas neste ponto'}}, 'additionalProperties': False}, 'description': 'Observações históricas'}, 'serie': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string', 'description': 'Nome da série'}, 'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'categoria': {'type': 'string', 'description': 'Categoria econômica'}, 'periodicidade': {'type': 'string', 'description': 'Periodicidade (Diária, Mensal, etc.)'}, 'periodicidadeInferida': {'type': 'boolean', 'description': 'Presente e true quando a periodicidade foi inferida do espaçamento das observações, e não lida do catálogo â\x80\x94 a API do SGS não publica metadados de série.'}}, 'description': 'Identificação da série temporal', 'additionalProperties': False}, 'chunking': {'type': 'object', 'required': ['janelas', 'fatiaAnos'], 'properties': {'janelas': {'type': 'number', 'description': 'Quantidade de janelas consultadas'}, 'fatiaAnos': {'type': 'number', 'description': 'Largura máxima de cada janela, em anos'}}, 'description': 'Presente quando a consulta foi fatiada em várias requisições Ã\xa0 origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.', 'additionalProperties': False}, 'observacao': {'type': 'string', 'description': 'Mensagem informativa (ex.: quando não há dados)'}, 'provenance': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}, 'harmonizacao': {'type': 'object', 'required': ['frequencia', 'agregacao', 'derived', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Descrição em prosa do que foi calculado'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: o valor é derivado, não publicado pela fonte'}, 'agregacao': {'enum': ['ultimo', 'primeiro', 'media', 'soma', 'acumulada'], 'type': 'string', 'description': 'Convenção usada para agregar os valores de cada perÃ\xadodo'}, 'frequencia': {'enum': ['mensal', 'trimestral', 'anual'], 'type': 'string', 'description': 'Frequência de destino'}, 'observacoesOriginais': {'type': 'number', 'description': 'Observações antes da agregação'}}, 'description': 'Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO â\x80\x94 calculado por este servidor, não publicado pelo Banco Central.', 'additionalProperties': False}, 'periodoFinal': {'type': 'string', 'description': 'Data da última observação'}, 'janelaAplicada': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'motivo'], 'properties': {'motivo': {'type': 'string', 'description': 'Por que a janela foi aplicada e como pedir outra'}, 'dataFinal': {'type': 'string', 'description': 'Fim da janela efetivamente consultada (dd/MM/yyyy)'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio da janela efetivamente consultada (dd/MM/yyyy)'}}, 'description': 'Presente quando o perÃ\xadodo pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).', 'additionalProperties': False}, 'periodoInicial': {'type': 'string', 'description': 'Data da primeira observação'}, 'totalRegistros': {'type': 'number', 'description': 'Quantidade de observações retornadas'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['codigo'], 'properties': {'codigo': {'type': 'number', 'description': 'Código da série no SGS/BCB'}, 'periodos': {'type': 'number', 'description': 'Alternativa: calcular variação dos últimos N perÃ\xadodos (ignora datas se informado). Acima de 20 o servidor busca por janela de datas, porque o endpoint nativo do BCB tem esse teto.'}, 'dataFinal': {'type': 'string', 'description': 'Data final (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o último valor disponÃ\xadvel.'}, 'dataInicial': {'type': 'string', 'description': 'Data inicial (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o primeiro valor disponÃ\xadvel.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['serie', 'periodo', 'analise', 'estatisticas', 'derivacao', 'provenance', 'attribution'], 'properties': {'serie': {'type': 'object', 'required': ['codigo', 'nome'], 'properties': {'nome': {'type': 'string'}, 'codigo': {'type': 'number'}, 'categoria': {'type': 'string'}}, 'description': 'Identificação da série', 'additionalProperties': False}, 'analise': {'type': 'object', 'required': ['metodo', 'valorInicial', 'valorFinal', 'diferencaAbsoluta', 'variacaoPercentual', 'variacaoFormatada'], 'properties': {'metodo': {'enum': ['nivel', 'encadeamento'], 'type': 'string', 'description': 'Como a variação foi medida: `nivel` = (último â\x88\x92 primeiro) / primeiro, para série de nÃ\xadvel; `encadeamento` = acumulado composto de todas as observações, para série que já é uma variação percentual por perÃ\xadodo (IPCA, INPC, IGP-M mensais e os núcleos/grupos do IPCA do catálogo; Selic e CDI acumulados no mês, 4390/4391; rentabilidade da poupança, 25/195 â\x80\x94 nesta, uma observação por mês). A detecção cobre as séries de variação do catálogo curado; código fora dele é tratado como nÃ\xadvel.'}, 'valorFinal': {'type': 'number', 'description': 'Ã\x9altima observação do perÃ\xadodo, verbatim da fonte'}, 'valorInicial': {'type': 'number', 'description': 'Primeira observação do perÃ\xadodo, verbatim da fonte'}, 'diferencaAbsoluta': {'type': ['number', 'null'], 'description': 'valorFinal â\x88\x92 valorInicial em série de nÃ\xadvel; NULO em série encadeada, onde não se aplica'}, 'variacaoFormatada': {'type': 'string'}, 'variacaoPercentual': {'type': 'number', 'description': 'Variação (nÃ\xadvel) ou acumulado (encadeamento), em %'}}, 'description': 'Resultado da variação no perÃ\xadodo. Em `metodo: "nivel"` é a variação entre o primeiro e o último valor; em `metodo: "encadeamento"` (série que já é variação por perÃ\xadodo, como IPCA e IGP-M mensais) é o acumulado composto de todas as observações', 'additionalProperties': False}, 'periodo': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'totalPeriodos'], 'properties': {'dataFinal': {'type': 'string'}, 'dataInicial': {'type': 'string'}, 'totalPeriodos': {'type': 'number'}}, 'description': 'Janela temporal analisada', 'additionalProperties': False}, 'chunking': {'type': 'object', 'required': ['janelas', 'fatiaAnos'], 'properties': {'janelas': {'type': 'number', 'description': 'Quantidade de janelas consultadas'}, 'fatiaAnos': {'type': 'number', 'description': 'Largura máxima de cada janela, em anos'}}, 'description': 'Presente quando a consulta foi fatiada em várias requisições Ã\xa0 origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.', 'additionalProperties': False}, 'derivacao': {'type': 'object', 'required': ['derived', 'motor', 'nota'], 'properties': {'nota': {'type': 'string', 'description': 'Convenções de cálculo e arredondamento, em prosa'}, 'motor': {'type': 'string', 'description': 'Componente que computou a estatÃ\xadstica'}, 'derived': {'type': 'boolean', 'description': 'Sempre true: há número calculado nesta resposta'}}, 'description': 'Origem dos números calculados: o que é derivado, por qual motor e com quais convenções', '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'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação 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': ['maximo', 'minimo', 'media', 'amplitude'], 'properties': {'media': {'type': 'number'}, 'maximo': {'type': 'number'}, 'minimo': {'type': 'number'}, 'amplitude': {'type': 'number'}}, 'description': 'EstatÃ\xadsticas descritivas dos valores no perÃ\xadodo', 'additionalProperties': False}, 'janelaAplicada': {'type': 'object', 'required': ['dataInicial', 'dataFinal', 'motivo'], 'properties': {'motivo': {'type': 'string', 'description': 'Por que a janela foi aplicada e como pedir outra'}, 'dataFinal': {'type': 'string', 'description': 'Fim da janela efetivamente consultada (dd/MM/yyyy)'}, 'dataInicial': {'type': 'string', 'description': 'InÃ\xadcio da janela efetivamente consultada (dd/MM/yyyy)'}}, 'description': 'Presente quando o perÃ\xadodo pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Identificador de um documento devolvido por `search`'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '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': 'array', 'items': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'description': 'Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)'}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Termos de busca em linguagem natural ou palavras-chave (acentos e caixa são ignorados)'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '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': 'array', 'items': {'type': 'object', 'required': ['source', 'source_url', 'data_vintage', 'retrieved_at', 'retrieval', 'citation', 'license'], 'properties': {'source': {'type': 'string', 'description': 'Fonte oficial do dado'}, 'license': {'type': ['string', 'null'], 'description': 'Regime legal do dado (id SPDX quando há, senão o nome da licença)'}, 'citation': {'type': 'string', 'description': 'Citação/atribuição pronta para uso'}, 'retrieval': {'oneOf': [{'type': 'object', 'required': ['requests', 'attempts', 'anomalies', 'unstable'], 'properties': {'attempts': {'type': 'integer', 'minimum': 1, 'description': 'Tentativas somadas, incluindo as repetidas (>= requests)'}, 'requests': {'type': 'integer', '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', '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'}}, 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade', 'additionalProperties': False}, {'type': 'null'}], 'description': 'Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede'}, 'source_url': {'type': 'string', 'description': 'URL canônica que reproduz a consulta na fonte'}, 'data_vintage': {'type': ['string', 'null'], 'description': 'Competência/vintage do dado segundo a fonte; null quando a fonte não expõe'}, 'retrieved_at': {'type': 'string', 'description': 'Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante'}}, 'description': 'Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença', 'additionalProperties': False}, 'description': 'Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)'}, 'attribution': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs canônicas das fontes desta resposta (lista de atribuição)'}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
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…
EventTrader Research (read-only)
Offers read-only research on funds, event markets, order books, arena markets, crypto pools, backtests, and related financial ana…
World Monitor
Delivers live geopolitical, conflict, country-risk, market, energy, climate, aviation, supply-chain, and macroeconomic intelligen…
Slacking.biz — SEC Financial Data + US Economics + Demographics + FX
Provides financial, economic, demographic, foreign-exchange, regulatory, and company research data from public sources.
TipRanks
Provides market research and investment data covering stocks, ETFs, commodities, crypto, forex, analyst ratings, news, earnings, …
welcome
Provides market data and educational investment research for stocks, ETFs, and crypto, including fundamentals, prices, macro indi…
Currencyformat
Formats localized numbers and currencies and also provides routed access to structured financial, market, government, and researc…