ETFs
ETF Profile
/v2/etfs/profileReturns ETF identity and classification.
Fees, risk metrics, structure and NAV live in dedicated resources:
/v2/etfs/fees,/v2/etfs/risk,/v2/etfs/structure,/v2/etfs/nav,/v2/etfs/metrics. Holdings count ismeta.totalCounton/v2/etfs/holdings.
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/profile?isin=IE00B4L5Y983
Sent only to api.bavest.co for this request; not stored.
Response 200
Successful response · application/json
dataETFProfileCore ETF identity and classification.
Every property is always present in the response; any value may be
nullwhere the issuer does not publish it.cusipandwebsitemay also be an empty string for non-US listings.symbolstring | nullETF ticker symbol
Example
ARKKisinstring | nullETF ISIN code
Example
IE00B4L5Y983namestring | nullrequiredOfficial ETF name
Example
ARK Innovation ETFdescriptionstring | nullBrief description of the ETF's investment objective
websitestring | nullURL of the ETF issuer's product page, empty string if unknown
domicilestring | nullCountry of domicile (ISO 3166-1 alpha-2 code)
Example
IEinceptionDatestring (date) | nullDate the ETF was launched
etfCompanystring | nullName of the ETF issuer or management company
Example
ARK InvestassetClassstring | nullBroad asset class (e.g. Equity, Fixed Income, Commodity)
Example
Equitycusipstring | nullCUSIP identifier for the ETF, empty string for non-US listings
Example
78462F103distributionPolicystring | nullDistribution policy (e.g. Accumulating, Distributing)
etfCategorystring | nullInvestment category within the asset class
Example
U.S. EquityetfFocusstring | nullInvestment focus or strategy
Example
Broad MarketetfNichestring | nullSpecific niche or investment approach
Example
Index Trackingindicestring | nullName of the tracked index as published by the issuer. Free text, not normalised: either the index family alone (
S&P 500®,MSCI World) or the full index variant with return type, currency and hedging (STOXX Europe 600 NR EUR,S&P 500® ESG Elite (EUR Hedged)). Suffixes are part of the official index name: PR/NR/TR = price, net total return, gross total return; EUR/USD = index currency;Hedged= currency-hedged variant. Null for actively managed ETFs or when the index is not captured. Intended for display; do not join or filter on it.Example
STOXX Europe 600 NR EURreplicationMethodstring | nullIndex replication method (e.g. Full, Sampling, Synthetic)
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.

