Load Brazil CVM Filings Metadata into Hex

Building Hex CVM filings notebooks? Call apicvm from a Python cell: resolve → list → download. Hex is the notebook UX; apicvm is the filings API.

The problem

Collaborative notebooks that cite Brazilian filings need stable document IDs and filterable lists — not pasted portal screenshots.

Solution flow

Hex Python cell → Bearer auth → /v1/documents → DataFrame → chart / export

Notebook cell

import os, requests, pandas as pd

BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}

rows = requests.get(
    f"{BASE}/v1/documents",
    headers=H,
    params={"ticker": "PETR4", "type": "ITR", "year": 2024, "perPage": 50},
).json()["data"]
df = pd.DataFrame(rows)[["id", "name", "type", "year"]]
df.head()

Current limitations

  • Hex does not query apicvm natively — use Python/HTTP
  • PDF download is a separate GET /v1/documents/:id/file step
  • Extraction remains async via callback (Pro)

Next steps

Ready to integrate?

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