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.