ETF Data Extractor | TER, Returns, Holdings, Risk | justETF
Pricing
from $31.04 / 1,000 etf-records
ETF Data Extractor | TER, Returns, Holdings, Risk | justETF
Extract deep ETF data from justETF: ISIN, TER, live quote, returns (YTD/1M/3M/6M/1Y/3Y/5Y/MAX + yearly), volatility, max drawdown, top-10 holdings, country and sector weights. Search by query or pass exact ISINs. No login required. Pay per ETF record.
Pricing
from $31.04 / 1,000 etf-records
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
For portfolio trackers, robo-advisors, fintech dashboards, and AI agents that need structured ETF data — TER, live quote, returns, volatility, drawdown, and holdings — without a paid data terminal or manual copy-paste from fund fact sheets.
No API key required. No login, no cookies, no crumb tokens. Every record includes
parse_confidence (0.0–1.0) and warnings so you can tell a complete record from a partial one.
Pay Per Event — see the Store pricing tab for the current rate.
Extract deep ETF data from justETF — one of the largest independent ETF databases in Europe. Give it exact ISINs or a free-text search query and it returns a rich, flat JSON record per fund: identity, cost, live-ish quote, multi-horizon returns, risk metrics, and portfolio composition.
What data you get
One record per ETF, ~60 fields:
Identity & structure
isin, wkn, name, url, entity_type, active, index_name, investment_focus,
fund_provider, fund_currency, domicile_country, legal_structure, launch_date,
sustainable, strategy_risk, currency_hedge, distribution_policy, distribution_interval,
replication_method, replication_type
Cost & size
ter ({"raw": 0.07, "localized": "0.07% p.a."}), fund_size_mln
Quote
quote, latest_quote, latest_quote_date, previous_quote, previous_quote_date,
first_quote_date, available_chart_periods, day_change_pct, day_change_amount,
quote_trading_venue, quote_day_low, quote_day_high
Returns
return_ytd, return_1m, return_3m, return_6m, return_1y, return_3y, return_5y,
return_max, yearly_returns (per-calendar-year breakdown), returns_1y_platform
Risk
volatility_1y / _3y / _5y, return_risk_1y / _3y / _5y,
max_drawdown_1y / _3y / _5y / _max
Composition
top_holdings (name + weight %), top_holdings_weight, top_holdings_count,
holdings_reference_date, countries (name + weight %), sectors (name + weight %),
etf_description
Dual-valued fields (ter, quote, latest_quote, previous_quote) come straight from the
source API as {"raw": <float>, "localized": "<display string>"} — both a machine-usable number
and the site's own display formatting. Everything sourced from the HTML profile page (returns,
volatility, drawdown, holding weights) is normalized to plain floats.
All records include scraped_at, parse_confidence, and warnings.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
isins | array of strings | ["IE00B5BMR087", "IE00B4L5Y983"] | Exact ISINs — takes priority over searchQuery |
searchQuery | string | "S&P 500" | Free-text ETF discovery; used only when isins is empty |
universeCountry | string (enum) | "DE" | Country context for search-mode discovery (DE/AT/CH/IT/FR/ES/NL/GB) |
currency | string (enum) | "EUR" | Display currency for quote/pricing fields (EUR/USD/CHF/GBP) |
maxResults | integer | 10 | Cap on ETFs returned in search mode |
proxyConfiguration | object | Apify RESIDENTIAL | Works out of the box — no external proxy key required |
How it works
justETF's fund-profile pages are server-rendered (no headless browser needed), so this actor combines one HTML page fetch with two small JSON API calls per ETF:
GET /en/etf-profile.html?isin=<ISIN>— the full fund profile page (basics, returns, risk, holdings, countries, sectors, description).GET /api/etfs/cards?isin=...— identity, TER, quote, and fund-size figures, batched across every requested ISIN in a single call.GET /api/etfs/<isin>/quote— a live-ish quote with day-to-day change and trading venue.
All requests run through the Apify Proxy (RESIDENTIAL by default) so the actor works reliably out of the box — you never need to supply your own proxy or API key.
Example use cases
- Feed a portfolio tracker with live TER, returns, and risk data for a client's ETF holdings.
- Build a robo-advisor screening tool that ranks candidate ETFs by cost, volatility, and drawdown.
- Monitor country/sector drift in an index-tracking fund over time.
- Enrich a fintech dashboard with fund-level metadata (replication method, distribution policy, domicile) that most brokers don't surface.