Brazil CVM Filings for Family Offices

Family offices holding B3 names need a lightweight way to archive Brazil filings family office evidence — annual statements, quarterlies, and FRE risk language — without a full terminal seat for every analyst.

The persona

  • Single-family / multi-family investment teams
  • Outsourced CIOs documenting source PDFs
  • Risk committees that want primary disclosure, not only broker notes

The problem

Broker portals and email alerts lose the file. Spreadsheets store numbers without the filing ID. When a risk factor wording changes, you need the PDF back.

Solution flow

Portfolio tickers
  → resolve
  → list DFP / ITR / FRE
  → download into your archive (S3, Drive, NAS)
  → optional text extraction for search
import os, requests

BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
TICKERS = ["WEGE3", "ITUB4", "VALE3"]

for t in TICKERS:
    docs = requests.get(
        f"{BASE}/v1/documents",
        headers=H,
        params={"ticker": t, "type": "FRE", "year": 2024, "name": "Risco", "perPage": 20},
        timeout=30,
    ).json()["data"]
    print(t, len(docs))

Lightweight monitoring

Combine with GitHub Actions CVM filings monitor or a weekly notebook. For denser buy-side workflows, see Hedge fund research.

What to archive quarterly

Item Type Why
Annual statements DFP Audit trail
Quarterlies ITR Intra-year moves
Risk language FRE (name=Risco) Committee packets

Store document.id alongside the PDF filename so refreshes are idempotent.

Keep quotes elsewhere

Portfolio marks come from your custodian or a quotes API. apicvm does not return prices — see Quotes vs filings.

Current limitations

  • apicvm is filings-only — no quotes, no portfolio accounting.
  • Not investment advice; filings are inputs to your process.
  • Coverage = ingested corpus for each issuer.

Next steps

Ready to integrate?

Get an API key and start querying Brazilian CVM filings programmatically.