etf_lookup returns a single US-listed ETF’s basic info (name, issuer, asset class, category), SEC registration info (CIK / Series / Class), the latest available regulatory disclosure snapshot, and summary derivatives — top holdings, sector / country / asset-type exposure. Use it as the ETF context entry point: when an agent needs to know what an ETF is, what it holds at a high level, or whether the symbol is even covered, this is the first call.It is not an OHLCV endpoint. For price history use equity_historical_prices — ETFs trade like stocks and live on the same daily-bar contract. It is not a current / intraday holdings feed either: what you get is the latest snapshot the ETF filed with the SEC, which is not the issuer’s daily latest book.Tickers outside coverage (today: IBIT / DRAM) still return 200 OK with coverage_status="unsupported" and an explicit coverage_notice — so the agent can keep reasoning instead of mis-reading silence as “no holdings”.
Pair with etf_holdings when the agent needs the full position list, weights, or wants to compute overlap between two ETFs. etf_lookup already returns a top_holdings summary; only escalate to etf_holdings if the top-N isn’t enough.
For ETF price history, do not call this tool — call equity_historical_prices with the ETF ticker. ETF OHLCV lives on the same equity historical contract.
lookup is free (0 credits), but the call is still recorded in your usage log. Use it freely as a coverage probe before spending credits on holdings.
Coverage is limited. We cover a curated set of popular ETFs today (e.g. SPY, QQQ, VTI, SOXX, ARKK). Tickers outside coverage return coverage_status="unsupported" — never a silent empty. We do not promise the full US ETF universe.
Regulatory disclosure snapshot, not daily. Holdings + exposure come from SEC official regulatory disclosure datasets with a multi-week to ~60-day publication lag. as_of_date is the disclosure report date, not “today’s holdings”.
IBIT / DRAM are outside coverage today.IBIT is a spot Bitcoin trust whose SEC disclosure path differs from the conventional ETFs we cover. DRAM lacks a reliable mapping in our current data sample. Expect coverage_status="unsupported" for now.
Issuer PDFs are not parsed. Fields like expense_ratio / aum / nav / market_price / premium_discount_pct may be null.
US-listed ETF ticker (e.g. SPY, QQQ, VTI, SOXX, ARKK). Case-insensitive; the server uppercases and trims. Only A-Z, 0-9, ., - are accepted. Tickers outside coverage return 200 OK with coverage_status="unsupported".