Dados B3
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Brazilian stock (B3) fundamentals: ratios, dividends, scores, FIIs, ETFs, BDRs. Open methodology.
| Author | io.github.Val7h |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 231 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Dados B3": {
"url": "https://dadosb3.com/mcp/",
"transport": "streamable-http"
}
}
}
Measured tools (26)
listar_empresasread-onlyLista 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
indicadores_anuaisread-onlySé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: 60 consultas por hora e 150 por dia, por endereço; com `chave_api` vale o limite da chave). Traz `citacao` pronta para citar.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
multiplosread-onlyMú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: 60 consultas por hora e 150 por dia, por endereço; com `chave_api` vale o limite da chave. Traz `citacao`.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
dividendosread-onlyHistó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: 60 consultas por hora e 150 por dia, por endereço; chave_api é opcional. Traz `citacao`: cite-a ao usar o número.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
precosread-onlySé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`.
Parameters:
ticker(required) — stringde— stringate— stringcampos— stringlimite— integerchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
desempenhoread-onlyDesempenho 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.
Parameters:
ticker(required) — stringde— stringate— stringchave_api— stringmedia_curta— integermedia_longa— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
indiceread-onlyÍ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.
Parameters:
de— stringate— stringserie— booleancodigo— stringchave_api— stringmedia_curta— integermedia_longa— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
bdrread-onlyBDRs 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.
Parameters:
de— stringate— stringtipo— stringserie— booleanticker— stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
eventosread-onlyDesdobramentos, 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.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
scoresread-onlyScores 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.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
reapresentacoesread-onlyBalanç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.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
fatos_contabeisread-onlyContas 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: 60 consultas por hora e 150 por dia, por endereço; com `chave_api` vale o limite da chave. Traz `citacao`.
Parameters:
ticker(required) — stringchave_api— stringtrimestral— boolean
Hints: read-only yes · destructive no · idempotent yes · open-world no
metodologiaread-onlyMetodologia pública dos indicadores. Sem argumento, lista as páginas; com nome (ex.: 'roic'), devolve o texto completo. Gratuito.
Parameters:
nome— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
auditar_amostraread-onlyAUDITE 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.
Parameters:
semente(required) — integern— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
dicionarioread-onlyMetodologia 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
screenerread-onlyFiltra 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).
Parameters:
filtros(required) — objectanoas_ofrigor— stringrecibo— booleanchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
fiis_rankingread-onlyRanking 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: 60 consultas por hora e 150 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.
Parameters:
chave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
fiiread-onlyDetalhe 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: 60 consultas por hora e 150 por dia, por endereço; com `chave_api` vale o limite da chave). Traz `citacao`.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
vereditoread-onlyResumo 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.
Parameters:
ticker(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
screener_fiisread-onlyFiltra 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).
Parameters:
filtros(required) — objectchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
trimestresread-onlySé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.
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
hojeread-onlyO 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
fatos_relevantesread-onlyOs ú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`.
Parameters:
limite— integerticker— stringcategoria— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
sauderead-onlyCobertura atual do banco (contagens e última ingestão). Gratuito.
Hints: read-only yes · destructive no · idempotent yes · open-world no
etfs_rankingread-onlyETFs 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
etfread-onlyDetalhe 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).
Parameters:
ticker(required) — stringchave_api— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.