Build Observable Data Apps on Brazil CVM Filings
Need Observable CVM filings data loaders? Treat apicvm as an HTTPS JSON source. Observable renders; apicvm supplies regulatory document metadata.
The problem
Static data apps that monitor Brazilian issuers need scheduled JSON pulls with filterable ticker / type / year — not brittle HTML scrapes.
Solution flow
data loader → GET /v1/documents → JSON → Observable chart / table
Loader sketch (Node)
const base = process.env.APICVM_URL
const key = process.env.APICVM_KEY
const url = new URL('/v1/documents', base)
url.searchParams.set('ticker', 'VALE3')
url.searchParams.set('type', 'DFP')
url.searchParams.set('year', '2024')
url.searchParams.set('perPage', '20')
const res = await fetch(url, { headers: { Authorization: `Bearer ${key}` } })
const { data } = await res.json()
process.stdout.write(JSON.stringify(data))
Current limitations
- Browser-only keys are a bad idea — call apicvm from a server/data loader
- No WebSocket push for new filings; re-fetch on build/schedule
- Demo routes are VALE3-only and public; production keys use full
/v1
Next steps
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.