ETFs
ETF Asset Class Breakdown
/v2/etfs/asset-class-breakdownReturns asset-class allocation percentages based on holdings, including recursive look-through of underlying funds and ETFs. Preserves signed weights and reports missing or unclassified exposure as unknown.
Included in: Pro, Growth.
Authentication
Send your API key in the x-api-key header on every request to https://api.bavest.co. The samples read it from the BAVEST_API_KEY environment variable. Get an API key · Authentication guide
Parameters
Optional, at most one of symbol, isin, cusip, for example isin=IE00B4L5Y983.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| symbol | query | string | no (at most one of symbol, isin, cusip) | ETF ticker symbol (e.g., |
| isin | query | string | no (at most one of symbol, isin, cusip) | ETF ISIN code (e.g., Example |
| cusip | query | string | no (at most one of symbol, isin, cusip) | CUSIP code (e.g., |
Try it
ETF ticker symbol (e.g., `IWDA.AS`). Provide exactly one of symbol or isin; clear the ISIN example before using a symbol.
ETF ISIN code (e.g., `IE00B4L5Y983`, iShares Core MSCI World UCITS ETF). Provide exactly one of symbol or isin.
GET /v2/etfs/asset-class-breakdown?isin=IE00B4L5Y983
Sent only to api.bavest.co for this request; not stored.
Response 200
Holdings-based allocation including explicit unknown weight. · application/json
dataobjectatDatestring (date) | nulloldestHoldingsDatestring (date) | nullassetClassBreakdownarray of objectrequired
metaResponseMetaResponse envelope metadata. Always present on a 200:
timeis set bycore/response.pyon every successful response. Errors carry the same block, built by the same code, so a client parses one meta shape whether the call succeeded or failed.timeintegerServer-side processing time in milliseconds
Example
17parametersobjectEcho of the request parameters the endpoint resolved
Errors
- 400Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive).
- 401Missing or invalid API key.
- 404Resource not found.
- 429Rate limit exceeded. Retry after the `Retry-After` header interval.
- 500An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.
- 503Bavest cannot read its data store right now. The security may well have data; retry after the `Retry-After` header interval.

