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

  1. Resolve ticker before writing the legal name into a client note
  2. Pull the latest ITR around earnings season
  3. Pull year-end DFP for annual reviews
  4. Pull FRE sections when the note discusses governance or risk factors
  5. 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)
  • perPage max is 50
  • Corpus coverage depends on ingestion lag

Next steps

Ready to integrate?

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