ANBIMA APIdata.anbima.com.br ↗
Access Brazilian investment fund data, debenture details, private securities event calendars, and ANBIMA datasets via a structured REST API.
What is the ANBIMA API?
The ANBIMA Data API provides 6 endpoints covering Brazilian investment funds, debentures, and private securities events sourced from data.anbima.com.br. Use search_funds to look up funds by name or CNPJ and retrieve share value history, or use get_debenture_details to pull issuer information, remuneration structure, pricing history, and maturity dates for any specific B3-coded debenture.
curl -X GET 'https://api.parse.bot/scraper/ba829820-1cc1-4b84-afce-f3fff8bf1686/get_titulos_privados_agenda_eventos?page=0&size=20' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace data-anbima-com-br-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""ANBIMA Data API - SDK Usage Example
Search Brazilian financial market data: funds, debentures, datasets, and events.
"""
from parse_apis.anbima_data_api import Anbima, DebentureNotFound
client = Anbima()
# List available datasets on the platform
for dataset in client.datasets.list(limit=3):
print(dataset.titulo, "|", dataset.categoria_ativo, "| available:", dataset.disponivel)
# Search debentures and drill into detail for the first result
deb = client.debenturesummaries.search(query="AALM", limit=1).first()
if deb:
print(f"\nDebenture: {deb.codigo_b3} | {deb.emissor} | matures {deb.data_vencimento}")
detail = deb.details()
print(f" Emission volume: {detail.emissao.volume}")
if detail.pu_historico:
print(f" Historical PU par: {detail.pu_historico.pu_par}")
# Search investment funds by name
for fund in client.funds.search(query="bradesco", limit=3):
print(f"\nFund: {fund.fundo.nome_comercial} ({fund.fundo.status})")
if fund.classe:
print(f" Category: {fund.classe.categoria_anbima} | Type: {fund.classe.tipo_anbima}")
if fund.perfil_complementar:
print(f" 12m return: {fund.perfil_complementar.rentabilidade_doze_meses}")
# Retrieve historical periodic data for a fund
for record in client.fundperiodicdatas.get(query="itau", limit=3):
print(f"\nDaily: {record.date} | share: {record.value} | patrimony: {record.valor_patrimonio_liquido}")
# Browse private securities events calendar
for event in client.securityevents.list(limit=5):
print(f"\nEvent: {event.evento} | {event.codigo_b3} | {event.data_evento} | {event.valor}")
# Typed error handling for a missing debenture
try:
bad = client.debenturesummaries.search(query="ZZZZ99", limit=1).first()
if bad:
bad.details()
except DebentureNotFound as exc:
print(f"\nNot found: {exc.code}")
print("\nExercised: datasets.list, debenturesummaries.search, deb.details, funds.search, fundperiodicdatas.get, securityevents.list")
Retrieve the private securities events calendar. Returns paginated events including interest payments, amortizations, and other corporate actions on private securities (debentures, CRIs, CRAs). Each event includes the B3 code, event type, rate, value, settlement date, and status. Results are ordered chronologically.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-based) |
| size | integer | Results per page |
{
"type": "object",
"fields": {
"size": "page size (integer)",
"number": "current page number (integer)",
"content": "array of event records",
"total_pages": "total number of pages (integer)",
"total_elements": "total number of events (integer)"
},
"sample": {
"data": {
"size": 20,
"number": 0,
"content": [
{
"taxa": "5,3621 %",
"serie": {
"tipo": "CRI",
"codigo_b3": "21D0694886"
},
"valor": "R$ 26,57977244",
"evento": "Pagamento de juros",
"status": {
"status": "Liquidado"
},
"data_evento": "15/10/2021",
"data_liquidacao": "15/10/2021"
}
],
"total_pages": 8441,
"total_elements": 168805
},
"status": "success"
}
}About the ANBIMA API
Fund Data
search_funds accepts a query parameter (fund name or CNPJ) and returns paginated results including administrative details, class information, and performance metrics. get_fund_periodic_data takes the same query and returns a time series for the first matching fund — daily records with date, value (share price), valor_patrimonio_liquido (net asset value), and investor count. Both endpoints support page and size parameters for pagination.
Debenture Data
search_debentures accepts an optional query string (B3 code or issuer name); omitting it returns all debentures in paginated form. For a specific instrument, get_debenture_details takes a B3 code (e.g. AALM12) and returns codigo_b3, isin, tipo, remuneracao, data_vencimento, setor, full emissao metadata, and pu_indicativo (indicative pricing history). This is the endpoint to use when you need full terms and pricing data for a specific debenture.
Private Securities Events Calendar
get_titulos_privados_agenda_eventos returns a paginated calendar of upcoming and past corporate actions on private securities. Each event record includes evento (event type such as interest payment or amortization), taxa, valor, serie, data_evento, data_liquidacao, and status. This is useful for tracking cash-flow events across a portfolio of private credit instruments.
Available Datasets
get_datasets_list requires no parameters and returns the full catalog of datasets available on the ANBIMA Data platform. Each entry includes id, titulo, slug, descricao, categoria_ativo, tipo_mercado, and availability flags, letting you programmatically discover what data is published.
The ANBIMA API is a managed, monitored endpoint for data.anbima.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when data.anbima.com.br changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official data.anbima.com.br API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track daily net asset value and investor count for Brazilian investment funds using
get_fund_periodic_data - Build a private credit calendar by pulling amortization and interest payment events from
get_titulos_privados_agenda_eventos - Look up full debenture terms — remuneration, maturity, ISIN, and indicative pricing — by B3 code using
get_debenture_details - Screen debentures by issuer sector using the
setorfield returned in debenture detail responses - Enumerate all ANBIMA-published datasets programmatically to identify available data categories via
get_datasets_list - Search and compare investment funds by CNPJ across administrative and performance fields using
search_funds
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ANBIMA offer an official developer API?+
What does `get_debenture_details` return beyond what `search_debentures` provides?+
search_debentures returns summary records suitable for listing — names, codes, and high-level remuneration info. get_debenture_details returns the full record for one instrument by its B3 code: isin, tipo, setor, complete emissao (issuer and emission details), and pu_indicativo (a history of indicative prices), none of which appear in the search results.Does `get_fund_periodic_data` return data for all matching funds or just one?+
query string. If your query matches multiple funds, only the first result is used. Use search_funds first to confirm the exact fund name or CNPJ, then pass that precise value to get_fund_periodic_data to ensure you retrieve the intended fund.Does the API cover real-time pricing or intraday data?+
get_fund_periodic_data returns daily records, and get_debenture_details provides indicative pricing history rather than live quotes. Intraday or real-time price feeds are not part of the current endpoint set. You can fork the API on Parse and revise it to add an endpoint targeting a real-time pricing source if that coverage is needed.