Brazil CVM Filings for Credit Analysis
Credit analysts covering Brazilian issuers need primary Brazil filings credit analysis inputs: annual and quarterly financial statements plus FRE disclosures on liquidity, covenants, and contingencies. apicvm delivers those documents over HTTP. It is not a credit rating, scoring model, or substitute for your internal risk framework.
The persona
- Bank / buy-side credit teams screening B3 issuers
- Risk officers archiving source PDFs with stable IDs
- Quant credit researchers building feature pipelines from filing text
The problem
Credit work on Brazilian public companies repeatedly needs:
| Need | Typical CVM source |
|---|---|
| Audited annual statements | DFP |
| Intra-year updates | ITR |
| Liquidity, debt, covenants, contingencies | FRE sections |
Portal downloads do not give you a ticker-first API or durable document.id for refresh. Bulk CSV dumps help accounting panels but not “download this FRE liquidity section PDF.”
Solution flow
Issuer ticker
→ GET /v1/companies/resolve
→ GET /v1/documents (DFP + ITR for statements; FRE with name filters)
→ GET /v1/documents/:id/file (audit trail)
→ optional POST /v1/document-text-extractions (searchable text, Pro)
Resolve and list financials
export APICVM_KEY='apicvm_...'
export APICVM_URL='https://apicvm.dev'
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/companies/resolve?query=ELET3&by=ticker"
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ELET3&type=DFP&year=2024&perPage=20"
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ELET3&type=ITR&year=2025&perPage=20"
FRE sections for credit themes
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ELET3&type=FRE&year=2024&name=Liquidez&perPage=20"
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ELET3&type=FRE&year=2024&name=Conting&perPage=20"
Section naming varies by issuer and year — iterate with broader name filters. See filter by section name.
Python: short credit document pack
import os, requests
BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
TICKER = "PETR4"
for typ, year, name in [
("DFP", 2024, None),
("ITR", 2025, None),
("FRE", 2024, "Divida"),
("FRE", 2024, "Conting"),
]:
params = {"ticker": TICKER, "type": typ, "year": year, "perPage": 15}
if name:
params["name"] = name
data = requests.get(f"{BASE}/v1/documents", headers=H, params=params).json()["data"]
print(typ, year, name, "→", len(data), "docs")
for d in data[:3]:
print(" ", d["id"], d["name"])
What apicvm does not provide
- Credit ratings, PD/LGD models, or covenant breach alerts
- Market prices, CDS, or bond termsheets
- Private-company or bank-internal data
- Legal opinions on contingencies
Current limitations
- Ingestion lag vs the live CVM portal
- Async extraction only (Pro + credits)
- Not every FRE section name is consistent across issuers
Next steps
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.