Brazil Segment Reporting Disclosures API: Track Revenue Mix from CVM Filings
A Brazil segment reporting disclosures API in the equity-research sense is not a vendor of parsed segment tables, a consensus database, or a KPI engine that rebases revenue when issuers change reporting lines. It is access to the CVM filings where Brazilian public companies publish operating segments — explanatory notes in DFP and ITR, business descriptions in FRE, and event PDFs when management reclassifies segments or closes a business unit. apicvm lets you list those rows by ticker, download the original filing, and diff new document.id values on a multi-sector watchlist.
This guide shows which type values to query, keyword heuristics for segment-related titles, and how this hub differs from DFP/ITR notes by section name, impairment write-downs, and generic footnote extraction.
The problem
Segment surveillance splits into three stacks that English search results often merge:
- Market data terminals — show rebased segment revenue when vendors parse statements. They rarely store the issuer’s regulatory PDF with the full note text and reconciliation tables.
- Periodic packages —
DFP,ITR, andFREwith segment notes, geographic splits, and management narrative on mix shifts. Essential for modeling, but you still need ticker-first access and stable file IDs. - Event disclosures — fatos relevantes when a divestiture, merger of segments, or material change in reporting structure is announced outside the normal filing calendar.
Scraping the CVM portal works for one ticker and breaks on a diversified watchlist (banks, miners, consumer, agribusiness). Bulk open-data ZIPs are dataset-oriented, not ticker-first. You want GET /v1/documents with stable document.id, then GET /v1/documents/:id/file for the original PDF — scoped to segment reporting and revenue mix workflows.
For company-specific FRE walkthroughs (commodity vs retail mix), see use cases such as TTEN3 segment mix. This guide focuses on the API list-and-download pattern across periodic and event layers.
Which filing type carries segment reporting detail?
Brazilian issuers do not expose a dedicated type=SEGMENT in the apicvm document list. Segment information usually appears under:
type |
Role in segment reporting workflows |
|---|---|
ITR / DFP |
Periodic financials — explanatory notes on operating segments, geographic revenue, and reconciliations to consolidated figures |
FRE |
Annual reference form — business description, products, and segment narrative that frames how management defines operating lines |
FATO_RELEVANTE |
Material fact when a divestiture, acquisition, or reporting reclassification is disclosed as an event |
COMUNICADO_AO_MERCADO |
Occasional market communication on portfolio changes or strategic reviews affecting segments |
Practical rule: list latest ITR/DFP for each ticker during 3Q ITR season, narrow annex rows with name filters for notes (notas, notes, explicativas), poll FATO_RELEVANTE for divestiture keywords, and pull FRE once per year for structural context. After download, search PDF text for informações por segmento, segmento operacional, or CPC 22 / IFRS 8 references.
Issuer titles vary: conglomerates file long name tokens; pure-play names may bury segment detail only inside note PDFs without event-layer keywords. Zero rows in a given year does not prove the issuer reports as a single segment — see limitations below.
How apicvm helps
- Resolve the issuer —
GET /v1/companies/resolve - List periodic packages —
GET /v1/documentswithtype=ITRortype=DFPandyear - Narrow annex rows — same endpoint with
nameprefix filters (see section name filters) - List event filings —
GET /v1/documentswithtype=FATO_RELEVANTE - Scope with
dateRef; sort withfield=dateRef&order=desc - Download the PDF —
GET /v1/documents/:id/file(no extraction credits) - Optional (Pro): page-level markdown —
POST /v1/document-text-extractionswith async callback
Auth: Authorization: Bearer or X-API-Key. Try VALE3 without a key via the demo API.
Setup
export APICVM_KEY='apicvm_...'
export APICVM_URL='https://apicvm.dev'
Step 1: List quarterly filings for one ticker
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ABEV3&type=ITR&year=2025&perPage=10&field=dateRef&order=desc"
Response rows include stable id, dateRef, name, and nested company metadata. Use id as your cache key — not name, which can be long and encoding-sensitive.
Paginate with page= when meta.lastPage > 1. perPage maxes at 50.
Step 2: Narrow to explanatory notes (segment tables live here)
curl -s -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=ABEV3&type=ITR&year=2025&perPage=50&name=Notas" \
| jq '.data[] | {id, type, dateRef, name}'
Combine with filter CVM filings by section name when your catalog uses English or abbreviated tokens.
Step 4: Download a filing PDF
curl -H "Authorization: Bearer $APICVM_KEY" \
-o segment-notes.pdf \
"$APICVM_URL/v1/documents/<document-id>/file"
Download does not consume extraction credits.
Where segment disclosures sit in the filings stack
| Layer | Types | Segment reporting relevance |
|---|---|---|
| Periodic | ITR, DFP |
Note disclosures and reconciliations by operating segment |
| Reference | FRE |
Business model and product/segment narrative |
| Events | FATO_RELEVANTE, COMUNICADO_AO_MERCADO |
Divestitures and reporting reclassifications |
Brazil regulatory filings API explains the full layer map. Pair periodic note pulls with quarterly ITR monitoring during 3Q ITR season (typically Oct–Nov). When segment weakness drives write-downs, cross-check Brazil asset impairment write-down disclosures API. When mix shifts follow M&A, see Brazil merger and acquisition disclosures API.
Current limitations
- Documents, not parsed segment tables — apicvm does not return structured segment revenue rows or automatic rebasing when issuers change lines.
- Keyword filters are heuristic —
nametokens help on the event layer; many segment tables appear only inside periodic PDF notes without matching keywords. - Polling, not push — no webhook when CVM publishes a new fact. Schedule polls and diff
document.id. - Ingestion lag — sync is not real-time. A notice may appear on the portal before it is in the corpus.
- Corpus coverage — not every issuer or period is present. Validate against the portal for production compliance use cases.
- Demo scope —
/v1/demo/*is limited to VALE3. Other tickers need a production key.
Next steps
- Read the API docs
- Get an API key
- Extract CVM financial footnotes from DFP — periodic note workflows
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.