AutoGen Tools for Brazil CVM Filings
Need AutoGen CVM filings tools for multi-agent research crews? Expose apicvm as function calls: resolve, list, download. Keep market-data tools separate — filings are a different product surface.
The problem
AutoGen agents that "browse the CVM portal" are fragile. HTTP tools with document UUIDs let a researcher agent cite document.id in notes another agent reviews.
Tool functions
import os, requests
BASE = os.environ["APICVM_URL"]
H = {"Authorization": f"Bearer {os.environ['APICVM_KEY']}"}
def resolve_ticker(query: str):
return requests.get(
f"{BASE}/v1/companies/resolve",
headers=H,
params={"query": query, "by": "ticker"},
).json()
def list_filings(ticker: str, type_: str, year: int):
return requests.get(
f"{BASE}/v1/documents",
headers=H,
params={"ticker": ticker, "type": type_, "year": year, "perPage": 20},
).json()["data"]
Register these with your AutoGen tool adapter (Python or .NET host).
Example session goal
Researcher: list FRE 2024 for VALE3 → cite first 3 document ids
Reviewer: confirm ids via GET /v1/documents/:id
curl -H "Authorization: Bearer $APICVM_KEY" \
"$APICVM_URL/v1/documents?ticker=VALE3&type=FRE&year=2024&perPage=10"
Extraction
Page markdown extraction stays async (POST /v1/document-text-extractions + callback). Do not block an AutoGen turn waiting on a status URL that does not exist. Pattern: async callbacks guide.
Also see CrewAI and AI agents use case.
Current limitations
- Not a replacement for quotes/news tools inside AutoGen
- Rate limits per API key
- Empty document lists ≠ "issuer never filed"
Next steps
Ready to integrate?
Get an API key and start querying Brazilian CVM filings programmatically.