ETFs
/v2/etfs/feesReturns ETF fee and expense information including management fee and expense ratios.
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
Required: one of symbol, isin, for example isin=IE00B4L5Y983.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| symbol | query | string | one of symbol, isin | ETF ticker symbol (e.g., |
| isin | query | string | one of symbol, isin | ETF ISIN code (e.g., Example |
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/fees?isin=IE00B4L5Y983
Sent only to api.bavest.co for this request; not stored.
Response 200
Successful response · application/json
dataETFFeesETF fee and expense information.
managementFeenumber (double) | nullAnnual management fee as a decimal (e.g. 0.0045 = 0.45%)
performanceFeenumber (double) | nullPerformance-based fee as a decimal, if applicable
netExpenseRationumber (double)Net expense ratio after fee waivers, as a decimal (e.g. 0.002 = 0.2%)
Example
0.2totalExpenseRationumber (double)Total (gross) expense ratio as a decimal
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.
- 502Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay.
- 503Bavest cannot read its data store right now. The security may well have data; retry after the `Retry-After` header interval.
- 504The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load.
- defaultAn unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.

