@pipeworx/brazil-cvm-financials
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/brazil-cvm-financials’s. Install: one-click buttons
Connect to just the @pipeworx/brazil-cvm-financials pack
https://gateway.pipeworx.io/brazil-cvm-financials/mcp — only @pipeworx/brazil-cvm-financials’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 3
Annual financial statements (balance sheet, income statement, cash flow, value added) of Brazilian listed companies, from CVM (Comissao de Valores Mobiliarios) open data — by CNPJ or company name, with CVM account codes and labels, in full BRL.
Tools
br_financials(cnpj | name, year?, scope?, statement?, max_depth?, limit?, offset?)— the statements of one company for one fiscal year as account lines (code, Portuguese label, value in BRL). Default depth 2 returns the headline lines; raisemax_depthfor sub-accounts. States the scope (consolidated/individual), the filing version and the filed scale on every response. A company or year not in the data returnsfound:falsewithdata_as_of.br_financials_search(name, limit?)— find companies by name (every word must match, accents ignored); returns CNPJ, CVM code and the fiscal years available.br_financial_series(cnpj | name, account_code, from_year?, to_year?, scope?)— one account across years (e.g.3.01income-statement top line,1total assets,2.03equity), with the label, scope and filing version of each year, andmissing_yearslisted rather than dropped.
Auth
Keyless.
Data sources
- CVM (Comissao de Valores Mobiliarios, Brazil), open data — annual financial statements (DFP) of listed companies, fiscal years 2019 onward.
Licence. CVM publishes this dataset under the Open Data Commons Open
Database License (ODbL). The data here is a database copy, so ODbL applies to
it: attribution to CVM and share-alike on the database. Every response carries
the source and licence fields.
What is in the copy, and what is not — read before quoting a number.
- Latest filing version only. CVM’s archives carry every revision of a
filing as extra rows (and are refreshed weekly with re-filings). Only the
highest version per company + reference date is kept; the response reports
filing_versionandfiling_versions_seen. Superseded revisions are not available. - Current-year column only. Each filing also reports the prior year as a comparative; that column is dropped (it is restated data that appears as the current column of the next year’s own filing). So a figure is “as filed for that fiscal year”, not “as restated later”.
- Statements kept: balance sheet assets (
BPA) and liabilities/equity (BPP), income statement (DRE), cash flow indirect (DFC_MI) and direct (DFC_MD), value added (DVA), consolidated and individual. Not kept: statement of changes in equity, comprehensive income, auditor opinions, share-capital composition. - Scope: consolidated is the group; individual is the parent company alone. The default is consolidated where the company filed one.
- Scale and currency: filers state values in units or thousands; the response applies the multiplier and returns full BRL, naming the filed scale. All loaded statements are in BRL.
- Charts differ by sector. CVM account codes follow one numbering (1 assets,
2 liabilities and equity, 3 income, 6 cash flow, 7 value added) but banks and
insurers use a different income-statement chart:
3.01is revenue for an industrial and financial-intermediation income for a bank. The label comes back with every value so a mismatch is visible. - Per-share lines: earnings-per-share accounts (
3.99.*) are BRL per share and are NOT multiplied by the filed scale; they come back asvalue_brl_per_share. - Fiscal-year labels follow the reference date; a company with a non-December year-end is listed under the calendar year of its reference date.
Updating the data
CVM re-files weekly. Reload with (needs wrangler logged in to the Pipeworx
Cloudflare account):
node scripts/brazil-cvm-financials/load-data.mjs --from 2019
The loader DROPs and reloads the tables, verifies the row counts against what
it generated and exits non-zero if they differ. data_as_of in every response
is the date of the last load; latest_filing_received is the newest filing
receipt date in it.
Tools
- br_financials — Annual statements (balance sheet, income, cash flow) of a Brazilian listed company, from CVM open data.
- br_financials_search — Find CVM-registered Brazilian listed companies by name; returns CNPJ and years available.
- br_financial_series — Time series of one CVM account code for a Brazilian listed company.
Tools
br_financial_series— Time series of one CVM account code for a Brazilian listed company.br_financials— Annual statements (balance sheet, income, cash flow) of a Brazilian listed company, from CVM open data.br_financials_search— Find CVM-registered Brazilian listed companies by name; returns CNPJ and years available.