Discover/Morningstar API
live

Morningstar APImorningstar.com

Access Morningstar data via API: stock quotes, income statements, balance sheets, valuation metrics, ownership, dividends, and market movers. 11 endpoints.

Endpoint health
verified 7d ago
get_income_statement
get_market_movers
get_stock_news
search_securities
get_stock_quote
11/11 passing latest checkself-healing
Endpoints
11
Updated
22d ago

What is the Morningstar API?

The Morningstar API exposes 11 endpoints covering real-time stock quotes, multi-year financial statements, valuation multiples, institutional ownership, dividends, and market movers. Starting with search_securities, you can resolve any company name or ticker to a Morningstar performanceID, then pass that ID to endpoints like get_income_statement or get_valuation_metrics to pull structured, historically deep financial data.

Try it
Search keyword such as a company name or ticker symbol (e.g. Apple, AAPL, MSFT)
api.parse.bot/scraper/ff5e9ddb-e072-40f9-9cbb-800529fa46e5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ff5e9ddb-e072-40f9-9cbb-800529fa46e5/search_securities?query=Apple' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace morningstar-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Morningstar Financial Data API — search, quote, financials, ownership, news."""
from parse_apis.morningstar_financial_data_api import Morningstar, SecurityNotFound

client = Morningstar()

# Search for securities and iterate results.
for security in client.securities.search(query="Apple", limit=3):
    print(security.name, security.ticker, security.exchange)

# Drill into a single security for detailed operations.
apple = client.securities.get(performance_id="0P000000GY")
print(apple.name, apple.ticker, apple.exchange_country)

# Get real-time quote data.
quote = apple.get_quote()
print(quote.last_price, quote.volume, quote.trading_status)

# Get income statement financials.
income = apple.get_income_statement()
print(income.column_defs, income.currency)

# Get top institutional holders — bounded iteration.
for holder in apple.get_ownership(limit=3):
    print(holder.name, holder.total_shares_held, holder.current_shares)

# Get latest news for the security.
for article in apple.get_news(limit=2):
    print(article.title, article.display_date)

# Market movers — top-level operation.
overview = client.marketoverviews.get_movers()
print(overview.updated_on)

# Typed error handling.
try:
    client.securities.get(performance_id="INVALID_ID")
except SecurityNotFound as exc:
    print(f"Not found: {exc.performance_id}")

print("exercised: search / get / get_quote / get_income_statement / get_ownership / get_news / get_movers")
All endpoints · 11 totalmissing one? ·

Full-text search for financial instruments by name or ticker symbol. Returns matching securities (stocks, funds, ETFs) with their Morningstar performance IDs, and related news/article content. Use the performanceID from results to call other endpoints.

Input
ParamTypeDescription
queryrequiredstringSearch keyword such as a company name or ticker symbol (e.g. Apple, AAPL, MSFT)
Response
{
  "type": "object",
  "fields": {
    "content": "array of related news/article stories with headlines, URLs, and dates",
    "entities": "array of matching securities with performanceID, ticker, exchange, name, investmentType"
  },
  "sample": {
    "data": {
      "content": [
        {
          "type": "story",
          "score": 9.08,
          "value": {
            "id": "NQKEC7AJYE775VOHWNIXESET5E",
            "format": "Article",
            "headline": {
              "title": "Apple: Hey Siri",
              "subtitle": "We think Apple stock is moderately overvalued."
            },
            "displayDate": "2026-06-10",
            "canonicalURL": "/stocks/apple-hey-siri"
          }
        }
      ],
      "entities": [
        {
          "type": "security",
          "score": 30.27,
          "value": {
            "name": "Apple Inc",
            "ticker": "AAPL",
            "exchange": "XNAS",
            "companyID": "0C00000ADA",
            "securityID": "0P000000GY",
            "performanceID": "0P000000GY",
            "investmentType": "EQ",
            "exchangeCountry": "USA"
          }
        }
      ]
    },
    "status": "success"
  }
}

About the Morningstar API

Security Lookup and Quotes

All data-fetching endpoints center on a performance_id, which you obtain from search_securities. That endpoint accepts a company name or ticker symbol and returns matching securities with fields including ticker, exchange, investmentType, and performanceID, plus an array of related news articles. Once you have a performance_id, get_stock_quote returns real-time price data: lastPrice, netChange, percentNetChange, bidPrice, askPrice, volume, marketCap, and 52-week high/low — all keyed directly by the performance_id in the response object.

Financial Statements and Valuation

get_income_statement, get_balance_sheet, and get_cash_flow_statement each return a rows array of hierarchical line items. Each row carries a label, a datum array of values aligned to fiscal years listed in columnDefs (e.g., 2016 through TTM), and a subLevel array for child line items. get_valuation_metrics returns two objects — Collapsed for basic ratios (P/S, P/E, P/CF, P/B) and Expanded for advanced ratios including PEG, Earnings Yield, EV/EBIT, and EV/EBITDA — both with their own columnDefs spanning calendar years.

Ownership, Dividends, and News

