Dados B3
Brazilian stock (B3) fundamentals: ratios, dividends, scores, FIIs, ETFs, BDRs. Open methodology.
Should I use this
Quality & Safety
Findings (25)
- HIGH
- MEDIUMin multiplos
- MEDIUMin dividendos
- MEDIUMin precos
- MEDIUMin desempenho
- MEDIUMin tesouro_direto
- MEDIUMin fundos_investimento
- MEDIUMin fundos_da_acao
- MEDIUMin metodologia
- MEDIUMin dicionario
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"dados-b3": {
"url": "https://dados-b3.onrender.com/mcp/"
}
}
}Remote endpoints
https://dados-b3.onrender.com/mcp/streamable-httphttps://dadosb3.com/mcp/streamable-httpWhat it can do
Tool inventory
Tools (36)
🟢listar_empresas
Lista as companhias abertas brasileiras (AÇÕES), com nome, CNPJ e ticker quando resolvido. A contagem vem na resposta — nunca escrita aqui, que é lida por clientes de IA e envelheceria sem ninguém ver. Só ações. Fundo imobiliário NÃO entra nesta lista: para FII use `fiis_ranking` (a lista) ou `fii` (um fundo). Gratuito, sem chave.
Input Schema
{
"type": "object",
"properties": {},
"title": "listar_empresasArguments"
}🟢indicadores_anuais(ticker, chave_api)
Série anual (2010–hoje) de ROIC, ROE, margens, crescimento e dívida líquida/EBITDA de uma AÇÃO da B3, com flags de qualidade. Só ações. Ticker de fundo imobiliário (terminado em 11, como MXRF11) NÃO se consulta aqui — FII não tem ROIC nem EBITDA, tem P/VP, DY e vacância: use `fii`. Banco e seguradora entram, mas sem ROIC/EBITDA, que não se aplicam ao plano de contas deles. ABERTA: qualquer ticker, sem chave, um por vez (sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave). Traz `citacao` pronta para citar.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "indicadores_anuaisArguments"
}🟢multiplos(ticker, chave_api)
Múltiplos ponto-no-tempo de uma AÇÃO (P/L, P/VP, EV/EBITDA anuais; P/L TTM trimestral) — preço do 1º pregão APÓS a publicação real do balanço, sem vazamento de informação futura. Só ações. Para o P/VP de um fundo imobiliário use `fii`, que o calcula sobre o informe mensal da CVM, não sobre balanço trimestral. ABERTA: qualquer ticker, sem chave, um por vez, pelo método atual (sem `as_of`; o ponto-no-tempo por data passada exige chave na REST). Sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave. Traz `citacao`.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "multiplosArguments"
}🟢dividendos(ticker, chave_api)
Histórico de proventos em dinheiro (dividendos e JCP) de uma empresa da B3: valor por ação, data de aprovação, data-com, preço na data-com, parcela e data de pagamento, mais resumo anual e dividend yield 12 meses (com o total do ano corrente até hoje e do ano anterior fechado). ABERTA para todos os tickers, sem chave, um por vez (a mesma regra da REST /empresas/TICKER/dividendos; o mesmo dado é público em dadosb3.com/acoes/TICKER/dividendos). Sem chave: 2000 consultas por hora e 20000 por dia, por endereço; chave_api é opcional. Traz `citacao`: cite-a ao usar o número. Ticker de companhia que SAIU da bolsa (ENBR3, BIDI4...) devolve o bloco `saiu_da_bolsa` (último pregão e link) e os proventos que ela declarou à CVM (Formulário de Referência: montante em R$ por classe e exercício, até ~2021; Relatório Proventos do IPE: valor por ação e data-com, desde 2024), com `cobertura.fontes` dizendo a fonte e o período; se não declarou nenhum, devolve `erro` com `saiu_da_bolsa` (ausência DESCONHECIDA, não "não pagou").
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "dividendosArguments"
}🟢precos(ticker, de, ate, limite, campos, ...)
Série DIÁRIA de preços de uma AÇÃO numa chamada só (abertura, máxima, mínima, fechamento, médio, volume, quantidade, negócios), do COTAHIST da B3, do mais antigo ao mais recente. `de`/`ate` em AAAA-MM-DD recortam; `limite` (padrão 1500, máximo 20000) corta a partir do mais antigo e avisa. O preço NÃO é ajustado: os eventos societários do período vêm junto (`eventos`) para quem monta o retorno total. WEGE3 gratuita; demais tickers SEM chave devolvem uma AMOSTRA (últimos 30 pregões) com um `aviso` que diz como ter a série inteira (chave grátis em `chave_api`) e que `desempenho` responde sem chave; com chave, a série completa. ★ FORMATO COMPACTO (04/10/2026). Cinco anos de série completa pesam ~250 KB, mais do que cabe no contexto de um cliente de IA (o ChatGPT recebeu os 1.248 pregões e não conseguiu processá-los). Por padrão a resposta traz só `data,fechamento` em forma de colunas (`colunas` + `linhas`, ~28 KB). Peça mais com `campos` (lista separada por vírgula entre data, ticker, abertura, maxima, minima, fechamento, medio, volume, quantidade, negocios) ou `campos="todos"` para a lista completa de objetos em `serie`.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
},
"limite": {
"default": 1500,
"title": "Limite",
"type": "integer"
},
"campos": {
"default": "data,fechamento",
"title": "Campos",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "precosArguments"
}🟢desempenho(ticker, de, ate, media_curta, media_longa, ...)
Desempenho de uma AÇÃO num período em POUCOS números, calculado no servidor: retorno, drawdown máximo (com as datas) e volatilidade do comprar-e-manter, e o mesmo para um cruzamento de médias móveis (padrão 21 × 100). Padrão: últimos 5 anos. Preço AJUSTADO por eventos societários; em PREÇO e, quando há proventos registrados, também o retorno TOTAL (`retorno_total_pct`: dividendos, JCP e rendimentos reinvestidos no data-ex); SEM custos (as `premissas` vêm na resposta). Use esta ferramenta para "essa estratégia valeu a pena?" em vez de baixar a série diária. Medida do passado, não recomendação. ABERTA para todos os tickers, sem chave (degustação); chave_api é aceita mas desnecessária.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
},
"media_curta": {
"default": 21,
"title": "Media Curta",
"type": "integer"
},
"media_longa": {
"default": 100,
"title": "Media Longa",
"type": "integer"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "desempenhoArguments"
}🟢indice(codigo, serie, de, ate, media_curta, ...)
Índices da B3 (IBOV, IFIX, SMLL, IDIV, IBXX...): o benchmark para comparar um papel ou uma estratégia. Padrão: o DESEMPENHO do índice num período (retorno, queda máxima, volatilidade; comprar e manter e cruzamento de médias 21 × 100), últimos 5 anos, ABERTO sem chave. `serie=True` devolve o fechamento DIÁRIO em pontos como colunas (`data`, `fechamento`): sem chave vem uma AMOSTRA dos últimos 30 pregões com `aviso`; com chave_api, a série inteira. `codigo=""` lista os índices disponíveis e a cobertura de cada um. Índice de RETORNO TOTAL (a B3 reinveste os proventos nos pontos); não é recomendação.
Input Schema
{
"type": "object",
"properties": {
"codigo": {
"default": "IBOV",
"title": "Codigo",
"type": "string"
},
"serie": {
"default": false,
"title": "Serie",
"type": "boolean"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
},
"media_curta": {
"default": 21,
"title": "Media Curta",
"type": "integer"
},
"media_longa": {
"default": 100,
"title": "Media Longa",
"type": "integer"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"title": "indiceArguments"
}🟢acessos_telecom(servico, cnpj, de, ate)
Acessos de telefonia móvel e de banda larga fixa por operadora, mês a mês (Anatel, dados abertos; licença CC BY-ND 3.0 declarada pela Anatel, uso acertado com o órgão e informado pelo dono em 01/11/2026). ABERTO, sem chave. Sem argumentos: o ranking de cada serviço no mês consolidado, com a participação no total e a variação em 12 meses (contas nossas). `servico` (movel ou banda_larga) + `cnpj` (14 dígitos, ou TOTAL para a soma de todas as operadoras) devolve a SÉRIE MENSAL daquela operadora, recortada por `de`/`ate` (AAAA-MM). Telefonia móvel não conta M2M nem ponto de serviço (como o total oficial da Anatel). O mês mais novo é preliminar. O campo `ticker` só vem preenchido quando o CNPJ completo da operadora é o de uma empresa com papel negociado (Vivo/VIVT3, TIM/TIMS3); do contrário é nulo (a Claro não é listada). Número da Anatel somado por operadora por nós; a resposta traz a fonte, a licença, a atribuição e a citação. Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"servico": {
"default": "",
"title": "Servico",
"type": "string"
},
"cnpj": {
"default": "",
"title": "Cnpj",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"title": "acessos_telecomArguments"
}🟢tesouro_direto(titulo, vencimento, data, de, ate)
Taxas e preços diários dos títulos do Tesouro Direto (Tesouro Nacional, Tesouro Transparente, ODbL 1.0), desde 31/12/2004: a curva de juros pública por vencimento. ABERTO, sem chave. Sem argumentos: todos os títulos no dia-base mais recente. `titulo` (selic, prefixado, prefixado-juros, ipca, ipca-juros, renda-mais, educa-mais, igpm-juros) filtra a família; `data` (AAAA-MM-DD) pede o último dia-base até essa data; `titulo` + `vencimento` (AAAA-MM-DD) devolve a SÉRIE DIÁRIA daquele título, recortada por `de`/`ate`. Compra e venda são os rótulos da fonte (do ponto de vista do investidor), taxas indicativas da manhã. Prefixado = taxa NOMINAL a.a.; IPCA+, Renda+ e Educa+ = taxa REAL a.a. (acima da inflação); Selic = taxa sobre a Selic: nominal e real NÃO se comparam diretamente. Número do Tesouro, sem recálculo; a resposta traz a fonte, a licença e a citação. Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"titulo": {
"default": "",
"title": "Titulo",
"type": "string"
},
"vencimento": {
"default": "",
"title": "Vencimento",
"type": "string"
},
"data": {
"default": "",
"title": "Data",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"title": "tesouro_diretoArguments"
}🟢producao_petroleo_gas(nivel, periodo, cnpj, operador, campo, ...)
Produção de petróleo e gás natural por operador e por campo (ANP, dados abertos, licença declarada CC BY-ND 3.0, uso acertado com a ANP). ABERTO, sem chave. Taxa MÉDIA DIÁRIA do mês: petróleo em bbl/dia, gás em Mm³/dia (mil m³). Sem argumentos: os operadores do último mês da base, com a soma dos poços, a participação no total nacional e a variação contra o mesmo mês do ano anterior (contas nossas). `nivel=campo` traz os campos; `periodo` (AAAA-MM) pede outro mês. `cnpj` (14 dígitos), `operador` (nome na ANP) ou `campo` devolvem a SÉRIE MENSAL dele, recortada por `de`/`ate` (AAAA-MM). Até dez/2023 é o arquivo por poço da ANP (mar e terra); de 2024 em diante os operadores vêm do Boletim Mensal da ANP e o dado por poço de exportação manual da consulta pública, com cobertura PARCIAL: cada linha traz `fonte` e `escopo` (`completo`, `somente_mar`), a resposta traz `cobertura_manual` com os meses que faltam, e a variação em 12 meses só existe entre meses de mesmo escopo. O `cnpj` vem da relação de concessionários da ANP pelo contrato e só quando o nome do operador confere; o `ticker` só vem quando esse CNPJ completo é o de uma empresa com papel negociado (operador SPE ou consórcio não liga). Número da ANP; a resposta traz a fonte, a licença, o acordo de uso e a citação. Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"nivel": {
"default": "operador",
"title": "Nivel",
"type": "string"
},
"periodo": {
"default": "",
"title": "Periodo",
"type": "string"
},
"cnpj": {
"default": "",
"title": "Cnpj",
"type": "string"
},
"operador": {
"default": "",
"title": "Operador",
"type": "string"
},
"campo": {
"default": "",
"title": "Campo",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"title": "producao_petroleo_gasArguments"
}🟢tarifas_energia(cnpj, de, ate)
Tarifa residencial de energia elétrica por distribuidora (ANEEL, dados abertos, ODbL 1.0), desde 2010: TUSD e TE em R$/MWh, SEM tributos (ICMS, PIS e COFINS ficam de fora), subgrupo B1 convencional. ABERTO, sem chave. Sem argumentos: a tarifa mais recente de cada distribuidora, com a variação do total contra o reajuste anterior (conta nossa) e o resumo (mais barata, mediana, mais cara entre as que têm tarifa em vigor). `cnpj` (14 dígitos) devolve todas as vigências de UMA distribuidora, recortadas por `de`/`ate` (AAAA-MM-DD, início da vigência). O campo `ticker` só vem preenchido quando o CNPJ completo da distribuidora é o de uma empresa com papel negociado; do contrário é nulo, porque a distribuidora costuma ser subsidiária da companhia listada e o grupo não é deduzido pelo nome. Número da ANEEL; a resposta traz a fonte, a licença e a citação. Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"cnpj": {
"default": "",
"title": "Cnpj",
"type": "string"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"title": "tarifas_energiaArguments"
}🟢fundos_investimento(cnpj, busca, limite)
Fundos de investimento registrados na CVM (renda fixa, multimercado, ações, cambial; ~25 mil), do Informe Diário da CVM (dados abertos, ODbL 1.0): cota, patrimônio líquido (PL), cotistas e captação e resgate do mês. ABERTO, sem chave. Sem argumentos: no mês de referência (o mais novo já fechado), os `limite` maiores fundos por PL, os que mais captaram e os que mais perderam (captação líquida = captação menos resgate, conta nossa). `cnpj` (14 dígitos, da classe ou do fundo): o nome, a classificação, o gestor e a série de 13 meses (foto do último dia informado de cada mês, soma do mês dos fluxos e a variação da cota no mês, conta nossa que NÃO é a rentabilidade oficial). `busca`: procura pelo nome (sem acento e sem caixa) ou pelo começo do CNPJ. O PL de todos os fundos não é somado (fundo de cotas contaria duas vezes). Número que o administrador informou à CVM; a resposta traz a fonte, a licença e a citação. Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"cnpj": {
"default": "",
"title": "Cnpj",
"type": "string"
},
"busca": {
"default": "",
"title": "Busca",
"type": "string"
},
"limite": {
"default": 20,
"title": "Limite",
"type": "integer"
}
},
"title": "fundos_investimentoArguments"
}🟢quanto_rendeu(ticker)
Quanto viraram R$ 1.000 numa AÇÃO, FII ou ETF há 1, 3, 5 e 10 anos: só com o preço e com os proventos reinvestidos, contra o Ibovespa (IFIX no FII) e a meta Selic, até o último fechamento. São EXATAMENTE os números da página https://dadosb3.com/quanto-rendeu/{ticker} (cada janela começa no mesmo dia do último fechamento, N anos antes); para outro período, use `desempenho` com `de`/`ate`. ABERTO, sem chave. Medida do passado, sem custos nem impostos; não é recomendação. Devolve o texto em markdown e a URL para citar.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "quanto_rendeuArguments"
}🟢fundos_da_acao(ticker, limite, chave_api)
Quais FUNDOS DE INVESTIMENTO têm uma AÇÃO na carteira e quanto (valor e quantidade), e quem aumentou ou reduziu a posição no último mês disponível: a Composição e Diversificação das Aplicações (CDA) que os fundos entregam à CVM (bloco de ações; 13 meses). `limite` (1 a 500, padrão 20) corta a lista dos maiores por valor; contadores e maiores movimentos cobrem todos os fundos. A carteira sai depois do fim do mês: a data de referência vem na resposta. Licença da fonte: ODbL 1.0. WEGE3 é aberto; as demais ações seguem a regra de chave da página. Não é recomendação.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"limite": {
"default": 20,
"title": "Limite",
"type": "integer"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "fundos_da_acaoArguments"
}🟢bancos(ticker)
Indicadores dos BANCOS listados, do IF.data do Banco Central (conglomerado prudencial, ODbL 1.0): índice de Basileia, inadimplência acima de 90 dias, ativos problemáticos, carteira de crédito, lucro e patrimônio. Sem `ticker`: o ÚLTIMO trimestre de cada banco, na ordem do tamanho da carteira de crédito (a mesma tabela de https://dadosb3.com/bancos). Com `ticker` (ITUB4, BBDC4, BBAS3, SANB11...): a série trimestral daquele banco. ABERTO, sem chave. Número publicado pelo Banco Central, sem recálculo (a inadimplência é a divisão de duas linhas dele). Não é recomendação de investimento.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"default": "",
"title": "Ticker",
"type": "string"
}
},
"title": "bancosArguments"
}🟢saiu_da_bolsa(ano)
Companhias que SAÍRAM DA BOLSA (deixaram de ser negociadas na B3), por ano do ÚLTIMO PREGÃO: as que tiveram o registro de companhia aberta cancelado na CVM (com data e motivo da CVM) e as que pararam de negociar com o registro ainda ativo (mudança para fora, fusão, OPA: JBS, BRF, Santos Brasil...). Sem `ano`: os 3 anos mais recentes. Com `ano`: só aquele ano (dentro desses 3). ABERTO, sem chave. É a página https://dadosb3.com/saiu-da-bolsa. Não é recomendação.
Input Schema
{
"type": "object",
"properties": {
"ano": {
"default": 0,
"title": "Ano",
"type": "integer"
}
},
"title": "saiu_da_bolsaArguments"
}🟢bdr(ticker, tipo, serie, de, ate, ...)
BDRs negociados na B3 (recibos em reais de ações ou ETFs listados lá fora: AAPL34, NVDC34, IVVB39...). `ticker=""` LISTA os BDRs que negociaram no último ano, com tipo (DRN não patrocinado; DR1/DR2/DR3 patrocinado nível I/II/III; DRE BDR de ETF), último fechamento e liquidez média — aberto; `tipo=` filtra. Com `ticker`: cadastro da B3, último pregão, rentabilidade com e sem proventos (1 mês a 10 anos, em reais, já com o câmbio), proventos por BDR em R$ e desdobramentos com a conferência pelo preço. `serie=True` devolve o fechamento DIÁRIO em colunas (sem chave, amostra dos últimos 30 pregões). AAPL34 é aberto; os demais exigem chave_api. NÃO tem o código da ação lá fora nem a proporção BDR:ação. Não é recomendação.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"default": "",
"title": "Ticker",
"type": "string"
},
"tipo": {
"default": "",
"title": "Tipo",
"type": "string"
},
"serie": {
"default": false,
"title": "Serie",
"type": "boolean"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"title": "bdrArguments"
}🟢eventos(ticker, chave_api)
Desdobramentos, grupamentos, bonificações e CISÕES de uma empresa, com a FONTE de cada um (declarado pela B3 ou achado por nós) e o que o preço disse (confirmou, não distingue, discorda). Eventos do mesmo dia são uma operação: `efeito_liquido_do_dia` é o multiplicador do grupo (0,01 × 100 = 1,0). WEGE3 gratuita; demais tickers exigem chave_api. Ticker de companhia que SAIU da bolsa responde com `saiu_da_bolsa` (último pregão e link), mesmo sem chave.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "eventosArguments"
}🟢scores(ticker, chave_api)
Scores fundamentalistas prontos com a conta aberta: Piotroski F-Score (0-9, cada um dos 9 critérios auditável) e o critério de Graham (barato se P/L × P/VP ≤ 22,5). Banco não tem Piotroski. WEGE3 gratuita; demais tickers exigem chave_api (grátis ou Pro): esta ferramenta não faz parte da vitrine aberta.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "scoresArguments"
}🟢reapresentacoes(ticker, chave_api)
Balanços REPUBLICADOS de uma empresa: quando um número do exercício muda entre o arquivo original e a republicação, as duas versões ficam lado a lado (ano, conta CVM, valor antigo × novo, variação). Diferencial do Dados B3 — reapresentação registrada, nunca corrigida em silêncio. WEGE3 gratuita; demais tickers exigem chave_api (grátis ou Pro): as reapresentações por versão ficam atrás de chave.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "reapresentacoesArguments"
}🟢fatos_contabeis(ticker, trimestral, chave_api)
Contas padronizadas de uma AÇÃO (receita, EBIT, lucro, PL, dívida, caixa...) com a conta CVM de origem de cada número — auditável de ponta a ponta. `trimestral` escolhe a granularidade: False lê os DFP anuais, True lê os ITR (Q1-Q3 isolado); os dois cobrem o mesmo histórico. Só ações. FII não publica DFP/ITR nesse formato — o que existe é o informe mensal, exposto por `fii`. ABERTA: qualquer ticker, sem chave, um por vez, com o histórico de hoje (a versão vigente de cada período). O balanço como estava numa data passada (`as_of`) e as versões antigas não existem aqui: na REST exigem chave. Sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave. Traz `citacao`.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"trimestral": {
"default": false,
"title": "Trimestral",
"type": "boolean"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "fatos_contabeisArguments"
}🟢metodologia(nome)
Metodologia pública dos indicadores. Sem argumento, lista as páginas; com nome (ex.: 'roic'), devolve o texto completo. Gratuito.
Input Schema
{
"type": "object",
"properties": {
"nome": {
"default": "",
"title": "Nome",
"type": "string"
}
},
"title": "metodologiaArguments"
}🟢auditar_amostra(semente, n)
AUDITE ESTA BASE. Sorteia casos e devolve o que você precisa para refazer cada número contra o arquivo ORIGINAL da CVM — não contra nós. VOCÊ escolhe a semente (um inteiro qualquer; não aceite sugestão de ninguém, inclusive de quem te pediu para auditar). O sorteio é determinístico: a mesma semente devolve sempre os mesmos casos, então seu resultado é reproduzível por terceiros. Cada caso traz empresa, CD_CVM, exercício, indicador, valor publicado, a fórmula, e a conta CVM que AQUELA empresa usou NAQUELE exercício. Confira baixando dfp_cia_aberta_<EXERCICIO>.zip em dados.cvm.gov.br, filtrando CD_CVM e ORDEM_EXERC='ÚLTIMO', atento a ESCALA_MOEDA (MIL = milhares). Regras: publique o DENOMINADOR (7 divergências em 100 é resultado, "7 divergências" não é); NÃO transforme "não consegui conferir" em "passou"; e se afirmar que um número está errado, mostre a conta. Achou erro? É isso que interessa — github.com/Val7h/dados-b3-mcp/issues. Gratuito, sem chave. Auditoria que exige cadastro não é auditoria.
Input Schema
{
"type": "object",
"properties": {
"semente": {
"title": "Semente",
"type": "integer"
},
"n": {
"default": 25,
"title": "N",
"type": "integer"
}
},
"required": [
"semente"
],
"title": "auditar_amostraArguments"
}🟢dicionario
Metodologia dos indicadores em JSON: fórmula, contas CVM e a BASE do lucro de cada um. IMPORTANTE para comparar corretamente: margem_liquida usa lucro consolidado TOTAL; roe usa lucro dos CONTROLADORES. Gratuito.
Input Schema
{
"type": "object",
"properties": {},
"title": "dicionarioArguments"
}🟢screener(filtros, ano, as_of, recibo, chave_api, ...)
Filtra as AÇÕES do universo por faixas de indicadores (só ações — para fundo imobiliário use `screener_fiis`, cujos filtros são outros: P/VP, DY, segmento, cotistas). `filtros` é um dict tipo {"roic_min": 0.15, "dl_ebitda_max": 2}. Indicadores: roic, roe, margem_bruta, margem_ebit, margem_liquida, dl_ebitda, cresc_receita_1a, cresc_receita_5a_cagr (sufixos _min/_max) e os múltiplos pl (P/L anual, da DFP) e pl_ttm (P/L de 12 meses, do ITR ou DFP mais recente), ex. {"pl_max": 10}; P/L negativo, acima de 200 ou ausente nunca passa e a linha traz `multiplos` com `dt_receb`, `data_preco` e `ressalvas` do valor (`rigor="estrito"` só aceita P/L sem nenhuma ressalva; `fora_do_filtro` explica quem ficou de fora). Sem `ano` usa o último de cada empresa. `as_of` ("AAAA-MM-DD") responde outra pergunta: o que estava PÚBLICO naquela data (balanço já recebido pela CVM, ~100 dias depois do exercício) — use para pesquisa sem olhar o futuro; cada linha traz `disponivel_em`. `ano` e `as_of` não se combinam. O universo continua o das companhias ativas hoje (viés de sobrevivência, declarado na resposta). `recibo=True` congela a resposta num endereço permanente com o sha256 do resultado — use quando for CITAR a lista, porque ela muda quando a base for atualizada e o recibo não. Só valores SEM flag entram. Requer chave_api (grátis ou Pro).
Input Schema
{
"type": "object",
"properties": {
"filtros": {
"additionalProperties": true,
"title": "Filtros",
"type": "object"
},
"ano": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Ano"
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"recibo": {
"default": false,
"title": "Recibo",
"type": "boolean"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
},
"rigor": {
"default": "padrao",
"title": "Rigor",
"type": "string"
}
},
"required": [
"filtros"
],
"title": "screenerArguments"
}🟢fiis_ranking(chave_api)
Ranking dos fundos imobiliários (FIIs): os mais descontados (menor P/VP), os maiores pagadores (DY 12m) e a mediana de P/VP e DY por segmento. Tudo do informe mensal da CVM + COTAHIST, só valores limpos (sem flag) e fundos líquidos. ABERTA, sem chave (sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave). Traz `citacao`. O filtro em massa por faixas é `screener_fiis`, que exige chave.
Input Schema
{
"type": "object",
"properties": {
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"title": "fiis_rankingArguments"
}🟢fii(ticker, chave_api, serie, de, ate)
Detalhe de um fundo imobiliário (FII): cadastro, último informe (cotistas/PL/competência), a série histórica de P/VP ponto-no-tempo, o DY 12m corrente e os últimos rendimentos pagos. ABERTA: qualquer FII, sem chave, um por vez (sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave). Traz `citacao`. `serie=True` devolve a série DIÁRIA em colunas (abertura, máxima, mínima, fechamento, volume, negócios, quantidade; sem ajuste, com os saltos sinalizados); sem chave, amostra dos últimos 30 pregões (MXRF11 vem inteiro).
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
},
"serie": {
"default": false,
"title": "Serie",
"type": "boolean"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "fiiArguments"
}🟢veredito(ticker)
Resumo DESCRITIVO de uma AÇÃO da B3 em seis números e três perguntas — ganha dinheiro? (margem líquida, ROIC), está endividada? (dívida líquida/EBITDA), está cara em relação ao setor e à própria história? (P/L, P/VP) — cada um com faixa numérica e comparação com a mediana do setor, com a história da própria empresa e com o universo; mais a BANDEIRA DE CONFIANÇA do retrato (verde/amarelo/vermelho: houve reapresentação? o dado é o mais recente? passou nas conferências?). Uma frase de topo de até 25 palavras. Sem adjetivo de julgamento e sem recomendação: quem conclui é quem lê. Gratuito, sem chave. Traz `citacao` pronta para citar.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "vereditoArguments"
}🟢screener_fiis(filtros, chave_api)
Filtra os FIIs por faixas. `filtros` é um dict tipo {"pvp_max": 0.9, "dy_min": 0.10, "segmento": "Logística", "cotistas_min": 5000}. Válidos: pvp_min, pvp_max, dy_min, dy_max (limites inclusivos), segmento (match exato, sem caixa) e cotistas_min (piso de liquidez). Só entram valores limpos (P/VP e DY sem flag). Ordena por P/VP crescente, teto de 100. Requer chave_api (grátis ou Pro).
Input Schema
{
"type": "object",
"properties": {
"filtros": {
"additionalProperties": true,
"title": "Filtros",
"type": "object"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"filtros"
],
"title": "screener_fiisArguments"
}🟢trimestres(ticker, chave_api)
Série TRIMESTRAL de uma AÇÃO: contas da ITR, preço do trimestre e indicadores (margem bruta, margem EBIT, margem líquida e ROE TTM). Use quando a pergunta for sobre o ANO CORRENTE ou o trimestre mais recente ("como foi o 2T", "a margem melhorou este ano?"): a série anual só responde depois que o exercício fecha, e fica até um ano defasada. O 4º TRIMESTRE NÃO VEM, e é escolha: a ITR publica 1T/2T/3T e o exercício fechado é da DFP. Dá para derivar `4T = anual − 9M`, e não derivamos — número calculado por nós não entra na mesma lista dos que a companhia reportou. Para o ano fechado use `indicadores_anuais`. Banco e seguradora recebem só margem líquida e ROE: não há resultado bruto nem EBIT nesse plano de contas. WEGE3 gratuita; demais exigem chave_api.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "trimestresArguments"
}🟢hoje
O que mudou no mercado brasileiro nos últimos 30 dias. Responde "o que aconteceu com a empresa X esta semana" — a pergunta que nenhuma série anual responde. Traz, na janela: os balanços que ficaram públicos (com a data de entrega à CVM), os documentos REENVIADOS (a companhia republicou o que já tinha entregue), os proventos de ações aprovados, rendimentos e informes de FII, eventos societários (grupamento, desdobramento, bonificação) e trocas de ticker. Cada seção declara `dados_ate`, a data máxima daquela FONTE: as defasagens são diferentes e a janela é fixa a partir de hoje, então fonte parada aparece parada em vez de parecer recente. Gratuito, sem chave.
Input Schema
{
"type": "object",
"properties": {},
"title": "hojeArguments"
}🟢fatos_relevantes(ticker, limite, categoria)
Os últimos Fatos Relevantes (ou Comunicados ao Mercado) que as companhias entregaram à CVM, do mais recente para o mais antigo, cada um com a companhia, o assunto (texto livre da companhia), a data de entrega, o protocolo e o LINK DO DOCUMENTO ORIGINAL na CVM. `ticker` filtra por companhia (ex.: PETR4); `categoria` é "Fato Relevante" ou "Comunicado ao Mercado". Cada item traz `frase`, uma sentença só descritiva. Sem resumo, sem leitura de impacto e sem recomendação. ATENÇÃO: a fonte são os dados abertos da CVM (ODbL), que a CVM atualiza SEMANALMENTE e que trazem a data, não a hora; o campo `fonte` diz quando o arquivo foi atualizado. Gratuito, sem chave. Traz `citacao`.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"default": "",
"title": "Ticker",
"type": "string"
},
"limite": {
"default": 20,
"title": "Limite",
"type": "integer"
},
"categoria": {
"default": "Fato Relevante",
"title": "Categoria",
"type": "string"
}
},
"title": "fatos_relevantesArguments"
}🟢saude
Cobertura atual do banco (contagens e última ingestão). Gratuito.
Input Schema
{
"type": "object",
"properties": {},
"title": "saudeArguments"
}🟢etfs_ranking
ETFs listados na B3: mais negociados, maior patrimônio, maior deságio e maior ágio sobre a cota (preço ÷ cota do MESMO dia), retorno de 12 meses pela cota (retorno total por construção) e menor taxa EFETIVA (despesa do balancete ÷ PL médio, anualizada — a nominal não existe em fonte pública). Só ETF líquido (> R$ 1 mi/dia) entra em ágio, retorno e taxa. Gratuito.
Input Schema
{
"type": "object",
"properties": {},
"title": "etfs_rankingArguments"
}🟢etf(ticker, chave_api, serie, de, ate)
Detalhe de um ETF: cadastro (CVM + B3), último informe diário (cota, patrimônio, cotistas), ágio/deságio dos últimos 30 pregões, taxa efetiva mês a mês, carteira mais recente (10 maiores) e sobreposição com ETFs do mesmo índice, retornos pela cota e pelo preço. BOVA11 é o ETF aberto para degustação; os demais exigem chave_api (grátis ou Pro). `serie=True` devolve a série DIÁRIA em colunas (abertura, máxima, mínima, fechamento, volume, negócios, quantidade e `fechamento_ajustado` por desdobramento conferido), com os eventos, os saltos sem explicação e o retorno com rendimentos reinvestidos; `de`/`ate` recortam; sem chave, amostra dos últimos 30 pregões (BOVA11 vem inteiro).
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"title": "Ticker",
"type": "string"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
},
"serie": {
"default": false,
"title": "Serie",
"type": "boolean"
},
"de": {
"default": "",
"title": "De",
"type": "string"
},
"ate": {
"default": "",
"title": "Ate",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "etfArguments"
}🟢listas(lista, limite, chave_api)
A LISTA COM DATA PRONTA, sem montar nada: devolve o ranking já calculado, com o nome, a DATA-BASE, o critério (liquidez de R$ 5 milhões por dia em 63 pregões, teto de 30% de DY, 5.000 cotistas...), as linhas (ticker, valores), a fonte e a `source_url` da página canônica para citar. É a MESMA conta das páginas dadosb3.com/listas/...: use esta ferramenta em vez de ler uma página por ação para montar um ranking. `lista`: "dividendos" (as ações líquidas de maior dividend yield de 12 meses, uma classe por empresa), "pl" (ações líquidas com P/L abaixo de 10) ou "fiis" (FIIs de maior rendimento em 12 meses). Vazio devolve o catálogo das três. `limite`: de 1 a 20 linhas (padrão 20). ABERTA: sem chave (sem chave: 2000 consultas por hora e 20000 por dia, por endereço; com `chave_api` vale o limite da chave). Informação histórica, não é recomendação: a nota vem na resposta.
Input Schema
{
"type": "object",
"properties": {
"lista": {
"default": "",
"title": "Lista",
"type": "string"
},
"limite": {
"default": 20,
"title": "Limite",
"type": "integer"
},
"chave_api": {
"default": "",
"title": "Chave Api",
"type": "string"
}
},
"title": "listasArguments"
}Community
Evidence