Morningstar Scraper [$1💰/1K] | Quotes | Holdings | Ratings avatar

Morningstar Scraper [$1💰/1K] | Quotes | Holdings | Ratings

Pricing

from $0.90 / 1,000 qoutes & live prices

Go to Apify Store
Morningstar Scraper [$1💰/1K] | Quotes | Holdings | Ratings

Morningstar Scraper [$1💰/1K] | Quotes | Holdings | Ratings

Pull Morningstar quotes, live prices, fund holdings, star and analyst ratings, performance tables, profiles, market news and movers — seven resources, each in its own dataset, no API key and no browser. Built for advisors, fintech apps and investment research. From $1 per 1,000 quotes.

Pricing

from $0.90 / 1,000 qoutes & live prices

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Features

Limited permissions

Share

Morningstar Scraper

Extract Morningstar quotes, live prices, fund holdings, star and analyst ratings, performance tables, profiles, market news and market movers — seven resources, each writing to its own dataset — without a browser or an API key, from $1 per 1,000 quotes.

Built for:

  • Investment advisors and wealth managers maintaining client research
  • Fintech apps that need structured quotes, ratings and holdings
  • Monitoring a watchlist of funds, ETFs and stocks
  • Building a joinable fund database (holdings, ratings, performance)
  • Asset managers tracking category performance and analyst views

Get Morningstar Quotes, Ratings & Fund Holdings Without an API Key

Give the actor tickers (VFIAX, VOO, AAPL), fund names, ISINs or Morningstar quote URLs — each is resolved through Morningstar's own security-search endpoint — then select the resources you need. Every resource writes to its own dataset (quotes, holdings, ratings, performance, profile, news, movers, plus a securities resolution log), rows carry secId so datasets join cleanly, and only selected resources generate requests and charges. A default run with the three prefilled securities and all resources produces about 132 rows across the eight datasets.

How It Works

How the Morningstar Scraper works: securities resolve to secIds, then seven JSON resources produce quotes, holdings, ratings and profiles.

Rather than render pages behind Morningstar's AWS WAF, the Actor calls the same JSON services the site uses: the public SAL API, Nuxt front-end stores, an Arc RSS feed and open sitemaps. A shared secId links every resource.

Seven datasets cover quotes, holdings, star and analyst ratings, performance, profiles, news and daily movers, with only the selected resources billed.

Morningstar's HTML pages sit behind an AWS WAF challenge that turns away plain HTTP clients, so this actor skips page rendering entirely and calls the JSON surfaces the site's own front end uses:

  1. SAL public service (api-global.morningstar.com, authenticated only with the public apikey header the site embeds) — quote metrics, holdings, star/analyst ratings, performance table, style box, risk, profile.
  2. Nuxt front-end stores (www.morningstar.com/api/v2/stores/...) — ticker/name/ISIN → security-ID resolution, live price/NAV, daily movers.
  3. Arc RSS feed (media.morningstar.com) — market news.
  4. Sitemaps (open) — quote-URL enumeration for bulk seeding.

The endpoints were found in the site's own JS bundles; all answer with clean JSON, so the actor runs as a pure HTTP crawler on 256 MB of memory — no Playwright, no browser. Analyst-research pages, price-target and screener stores are login-gated (401) and are not read.

Input Parameters

FieldTypeRequiredDefaultNotes
securitiesarrayNo*[]Tickers (VFIAX, VOO, AAPL), fund names, ISINs or full Morningstar quote URLs.
resourcesarrayNoall sevenAny subset of quotes, holdings, ratings, performance, profile, news, movers.
maxSecuritiesintegerNo25Securities per run; free accounts are capped at 10.
maxHoldingsPerFundintegerNo25Portfolio positions saved per fund.
maxNewsItemsintegerNo25Market-news items from the RSS feed.
maxRequestsPerCrawlintegerNo500Hard cap on HTTP requests (25 securities with all resources ≈ 252 requests).
proxyobjectNodisabledStandard Apify proxy picker; enable if your IPs get WAF-challenged.

* Provide at least one security unless you only want news / movers (then deselect all per-security resources).

Output Fields

The default dataset is intentionally empty — results go to one dataset per resource:

DatasetRowsKey fields
securities1 per inputsecurityID, performanceID, ticker, name, exchange, slug, investmentType, isin, resolve_error
quotes1–2 per securitySAL quote metrics (expense ratio, yield, fund size, style box, benchmark…) + live price/NAV
holdingsup to maxHoldingsPerFund per fundposition weight, market value, sector, moat, forward P/E, per-holding ratings; parent secId
ratings1 per securitystar ratings (3/5/10Y), analyst Medalist rating with people/process/price/parent scores, rating history
performance1 per securityannual returns vs category and index
profileup to 4 per securitymeta, profile, style, risk rows (ISIN, category, domicile, style box, risk/return)
newsup to maxNewsItemstitle, link, author, description, date
moversup to 30 per rundaily gainers / losers / most active with quote snapshot

Example Input

{
"securities": ["VFIAX", "VOO", "AAPL"],
"resources": ["quotes", "holdings", "ratings"],
"maxSecurities": 10,
"maxHoldingsPerFund": 25
}

