Brazil CVM Filings for Wealth Management
Wealth desks covering Brazilian equities need primary Brazil filings wealth management inputs for client notes and model portfolios — not only sell-side PDFs. apicvm exposes DFP, ITR, and FRE over HTTP so document IDs stay reproducible. It is not an OMS, CRM, or suitability engine.
The persona
- Equity analysts at RIAs and private banks covering listed Brazilian names
- Portfolio specialists refreshing annual DFP packs before client reviews
- Research associates building peer packs with FRE governance / risk excerpts
The problem
| Client research task | Typical CVM source |
|---|---|
| Annual statements for IC notes | DFP |
| Earnings-season updates | ITR |
| Governance and risk narratives | FRE |
Manual portal downloads do not scale across a household’s Brazil sleeve and break citation audit trails.
Solution flow
Client / model ticker list
→ GET /v1/companies/resolve
→ GET /v1/documents
→ GET /v1/documents/:id/file
→ attach UUID to the coverage note
export APICVM_KEY='apicvm_...'
export APICVM_URL='https://apicvm.dev'
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ITUB4&type=ITR&year=2024&perPage=20"
Coverage checklist
- Resolve ticker before writing the legal name into a client note
- Pull the latest ITR around earnings season
- Pull year-end DFP for annual reviews
- Pull FRE sections when the note discusses governance or risk factors
- Keep document UUIDs next to citations
Family-office workflows: Brazil filings for family offices. Pension-adjacent packs: Pension fund research.
Example: multi-ticker ITR refresh
import os, requests
BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
tickers = ["ITUB4", "BBDC4", "BBAS3"]
for t in tickers:
docs = requests.get(
f"{BASE}/v1/documents",
headers=H,
params={"ticker": t, "type": "ITR", "year": 2024, "perPage": 20},
).json()
print(t, len(docs["data"]), "docs")
Respect rate-limit headers when looping. See Handle errors and rate limits.
Current limitations
- apicvm does not manage accounts, KYC, or suitability
- Text extraction is async via callback (Pro)
perPagemax is 50- Corpus coverage depends on ingestion lag
Next steps
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.