get_ownership lists the top mutual fund and ETF holders of a security, returning each holder's name, ticker, currentShares, changeAmount, changePercentage, and date. The isRestricted boolean signals whether full data is gated at the access level returned. get_dividends_and_splits surfaces per-year dividend metrics (dividend per share, yield, payout ratio, ex-dividend dates) alongside a dividendData object with detailed history. get_stock_news takes a ticker and exchange code (e.g., XNAS, XNYS) and returns articles with title, subtitle, url, author, displayDate, and format.

Market Movers

get_market_movers requires no inputs and returns three arrays — gainers, losers, and actives — each with current price and percentage change. This endpoint reflects live US market data and returns empty arrays outside regular trading hours (9:30 AM–4:00 PM ET), so build your integration to handle that case.

Reliability & maintenanceVerified

The Morningstar API is a managed, monitored endpoint for morningstar.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when morningstar.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official morningstar.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
11/11 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a stock screener that resolves tickers via search_securities and displays real-time quotes from get_stock_quote.
  • Construct multi-year financial models by pulling income statement, balance sheet, and cash flow data for side-by-side fiscal year comparison.
  • Track institutional ownership shifts over time using changeAmount and changePercentage fields from get_ownership.
  • Generate valuation dashboards showing P/E, EV/EBITDA, and PEG trends from get_valuation_metrics across multiple calendar years.
  • Monitor dividend history and payout ratio trends using get_dividends_and_splits for income-focused portfolio analysis.
  • Surface daily market movers for a financial news feed using get_market_movers during US trading hours.
  • Aggregate recent analyst commentary and news for a given ticker using get_stock_news with exchange-specific filtering.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Morningstar have an official developer API?+
Morningstar offers a licensed data platform for institutional clients (morningstar.com/business/data), but it is not a self-serve public API. Access is commercial and requires direct engagement with Morningstar. The Parse API provides structured access to the same publicly visible data without an institutional contract.
What does `get_valuation_metrics` return, and how is it structured?+
It returns two objects: Collapsed covers basic ratios (P/S, P/E, P/CF, P/B) and Expanded covers advanced ratios (P/Forward E, PEG, Earnings Yield, EV, EV/EBIT, EV/EBITDA). Each has its own rows array and columnDefs array of calendar years, so values are positionally aligned to years across both views.
Does `get_market_movers` work at all times of day?+
No. The endpoint returns data only during US market hours (9:30 AM–4:00 PM ET). Outside those hours, the gainers, losers, and actives arrays will be empty. The updatedOn ISO timestamp in the response indicates when the data was last refreshed.
Does the API return quarterly financial statement data?+
Not currently. get_income_statement, get_balance_sheet, and get_cash_flow_statement return annual figures with TTM (trailing twelve months) as the most recent column. You can fork this API on Parse and revise it to add a quarterly statement endpoint if that granularity is required.
Is intraday price history or charting data available?+
Not currently. get_stock_quote returns a point-in-time snapshot of the current price, change, and volume. Historical OHLCV time-series data is not exposed by any current endpoint. You can fork this API on Parse and revise it to add a historical price endpoint.
Page content last updated . Spec covers 11 endpoints from morningstar.com.
Related APIs in FinanceSee all →
morningstar.com.au API
Access comprehensive financial data for Australian stocks, ETFs, and managed funds including key metrics, valuations, dividends, and historical prices. Search securities, review company profiles and ownership details, and stay informed with market news and upcoming dividend information.
morningstar.in API
Access mutual fund and stock data from Morningstar India. Search by name or ticker, then retrieve NAV, expense ratios, star ratings, historical performance, asset allocation, portfolio holdings, risk metrics, and analyst pillar ratings for any covered fund.
stockanalysis.com API
Access comprehensive stock market data including real-time financials, income statements, statistics, and IPO calendars to research individual stocks and identify market movers. Search stocks, view detailed overviews, and monitor premarket activity all in structured, easy-to-use format.
marketbeat.com API
Track comprehensive stock market data including real-time overviews, analyst ratings, earnings reports, insider trades, and institutional ownership across thousands of companies. Search stocks, analyze financial statements and profitability metrics, monitor short interest, explore options chains, and stay updated with market headlines and competitor analysis.
yahoofinance.com API
Access live stock quotes, historical price data, company profiles, and financial news for any ticker symbol. Supports real-time market data, OHLCV history across configurable intervals, detailed company fundamentals, and news aggregation across global exchanges.
nasdaq.com API
Track real-time and historical stock prices, ETF and mutual fund quotes, cryptocurrency data, and comprehensive company financials including earnings, dividends, and SEC filings all from one source. Research market trends with institutional holdings, short interest data, retail trading activity, and market movers to make informed investment decisions.
money.tmx.com API
money.tmx.com API
alphavantage.co API
Track stock prices, forex rates, and cryptocurrency values with real-time and historical market data, while accessing company financials, earnings reports, and technical indicators. Search tickers, monitor economic indicators, analyze news sentiment, and get global quotes all in one place.