CVM Open Data vs apicvm API: When to Use Each

Brazil's securities regulator publishes free datasets through the CVM open data portal (dados.cvm.gov.br). Developers also look for a CVM open data API that works like EDGAR or a modern fintech API. In practice, official open data and product APIs solve different problems.

This page compares CVM open data with apicvm — without dismissing either — so you can pick the right tool for your pipeline.

What CVM open data provides

The official portal publishes bulk datasets:

  • CSV/ZIP downloads — company registries, financial statements, fund data
  • Periodic updates — refreshed on CVM's schedule
  • Free access — no API key required for public datasets
  • Academic scale — suitable for cross-sectional studies across many companies

Researchers and data engineers often start here for historical panels and econometric work.

Limitations for product workflows

Open data is powerful for batch analysis but awkward for application development:

Gap Impact
No ticker-first REST API You join CSVs to map tickers → CNPJ → filings
Bulk orientation Fetching one company's latest DFP means finding the right ZIP slice
No single-file download PDFs are not served as GET /documents/:id/file
No text extraction You parse PDFs yourself or build OCR pipelines
Schema drift Portal layout and file names change; ETL breaks

If you are building an agent, SaaS feature, or microservice that answers "get PETR4's 2024 DFP", open data alone means significant glue code.

What apicvm adds

apicvm is a product API over the same underlying CVM corpus (ingested via Hold):

GET /v1/companies/resolve?query=PETR4&by=ticker
GET /v1/documents?ticker=PETR4&type=DFP&year=2024
GET /v1/documents/:id/file
POST /v1/document-text-extractions
Capability apicvm
Resolve by ticker, CNPJ, or name Yes
Filter filings by type, year, date Yes
Download original PDF Yes
Async page-level markdown extraction Yes (via callback)
API key auth + rate limits Yes

Trade-off: apicvm covers the ingested corpus, not necessarily every dataset on the open data portal. It is optimized for B3 public company filings (DFP, ITR, FRE), not every CVM dataset category.

When to use each

Scenario Best choice
PhD thesis on 500 companies × 10 years CVM open data bulk CSV
One-time historical panel import CVM open data
Agent tool: "fetch PETR4 latest DFP" apicvm
Production microservice with ticker queries apicvm
RAG pipeline needing page markdown apicvm
Need every CVM dataset type (funds, penalties, etc.) CVM open data (apicvm focuses on issuer filings)
Zero budget, batch-only CVM open data
$9/month API with support for dev workflows apicvm

Many teams use both: open data for historical research, apicvm for production lookups and agent tools.

Example: same task, two paths

Task: Get Petrobras annual financial filings for 2024.

CVM open data path:

  1. Download relevant ZIP/CSV from dados.cvm.gov.br
  2. Filter by CNPJ 33000167000101
  3. Locate PDF references in metadata
  4. Download and parse files manually

apicvm path:

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=PETR4&type=DFP&year=2024&perPage=20"
# pick document.id → download or extract

How apicvm relates to scraping

Some developers scrape the CVM website instead of using open data. Scraping is fragile (HTML changes, rate blocks) and lacks structured metadata. apicvm replaces scraping for the common case — programmatic access to known filing types — with a versioned /v1 contract.

Current limitations

  • apicvm is not a mirror of the entire CVM open data catalog.
  • Paid API ($9/month) with rate limits — open data remains free.
  • Corpus sync depends on ingestion — not real-time CVM publication.
  • For US filings, use SEC EDGAR — apicvm is Brazil-only. See Brazil CVM vs SEC EDGAR.

Next steps

Ready to integrate?

Get an API key and start querying Brazilian CVM filings programmatically.