PETR4 CVM Filings — Documents and API Access

PETR4 is the preferred share ticker for Petróleo Brasileiro S.A. — Petrobras, Brazil's largest publicly traded oil company. If you need PETR4 CVM filings for research, models, or AI agents, apicvm lets you resolve the company, list regulatory documents by type and year, and download originals or extract page-level text.

Company overview

Field Value
Name PETRÓLEO BRASILEIRO S.A. - PETROBRAS
Ticker PETR4 (PN — preferred shares)
CNPJ 33000167000101
Sector Petróleo e Gás
Regulator CVM (Comissão de Valores Mobiliários)

Petrobras also trades under other tickers (for example PETR3). Use GET /v1/companies/resolve with the ticker you need.

Document types available

In the apicvm corpus, PETR4 filings include the main CVM types:

Type Description Typical use
DFP Annual standardized financial statements Full-year financials, audited statements
ITR Quarterly financial information Interim results, quarterly monitoring
FRE Formulário de Referência Company profile, risks, governance

Document counts in the current corpus (Hold database, queried 2026-07-13):

Year DFP ITR FRE
2025 14 53 78
2024 13 33 79

Counts include all files filed under each type for the year — DFP years often have multiple PDFs (statements, audit reports, declarations). Inspect list results to pick the right document.

Resolve PETR4

export APICVM_KEY='apicvm_...'
export APICVM_URL='https://apicvm.dev'

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/companies/resolve?query=PETR4&by=ticker"

Expected response fields: id, name, cnpj, sector, tickers[].

List PETR4 DFP filings (2024)

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

Example document names returned for DFP 2024 include audit committee reports, director declarations, and financial statement sections — filter by name to find the filing you need.

Python: list all three types

import os, requests

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

for doc_type in ("DFP", "ITR", "FRE"):
    r = requests.get(
        f"{BASE}/v1/documents",
        headers=H,
        params={"ticker": "PETR4", "type": doc_type, "year": 2024, "perPage": 10},
    )
    r.raise_for_status()
    count = len(r.json()["data"])
    print(f"PETR4 {doc_type} 2024: {count} document(s)")

Download or extract

Download PDF:

curl -OJ -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents/<document-id>/file"

Extract text for agents:

curl -X POST -H "Authorization: Bearer $APICVM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"callback_url":"https://your-app.example.com/callbacks/apicvm","document":{"id":"<document-id>"}}' \
  "$APICVM_URL/v1/document-text-extractions"

Current limitations

  • Counts and availability reflect the ingested corpus — new filings appear after pipeline processing.
  • apicvm does not provide equity prices or market data — only CVM regulatory documents.
  • Material facts (Fato Relevante) and IPE are not in the MVP corpus.

Next steps

Ready to integrate?

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