ETF Data Extractor | TER, Returns, Holdings, Risk | justETF avatar

ETF Data Extractor | TER, Returns, Holdings, Risk | justETF

Pricing

from $31.04 / 1,000 etf-records

Go to Apify Store
ETF Data Extractor | TER, Returns, Holdings, Risk | justETF

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

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

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

FieldTypeDefaultNotes
isinsarray of strings["IE00B5BMR087", "IE00B4L5Y983"]Exact ISINs — takes priority over searchQuery
searchQuerystring"S&P 500"Free-text ETF discovery; used only when isins is empty
universeCountrystring (enum)"DE"Country context for search-mode discovery (DE/AT/CH/IT/FR/ES/NL/GB)
currencystring (enum)"EUR"Display currency for quote/pricing fields (EUR/USD/CHF/GBP)
maxResultsinteger10Cap on ETFs returned in search mode
proxyConfigurationobjectApify RESIDENTIALWorks 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:

  1. GET /en/etf-profile.html?isin=<ISIN> — the full fund profile page (basics, returns, risk, holdings, countries, sectors, description).
  2. GET /api/etfs/cards?isin=... — identity, TER, quote, and fund-size figures, batched across every requested ISIN in a single call.
  3. 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.