ParseForge Scrapers

Morningstar Fund & ETF Scraper

parseforge/morningstar-scraper

BusinessNews & mediaLead generation

Scrapes US mutual fund and ETF records from Morningstar by asset type and optional category. Returns each fund as a flat row with the fields available on the public listing.

Run this scraper See the API call
Total users
11
Monthly active
2
Total runs
123
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Morningstar Fund & ETF Scraper

Scrape mutual fund and ETF data from Morningstar, up to a million records per run. Collect performance metrics, ratings, fees, and category details for US funds and ETFs. Export to CSV, JSON, Excel, or XML.

Morningstar's website is the standard for fund research, but manually pulling data for hundreds of funds is slow and repetitive. This scraper reads the public fund and ETF listings directly, letting you filter by asset type and category. You get a structured dataset without writing a single line of code.

Who uses it What they scrape Morningstar for
Financial advisors Building a shortlist of top-rated funds in a specific category for client portfolios.
Individual investors Comparing expense ratios and performance across all funds in a category.
Data analysts Feeding a fund screening model with up-to-date Morningstar metrics.
Fintech product teams Populating an investment product database with standardized fund data.

What it does

This Actor collects US mutual fund and ETF records from Morningstar, filtered by asset type and optional category, and returns each one as a flat row.

  • ๐Ÿ“Š Asset type selection: target US Mutual Funds or US ETFs with one dropdown.
  • ๐Ÿท๏ธ Category filter: narrow results to a specific Morningstar category like 'Large Blend' or 'Technology'.
  • ๐Ÿ“ˆ Scalable collection: set a maximum from 1 to 1,000,000 records per run to match your research scope.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Morningstar data

๐Ÿ“‹ Build a fund watchlist.

An individual investor scrapes all Large Blend ETFs to compare expense ratios and star ratings before making an allocation decision.

๐Ÿ“Š Feed a screening model.

A data analyst pulls the full universe of US mutual funds into a Python notebook to rank them by risk-adjusted return metrics.

๐Ÿ” Monitor a category.

A financial advisor runs the scraper weekly on the Technology category to spot funds with improving Morningstar ratings for client reviews.

๐Ÿ—ƒ๏ธ Populate a product database.

A fintech team collects all US ETF records to seed their investment product search with standardized Morningstar data.

Why choose this scraper

What you get
No API key required Access public Morningstar fund data without registering an application or managing OAuth tokens.
Fixed flat schema Every fund returns the same fields, so your CSV or spreadsheet is clean and ready for analysis.
Category targeting Filter by recognized Morningstar categories to compare only peer funds.

How it compares

This Actor focuses on bulk collection of US mutual fund and ETF records by category, while other Morningstar scrapers target individual securities by ticker or URL.

Feature ParseForge Morningstar Scraper (4 users) Morningstar Scraper (2 users)
Bulk fund collection by category Yes, filter by Morningstar category name Not listed Not listed
US mutual fund universe Yes Yes Not listed
US ETF universe Yes Yes Yes
Scrape by ticker symbol Not listed Yes Yes
Scrape by direct URL Not listed Yes Not listed
Individual stock data Not listed Yes Yes

Configure the run

Drive the Actor by selecting an asset type and an optional Morningstar category, and set a record limit so only the funds you need reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10
}

A larger pull:

{
  "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Morningstar Fund & ETF Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Morningstar through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/morningstar-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your category filter spelling. It must match a Morningstar category name exactly, such as 'Large Blend'. Try leaving the category field blank to confirm results exist for the selected asset type.

The run finished but returned fewer records than my maxItems setting.

The Actor stops when it has collected all available funds matching your filters. If Morningstar lists fewer funds in that category than your maxItems value, you will receive all of them.

Some fields are empty in my output.

Morningstar does not populate every field for every fund. If a metric is not reported by the fund or not tracked by Morningstar, that cell will be blank in your dataset.

The scraper is timing out or running slowly.

Try reducing the maxItems value. Large runs with hundreds of thousands of records take more time. You can also split your work into multiple smaller runs by category.

Can I scrape a specific fund by ticker?

This Actor does not accept ticker symbols as input. It collects funds by asset type and category. Use the category filter to narrow results to the peer group containing your target fund.

FAQ

Question Answer
Does this scraper require a Morningstar login or API key? No. It reads the public fund and ETF listings from Morningstar's website. You do not need an account, an API key, or any OAuth setup.
What data fields does the scraper return? The Actor returns a flat row per fund with the fields available on Morningstar's public listing pages. The exact fields are shown in the sample output on the Actor's page after a test run.
Can I scrape both mutual funds and ETFs in one run? No. The asset type selector lets you choose either US Mutual Funds or US ETFs per run. Run the Actor twice with different settings to collect both.
How do I filter by a specific fund category? Enter the exact Morningstar category name in the Category Filter field, such as 'Large Blend' or 'Technology'. Leave it blank to return all categories for the selected asset type.
Can I scrape individual stock data with this Actor? This Actor is built for US mutual funds and US ETFs. It does not scrape individual stock quotes or company profiles.
How many records can I collect? You can set the maximum from 1 up to 1,000,000 records per run. The actual number returned depends on how many funds match your asset type and category filters.
What export formats are supported? Your dataset can be exported to CSV, JSON, Excel, or XML from the Apify platform.
Is the data real-time or delayed? The scraper collects the data as it appears on Morningstar's public pages at the time of the run. Morningstar may update fund data daily or monthly depending on the metric.
Can I schedule this scraper to run automatically? Yes. Apify supports scheduled runs. You can set this Actor to run daily, weekly, or on any custom cron schedule.
Does this work for non-US funds? The current input schema supports US Mutual Funds and US ETFs. Non-US fund universes are not available in this Actor.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Morningstar, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many records to collect per run. 10
universeId string (2 options) Filter by asset type: US mutual funds or US ETFs. FOUSA
category string Optional Morningstar category name to filter results (e.g. 'Large Blend', 'Technology'). Leave blank for all categories. not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~morningstar-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Morningstar Fund & ETF Scraper on Apify All scrapers