Load Brazil CVM Filings Metadata into Redash

Need Redash CVM filings dashboards for coverage completeness? apicvm lists DFP/ITR/FRE metadata over HTTP. Stage rows in Postgres/BigQuery, then chart in Redash — this is not a quotes API.

The problem

Research ops want "which issuers missing 2024 ITR?" views. Portal clicks do not feed Redash; a nightly pull into a warehouse table does.

Pipeline

apicvm /v1/documents → staging table → Redash SQL visualization

Ingest sketch

import os, requests

BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
tickers = ["PETR4", "VALE3", "RDOR3", "NEOE3"]

rows = []
for t in tickers:
    page = 1
    while True:
        payload = requests.get(
            f"{BASE}/v1/documents",
            headers=H,
            params={"ticker": t, "type": "ITR", "year": 2024, "page": page, "perPage": 50},
        ).json()
        for d in payload["data"]:
            rows.append({"ticker": t, "id": d["id"], "name": d.get("name"), "type": "ITR"})
        if page >= payload["meta"]["lastPage"]:
            break
        page += 1
print(len(rows))

Load rows into a table Redash can query (example columns: ticker, document_id, name, type, year).

Example Redash SQL

SELECT ticker, COUNT(*) AS itr_docs
FROM cvm_documents_staging
WHERE type = 'ITR' AND year = 2024
GROUP BY 1
ORDER BY 2 ASC;

curl check

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=PETR4&type=DFP&year=2024&perPage=20"

See also Metabase and Apache Superset.

Current limitations

  • apicvm does not expose OHLCV or fundamentals tables for Redash native connectors
  • You must stage data; there is no official Redash data source plugin
  • Document inventory follows ingestion, not exchange calendars

Next steps

Ready to integrate?

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