Example Output

{
"itemType": "price",
"secId": "0P000000GY",
"name": "Apple Inc",
"ticker": "AAPL",
"lastPrice": 247.12,
"change": 1.34,
"changePercent": 0.54,
"asOfSource": "www.morningstar.com realtime store"
}

Automate Portfolio & Market Monitoring With Schedules & Webhooks

  • Daily watchlist prices: schedule resources: ["quotes"] for your tickers and load the delta into a dashboard; the realtime store row (itemType: "price") carries the live value.
  • Quarterly holdings rotation: run holdings after each fund reports and diff positions by secId + security name.
  • Daily news & movers: schedule news / movers alone — no securities are resolved, so the run stays small and cheap.
  • Dataset webhooks push finished runs to Slack, email or a warehouse; recurring runs also improve this actor's Store recommendation signals.

Frequently Asked Questions

Why use this actor instead of the official API?

Morningstar's official developer offering (developer.morningstar.com — Direct Web Services REST APIs and an MCP server) is a contracted, enterprise product: OAuth 2.0 credentials, onboarding through a Morningstar account manager, and a Market Data API whose credentials are IP-restricted. This actor instead reads the public JSON endpoints the morningstar.com front end itself calls — no contract, no OAuth, no IP allowlist — and packages seven resources (quotes, holdings, ratings, performance, profile, news, movers) as separate datasets with Apify's export, scheduling and webhook tooling on top.

Is there a free Morningstar API?

Not really. The official API requires a business agreement, and the free website is for human browsing (its HTML sits behind a WAF challenge). This actor is the keyless middle path: public JSON surfaces, pay-per-event pricing from $1 per 1,000 quotes, and a capped free preview on free accounts.

How do I get fund holdings data?

Select the holdings resource — you get up to maxHoldingsPerFund positions per fund with weight, market value, sector, forward P/E and per-holding ratings, joined to the parent fund via secId. (If you only need regulatory quarterly holdings, SEC N-PORT filings are an alternative source with a reporting lag.)

Does it work for ETFs and individual stocks?

Yes. Quotes, ratings, performance and profile work for stocks and ETFs too (AAPL resolves normally); holdings applies to funds. news and movers are global market resources that run once per run regardless.

What are the analyst ratings included?

Star ratings (3/5/10-year and overall) plus Morningstar's own analyst Medalist rating with people/process/price/parent scores and rating history — all from public SAL endpoints. Full analyst-report pages are login-gated and are not scraped.

Do I need an API key or account?

No key, no login. Free Apify accounts get a capped preview (10 securities, 10 holdings per fund, 10 news items); paying accounts get the full configured caps.

For AI Agents & LLM Apps

Purpose: returns Morningstar quotes, holdings, ratings, performance, profile, news and movers for given tickers/names/ISINs/quote URLs — one dataset per resource, keyless, no browser.

Minimal input:

{ "securities": ["VFIAX", "AAPL"] }

Quotes-only variant:

{ "securities": ["VOO"], "resources": ["quotes"], "maxSecurities": 5 }

Output fields: (securities) securityID, performanceID, ticker, name, exchange, slug, investmentType, isin, resolve_error; (quotes) secId, name, ticker, lastPrice, change, changePercent, asOfSource; (holdings) secId, position weight, market value, sector, forward P/E; (ratings) star ratings, medalist rating, rating history; (performance) annual returns; (profile) meta/profile/style/risk rows; (news) title, link, author, date; (movers) symbol, price, daily change.

Behaviors an agent should know:

  • The default dataset is empty by design — read the per-resource datasets (named by the resources entry), not defaultDatasetId.
  • resources defaults to all seven; deselecting a resource removes both its requests and its charges. news and movers are fetched once per run (no securities needed for them).
  • Free accounts are capped at 10 securities / 10 holdings per fund / 10 news items regardless of input.
  • Rows join across datasets on secId; the securities dataset records resolution failures in resolve_error.
  • maxRequestsPerCrawl (default 500) is the hard stop for runaway inputs; keep concurrency at default (3) to avoid WAF challenges.

Billing: pay-per-event — quotes $0.001/security, holdings $0.003/fund, ratings $0.001, performance $0.001, profile $0.002/security, news $0.005/run, movers $0.005/run, plus a run-start event; minimum total charge $0.05 per run.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Morningstar, Inc. It reads only publicly reachable JSON endpoints (including the site's own embedded public API key), the public Arc RSS feed and open sitemaps — no login, no account session, no CAPTCHA solving; login-gated analyst pages and screener stores are explicitly not read. Investment data is provided as published at scrape time; users are responsible for their own compliance with Morningstar's Terms of Service and applicable law when storing, redistributing or automating access to the collected data, and nothing here is investment advice.

SEO Keywords

morningstar api, morningstar scraper, morningstar api alternative, morningstar quotes api, fund holdings data, etf holdings api, mutual fund data api, star ratings api, analyst ratings data, fund performance data, stock quotes scraper, morningstar data, morningstar without api key, fund screener data, market movers data, investment research data, portfolio holdings database, morningstar direct web services, fund facts api, nav price data, morningstar holdings download, financial data api