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 controlsDescricaoGerenciamentoRiscos-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
dateRefon 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.