etf_lookup returns a single US-listed ETF’s basic info (name, issuer, asset class, category), SEC registration info (CIK / Series / Class), the latest or as-of 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 held around a reporting date, 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. Pass as_of=YYYY-MM-DD when the agent needs the latest snapshot with as_of_date <= as_of; this is still a regulatory snapshot, 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”.
Date the regulatory disclosure snapshot reflects (YYYY-MM-DD). If as_of is passed, this is the latest available date <= as_of. Not the fetch time, not “today”.
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 to confirm whether an ETF is covered 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.
Regulatory disclosures only. Issuer fact-sheet PDFs are not used, so 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".