ETFs

ETF Profile

GET/v2/etfs/profile

Returns 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 is meta.totalCount on /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.

NameInTypeRequiredDescription
symbolquerystringone of symbol, isin

ETF ticker symbol (e.g., IWDA.AS). Provide exactly one of symbol or isin; clear the ISIN example before using a symbol.

isinquerystringone of symbol, isin

ETF ISIN code (e.g., IE00B4L5Y983, iShares Core MSCI World UCITS ETF). Provide exactly one of symbol or isin.

Example IE00B4L5Y983

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.

Sign in to sendGet an API keySends with the key above, or sign in to use your account's key. Each request counts as one API call.

Response 200

Successful response · application/json

  • dataETFProfile

    Core ETF identity and classification.

    Every property is always present in the response; any value may be null where the issuer does not publish it. cusip and website may also be an empty string for non-US listings.

    • symbolstring | null

      ETF ticker symbol

      Example ARKK

    • isinstring | null

      ETF ISIN code

      Example IE00B4L5Y983

    • namestring | nullrequired

      Official ETF name

      Example ARK Innovation ETF

    • descriptionstring | null

      Brief description of the ETF's investment objective

    • websitestring | null

      URL of the ETF issuer's product page, empty string if unknown

    • domicilestring | null

      Country of domicile (ISO 3166-1 alpha-2 code)

      Example IE

    • inceptionDatestring (date) | null

      Date the ETF was launched

    • etfCompanystring | null

      Name of the ETF issuer or management company

      Example ARK Invest

    • assetClassstring | null

      Broad asset class (e.g. Equity, Fixed Income, Commodity)

      Example Equity

    • cusipstring | null

      CUSIP identifier for the ETF, empty string for non-US listings

      Example 78462F103

    • distributionPolicystring | null

      Distribution policy (e.g. Accumulating, Distributing)

    • etfCategorystring | null

      Investment category within the asset class

      Example U.S. Equity

    • etfFocusstring | null

      Investment focus or strategy

      Example Broad Market

    • etfNichestring | null

      Specific niche or investment approach

      Example Index Tracking

    • indicestring | null

      Name 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 EUR

    • replicationMethodstring | null

      Index replication method (e.g. Full, Sampling, Synthetic)

  • metaResponseMeta

    Response envelope metadata. Always present on a 200: time is set by core/response.py on 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.

    • timeinteger

      Server-side processing time in milliseconds

      Example 17

    • parametersobject

      Echo 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.

For AI agents: this page as Markdown at /docs/v2_etfs_profile.md, every route in /llms.txt, the OpenAPI spec at /openapi.json.