Brazil Subsequent Events Disclosures API: Track Post-Balance-Sheet Events from CVM Filings
A Brazil subsequent events disclosures API in the reporting-quality sense is not a corporate-actions calendar, a dividend forecast engine, or an NLP classifier that labels every post-period item as adjusting or non-adjusting under CPC 24 / IAS 10. It is access to the CVM filings where Brazilian issuers explain eventos subsequentes — dividends declared after quarter-end, acquisitions signed before the ITR is filed, litigation outcomes, debt refinancings, and going-concern updates — usually in explanatory notes bundled with DFP and ITR (Informações Trimestrais, not US income tax returns), risk narrative in FRE, and FATO_RELEVANTE or COMUNICADO_AO_MERCADO when the event is material before the next periodic package. apicvm lets you list those rows by ticker, download the original PDF, and diff new document.id values on a watchlist during 3Q ITR season when subsequent-event notes often bridge the gap between balance-sheet date and publication date.
This guide shows which type values to query, annex title heuristics for subsequent-events notes, and how this hub differs from financial restatements, material facts monitoring, and going concern.
The problem
Post-period surveillance splits into four stacks that English search results often merge:
- Market data terminals — show ex-dates and corporate-action flags. They rarely store the full regulatory PDF with the issuer’s eventos subsequentes note and management’s adjusting vs non-adjusting judgment.
- Periodic packages —
DFPandITRrows with notas explicativas on events after the reporting date, plus reconciliation to amounts recognized if adjusting. You need ticker-first access and stabledocument.id, not a one-off portal download per name. - Reference form —
FREmay reference litigation, M&A pipeline, or liquidity risks that crystallize as subsequent events in the next ITR. - Events — fatos relevantes when management discloses a post-balance-sheet item before the explanatory note is published.
Scraping the CVM portal works for one ticker and breaks on a diversified watchlist. 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 subsequent-events workflows.
For republication of corrected financials, cross-check Brazil financial restatement disclosures API. For dividend-only workflows, see Brazil dividend disclosures API. For M&A signed after quarter-end, see Brazil merger and acquisition disclosures API.
Which filing type carries subsequent-events language?
Brazilian issuers do not expose a dedicated type=SUBSEQUENT_EVENTS in the apicvm document list. Subsequent events usually appear under:
type |
Role in subsequent-events workflows |
|---|---|
DFP / ITR |
Explanatory notes — eventos subsequentes, ajustes, eventos não ajustantes |
FRE |
Annual reference form — risks that may become subsequent events in the next period |
FATO_RELEVANTE |
Material fact when a post-period item is disclosed before the next periodic filing |
COMUNICADO_AO_MERCADO |
Market communication on dividends, deals, or litigation outcomes after period-end |
Practical rule: list DFP/ITR for the issuer and filter annex rows whose name contains Subsequente, Evento, Subsequent, or Explicativa. Pull the latest FRE for litigation and M&A context. Poll FATO_RELEVANTE with Portuguese and English tokens (evento subsequente, subsequent event, dividendo, aquisição, acquisition, ajuste, non-adjusting, litígio, refinanciamento). After download, search PDF text for eventos subsequentes, evento subsequente, subsequent event, ajustante, não ajustante, data do balanço, or após a data.
Issuer packaging varies: banks may fold subsequent events into general notes; industrial names may dedicate a short standalone note. Zero rows with a keyword filter does not mean no disclosure — broaden the list or open the latest explanatory-notes annex manually.
How apicvm helps
- Resolve the issuer —
GET /v1/companies/resolve - List periodic filings —
GET /v1/documentswithtype=ITRortype=DFPandyear - Narrow subsequent-events notes —
name=Subsequenteorname=Evento - List annual reference —
GET /v1/documentswithtype=FRE - List post-period events —
GET /v1/documentswithtypes=FATO_RELEVANTE,COMUNICADO_AO_MERCADO - 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 subsequent-events annexes on recent ITR packages
curl -s -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=PETR4&type=ITR&year=2025&perPage=50&field=dateRef&order=desc" \
| jq '.data[] | select(.name | test("subsequente|subsequent|evento"; "i")) | {id, type, dateRef, name}'
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: Download the subsequent-events note PDF
DOC_ID=123456
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents/$DOC_ID/file" -o subsequent-events-note.pdf
Search the PDF locally for adjusting vs non-adjusting language and amounts. apicvm does not return pre-parsed eventType: adjusting fields.
Step 3: List post-period material facts
curl -s -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=PETR4&types=FATO_RELEVANTE,COMUNICADO_AO_MERCADO&year=2025&perPage=50&field=dateRef&order=desc" \
| jq '.data[] | select(.name | test("dividendo|aquisição|acquisition|litígio|refinanciamento|subsequente"; "i")) | {id, type, dateRef, name}'
Pair event polling with Brazil material facts monitoring API for generic diff loops.
Step 4: Pull FRE for risks that may become subsequent events
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=VALE3&type=FRE&year=2025&perPage=10&field=dateRef&order=desc"
On the public demo (VALE3 only), swap the host path to /v1/demo/documents with the same query parameters for smoke tests.
Step 5: Watchlist poll (Python sketch)
import os, re, requests
BASE = os.environ["APICVM_URL"]
KEY = os.environ["APICVM_KEY"]
HEADERS = {"Authorization": f"Bearer {KEY}"}
WATCH = ["PETR4", "VALE3", "ITUB4", "BBDC4"]
SE_EVENT_RE = re.compile(
r"evento subsequente|subsequent event|dividendo|aquisição|acquisition|"
r"litígio|refinanciamento|ajustante|não ajustante",
re.I,
)
seen = set()
def list_events(ticker):
r = requests.get(
f"{BASE}/v1/documents",
headers=HEADERS,
params={
"ticker": ticker,
"types": "FATO_RELEVANTE,COMUNICADO_AO_MERCADO",
"year": 2025,
"perPage": 50,
"field": "dateRef",
"order": "desc",
},
timeout=60,
)
r.raise_for_status()
return r.json().get("data") or []
for ticker in WATCH:
for doc in list_events(ticker):
if doc["id"] in seen:
continue
if not SE_EVENT_RE.search(doc.get("name") or ""):
continue
seen.add(doc["id"])
print(f"SE_EVENT {ticker} {doc['dateRef']} {doc['name'][:70]}")
Wire this into GitHub Actions CVM filings monitor. For NLP over downloaded PDFs, see extract text from CVM PDFs for AI agents.
Where subsequent-events disclosures sit in the filings stack
| Layer | Types | Subsequent-events relevance |
|---|---|---|
| Periodic | ITR, DFP |
Dedicated or embedded subsequent-events notes |
| Reference | FRE |
Litigation, M&A, liquidity risks that may crystallize post-period |
| Events | FATO_RELEVANTE, COMUNICADO_AO_MERCADO |
Early disclosure before the next ITR note |
| Quality | Restatement filings | Corrected packages — see restatement hub |
Brazil regulatory filings API explains the full layer map. Pair note annex polling with quarterly ITR monitoring during 3Q ITR season (typically Oct–Nov). When subsequent events imply substantial doubt, cross-check Brazil going concern disclosures API. When fair-value remeasurements appear as adjusting events, see Brazil fair value measurement disclosures API. For the broader Brazil financial data API pillar, treat subsequent-events notes as the post-period bridge between balance-sheet date and publication date.
Current limitations
- Documents, not parsed event taxonomy — apicvm does not return adjusting vs non-adjusting labels, automatic amounts, or CPC 24 classification.
- Title heuristics —
namefilters miss annexes with generic titles; some subsequent-events language lives only inside the PDF body. - Polling, not push — no webhook when CVM publishes a new note package. 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. - ITR disambiguation — Informações Trimestrais (CVM quarterly financials), not US income tax return software.
Next steps
- Read the API docs
- Get an API key
- Brazil financial restatement disclosures API — retifications vs explanatory subsequent-events notes
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.