morningstar.com APImorningstar.com ↗
Access Morningstar data via API: stock quotes, income statements, balance sheets, valuation metrics, ownership, dividends, and market movers. 11 endpoints.
curl -X GET 'https://api.parse.bot/scraper/ff5e9ddb-e072-40f9-9cbb-800529fa46e5/search_securities?query=Apple' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for financial instruments by name or ticker symbol. Returns matching securities (stocks, funds, ETFs) and related news content.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword such as a company name or ticker symbol (e.g. Apple, AAPL, MSFT) |
{
"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.03,
"value": {
"id": "76KGPSEYQ6QYF4TEAQJHEVG6WI",
"headline": {
"title": "Apple Earnings: Let the iPhone 17 Cycle Rip",
"subtitle": "We raise our fair value estimate for Apple stock."
},
"displayDate": "2026-05-02T10:29:00Z"
}
}
],
"entities": [
{
"type": "security",
"score": 30.77,
"value": {
"name": "Apple Inc",
"ticker": "AAPL",
"exchange": "XNAS",
"companyID": "0C00000ADA",
"securityID": "0P000000GY",
"performanceID": "0P000000GY",
"investmentType": "EQ",
"exchangeCountry": "USA"
}
}
]
},
"status": "success"
}
}About the morningstar.com 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.
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.
- Build a stock screener that resolves tickers via
search_securitiesand displays real-time quotes fromget_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
changeAmountandchangePercentagefields fromget_ownership. - Generate valuation dashboards showing P/E, EV/EBITDA, and PEG trends from
get_valuation_metricsacross multiple calendar years. - Monitor dividend history and payout ratio trends using
get_dividends_and_splitsfor income-focused portfolio analysis. - Surface daily market movers for a financial news feed using
get_market_moversduring US trading hours. - Aggregate recent analyst commentary and news for a given ticker using
get_stock_newswith exchange-specific filtering.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Morningstar have an official developer API?+
What does `get_valuation_metrics` return, and how is it structured?+
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?+
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?+
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?+
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.