Governance and Compensation Data from FRE Section Names

Proxy advisors, fund compliance teams, and fintech products that score Brazilian corporate governance need specific FRE chapters — board composition, compensation policy, stock-based pay, related-party transactions — not 70 unrelated PDFs. apicvm exposes these as separate catalog entries with stable internal names.

This use case shows how to build a FRE governance API pipeline: filter by section name, extract text, and answer governance questions with source documents.

Who this is for

  • Governance research platforms monitoring board independence and committee structure across B3 issuers
  • Compensation analytics teams comparing executive pay formulas and equity plans
  • Minority shareholder advocacy tools flagging related-party transaction disclosures
  • AI agents with governance tool calls that must return cited FRE sections

The problem

Governance data in FRE is structured for CVM compliance, not for REST consumption. Without section-level filtering:

  • You list dozens of FRE files and manually match Portuguese section titles
  • Extraction jobs run on irrelevant annexes (environmental reports, shareholder lists you already have elsewhere)
  • Cross-company comparisons break when issuers file slightly different section bundles

You need ticker + governance section name → document ID → markdown pages.

FRE governance section names

Filter GET /v1/documents with these partial name values:

Governance theme Example name Typical disclosures
Board of directors InformacoesConselhoAdm-7_2 Members, independence, committees, meetings
Compensation policy PoliticaPraticaRemuneracao-8_1 Fixed/variable mix, caps, performance metrics
Stock-based compensation PlanoRemuneracaoBaseadoAcoes-8_4 Option plans, RSU rules, dilution
Related parties PercentualPartesRelacionadas-8_17 Transactions with controllers and affiliates

Combine with risk and control sections when building a full governance scorecard:

  • DescricaoControlesInternos-5_2 — internal controls
  • DescricaoGerenciamentoRiscos-5_1 — risk management framework

End-to-end workflow

Resolve ticker → Filter governance section names → Pick document IDs → Extract markdown → Parse or LLM-query → Return answers with page citations

1. Board composition for TTEN3

Três Tentos governance reviews often focus on board structure and stock option plans:

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

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=TTEN3&type=FRE&year=2025&name=InformacoesConselhoAdm&perPage=10"

2. Compensation and equity plans

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=TTEN3&type=FRE&year=2025&name=PoliticaPraticaRemuneracao"

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=TTEN3&type=FRE&year=2025&name=PlanoRemuneracaoBaseadoAcoes"

3. Python governance fetcher

import os, requests

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

GOVERNANCE_SECTIONS = {
    "board": "InformacoesConselhoAdm",
    "compensation": "PoliticaPraticaRemuneracao",
    "equity_plans": "PlanoRemuneracaoBaseadoAcoes",
    "related_parties": "PercentualPartesRelacionadas",
}

def fetch_governance_docs(ticker: str, year: int) -> dict[str, list]:
    result = {}
    for key, name_prefix in GOVERNANCE_SECTIONS.items():
        resp = requests.get(
            f"{BASE}/v1/documents",
            params={"ticker": ticker, "type": "FRE", "year": year, "name": name_prefix, "perPage": 10},
            headers=H,
        )
        resp.raise_for_status()
        result[key] = resp.json()["data"]
    return result

docs = fetch_governance_docs("RADL3", 2025)
for theme, items in docs.items():
    print(theme, "→", [d["name"] for d in items])

Queue extraction only for non-empty sections. Your callback handler stores page.markdown with document metadata for citation.

Governance questions to automate

Question Section to query Output
How many independent directors? InformacoesConselhoAdm Count + names with page refs
Is CEO pay tied to EBITDA or TSR? PoliticaPraticaRemuneracao Metric list + policy excerpt
Active stock option plan? PlanoRemuneracaoBaseadoAcoes Plan terms, vesting, outstanding grants
Material related-party deals? PercentualPartesRelacionadas Transaction table summary

Production workflows on Hold run similar checks across issuers — always sourcing from FRE text, never from pre-built governance databases.

Pairing with DFP for audit quality

Governance narrative lives in FRE; financial reporting quality signals appear in DFP — auditor opinion, fiscal council report, audit committee opinion. Filter DFP sections by name for audit-related annexes, then cross-reference FRE control disclosures.

Example DFP filters (names vary by issuer):

curl -H "Authorization: Bearer $APICVM_KEY" \
  "$APICVM_URL/v1/documents?ticker=RADL3&type=DFP&year=2024&name=Relatório"

Inspect list results for audit committee and fiscal council report names.

Current limitations

  • No parsed governance schema — apicvm delivers PDFs and page markdown, not { independent_directors: 4 }. Your parser or LLM extracts fields.
  • Section availability varies — not every issuer files every section as a separate document every year.
  • FRE update cadence — governance sections may refresh mid-year; check dateRef on list results.
  • Related-party detail depth — summary tables in FRE may require cross-check with DFP note disclosures for amounts.
  • Extraction quota — Pro plan: 1 markdown extraction per API key per UTC day; plan batch jobs accordingly.

Next steps

Ready to integrate?

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