Brazil CVM Filings for Audit and Accounting Research
Audit and accounting teams need primary Brazil filings audit inputs for workpapers and engagement planning — not only client-provided PDFs. apicvm exposes DFP, ITR, and FRE over HTTP so document IDs stay reproducible. It is not an audit software suite and does not issue opinions.
The persona
- External audit associates assembling public-company binder packs
- Accounting advisory teams comparing disclosed statements across years
- Quality teams that need a re-openable source UUID months later
The problem
| Engagement task | Typical CVM source |
|---|---|
| Annual statements package | DFP |
| Interim roll-forward | ITR |
| Governance / related parties / risks | FRE (name= filters) |
Manual CVM portal downloads do not scale across a portfolio of listed clients and peers.
Solution flow
Engagement ticker list
→ GET /v1/companies/resolve
→ GET /v1/documents (type + year + optional name)
→ GET /v1/documents/:id/file
→ archive UUID + hash in the workpaper index
export APICVM_KEY='apicvm_...'
export APICVM_URL='https://apicvm.dev'
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=VIVT3&type=DFP&year=2024&perPage=20"
Company landing page: VIVT3 CVM filings.
Workpaper checklist
- Resolve ticker (confirm CNPJ / legal name)
- Pull engagement-year DFP and prior-year comparative
- Pull latest ITR when the period is interim
- Pull FRE sections when testing related parties or risk disclosures
- Store document UUIDs in the binder index (not only local filenames)
Due-diligence overlap: Brazil filings for due diligence.
Example: peer pack
import os, requests
BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
PEERS = ["VIVT3", "TIMS3", "TELB4"]
for t in PEERS:
dfp = requests.get(
f"{BASE}/v1/documents",
headers=H,
params={"ticker": t, "type": "DFP", "year": 2024, "perPage": 20},
timeout=30,
).json()["data"]
print(t, "DFP ids", [d["id"] for d in dfp[:3]])
Current limitations
- No trial balance, mapping, or sampling workflows — documents only.
- Corpus lag: verify IDs before freezing a binder.
- Text extraction is async and credit-based on Pro.
- Not a replacement for client-provided or auditor-obtained originals when standards require them.
Next steps
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.