View as markdown
Concepts › SignalsFundamentals Share structure & ownership

etf_holders

ETFs that hold this ticker, ordered by the ticker's weight within each (the reverse of ETF holdings). Filter with array operators in /v2/scan, e.g. `'SPY' = ANY(etf_holders)` to find SPY constituents. Refreshed nightly post-close.

Watch this signal live on real tickers: Open in Explore →

At a glance

Typetext[]
GroupFundamentals
CategoryShare structure & ownership
Update cadencepost-close daily
Universeall tickers
Historynone — live row only, not historized (no as-of reads)
Nullableyes — NULL where not applicable

How the equity is divided and held: share counts, float and its tags, insider/institutional ownership, ETF holders.

Query it

Every applicable form factor, grouped by endpoint family. Swap YOUR_KEY for the value from /dashboard/keys. Response payloads are real captures, sampled 2026-08-18 and trimmed — your run's values and dates will differ.

Use scan /v2/scan

The whole market through a WHERE clause — this signal composed freely with any other column. Docs →

Live — the whole market, ranked by this column
curl -G "https://api.tickerbot.io/v2/scan" \
  --data-urlencode "q=etf_holders IS NOT NULL" \
  -d "order=etf_holders" -d "columns=etf_holders" \
  -H "Authorization: Bearer YOUR_KEY"
Response (sampled 2026-08-18, trimmed)
{
 "as_of": "2026-08-18T00:23:48.276Z",
 "query": {
  "q": "etf_holders IS NOT NULL",
  "limit": 2,
  "order": "etf_holders",
  "dir": "desc",
  "fields": [
   "etf_holders"
  ],
  "full": false,
  "universe": null,
  "asset_class": null
 },
 "count": 2,
 "results": [
  {
   "ticker": "EAF",
   "name": "GrafTech International Ltd.",
   "asset_class": "stocks",
   "asset_type": "CS",
   "price": 7.35,
   "day_change_pct": -0.0342,
   "gap_pct": 0.0013,
   "relative_volume": null,
   "market_cap": 198561368,
   "etf_holders": [
    "ZSB",
    "EART",
    "PRFZ"
   ]
  },
  {
   "ticker": "BBWI",
   "name": "Bath & Body Works, Inc.",
   "asset_class": "stocks",
   "asset_type": "CS",
   "price": 18.975,
   "day_change_pct": -0.0224,
   "gap_pct": -0.0216,
   "relative_volume": null,
   "market_cap": 3912314770,
   "etf_holders": [
    "ZIG",
    "XRT",
    "WBIY"
   ]
  }
 ]
}

Same grammar on scan and webhooks. This column is live-tense only — it isn't historized, so ?asof= reads and series pulls don't carry it.

Related signals — Share structure & ownership