ETF Holdings Scraper — Constituents, Weights & Shares
Pricing
from $100.00 / 1,000 etf holding records
ETF Holdings Scraper — Constituents, Weights & Shares
Download constituent holdings for 100+ major US ETFs — SPY, QQQ, VTI, ARKK, JEPI and more. One row per holding with symbol, name, weight %, shares and derived market value. Sourced from stockanalysis.com. Pay-per-result, no Bloomberg seat.
Pricing
from $100.00 / 1,000 etf holding records
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 hours ago
Last modified
Categories
Share
ETF Holdings Scraper — Constituents, Weights & Shares (SPY/QQQ/VTI)
Download the full constituent basket of any of 100+ major US ETFs — SPY, QQQ, VTI, ARKK, JEPI, the sector SPDRs and the long tail of iShares, Vanguard, State Street, Invesco, ARK and Schwab products — as one clean row per holding. Each row carries the parent ETF's symbol, name, issuer and AUM alongside the constituent's symbol, name, weight %, share count and a derived market value. Cap per-ETF holdings, filter by minimum weight, issuer or holding country, and pay only for the rows you keep — no Bloomberg or FactSet seat required.
Constituent holdings sourced from stockanalysis.com. Not an SEC/EDGAR filing feed.
What You Get
Every constituent is emitted as one flat record:
- Parent ETF:
etf_symbol,etf_name,etf_issuer,etf_aum_billion_usd,etf_aum_usd - Holding:
holding_symbol,holding_name,weight_pct,shares_held - Derived / heuristic:
market_value_usd(derived as AUM × weight%, not separately reported),holding_sector(best-effort heuristic, not authoritative GICS),holding_country(best-effort name/suffix heuristic) - Provenance:
as_of_date,etf_holdings_url,data_source(stockanalysis.com)
etf_issuer, etf_aum_* and as_of_date are best-effort and can be null when the source page omits them.
Use Cases
- Decompose ETF exposure — break a thematic or sector ETF into its underlying names and weights.
- Cross-fund overlap — pull a full family (e.g. the ARK lineup) and intersect by
holding_symbol. - Constituent change tracking — re-run weekly to spot adds, drops and reweights.
- Country slice — isolate Chinese ADRs inside KWEB or Japanese names inside EWJ via the
countryfilter. - Income / three-fund basket audits — verify what a portfolio of ETFs actually holds end-to-end.
Sample Input
{"etf_symbols": ["SPY"],"max_holdings_per_etf": 1,"min_weight_pct": 0}
Sample Output
{"etf_symbol": "SPY","etf_name": "SPDR S&P 500 ETF Trust","etf_issuer": "State Street","etf_aum_billion_usd": 762.12,"etf_aum_usd": 762120000000.0,"holding_symbol": "NVDA","holding_name": "NVIDIA Corporation","holding_sector": "Technology","weight_pct": 8.17,"shares_held": 290262607,"market_value_usd": 62265204000.0,"holding_country": "United States","as_of_date": "2026-05-10","etf_holdings_url": "https://stockanalysis.com/etf/spy/holdings/","data_source": "stockanalysis.com"}
How It Works
For each ETF symbol, the actor fetches the per-ETF holdings table from stockanalysis.com/etf/{symbol}/holdings/ plus the overview page at /etf/{symbol}/ for the fund's name, AUM, sponsor and as-of date. It then merges fund-level metadata into every constituent row, derives market_value_usd from AUM × weight%, infers a best-effort sector and country, and applies min_weight_pct, country, issuer and the global limit before pushing — so you only pay for matching rows. If a single ETF returns non-200 it is skipped and the run continues.
FAQ
Q: How do I download an ETF's holdings?
A: Pass a ticker (SPY/QQQ/...); you get every constituent with weight and shares as JSON/CSV.
Q: Which ETFs are supported?
A: 100+ major US ETFs covered by the source (iShares, Vanguard, State Street, Invesco, ARK, JPMorgan, Schwab and more).
Q: Is the sector classification authoritative GICS?
A: No — it's a best-effort heuristic from a curated lookup plus name keywords. Join Finviz / Refinitiv downstream if you need certified GICS.
Q: Where does market value come from?
A: It's derived as AUM × weight% — not separately reported by the issuer.
Q: Can I get only the top-N holdings?
A: Yes — set max_holdings_per_etf (e.g. 10 or 100) and/or min_weight_pct.
Related actors
- SEC Form N-PORT Mutual Fund Holdings
- SEC 13F Holdings Tracker
- SEC Form NPORT-P Holdings & Derivatives
- SEC Form ADV Investment Adviser Tracker
- SEC Form N-PX Proxy Vote Disclosures
About NexGenData
NexGenData publishes buyer-intent Apify actors covering stock screeners, fundamentals, SEC filings and financial data. All actors are pay-per-result with no seat licences. Browse the full catalog at https://apify.com/nexgendata?fpr=2ayu9b.