Discover/Morningstar API
live

Morningstar APImorningstar.com.au

Retrieve Australian stock, ETF, and managed fund data from Morningstar Australia. 12 endpoints covering financials, dividends, valuations, ownership, and more.

Endpoint health
verified 6d ago
get_ownership
get_market_overview
get_upcoming_dividends
get_historical_prices
get_company_profile
12/12 passing latest checkself-healing
Endpoints
12
Updated
21d ago

What is the Morningstar API?

The Morningstar Australia API gives developers access to 12 endpoints covering ASX-listed stocks, ETFs, and managed funds. You can pull Morningstar star ratings, multi-year financial statements, dividend history with franking rates, institutional ownership, and live market indices. The get_security_summary endpoint alone returns fair value estimates, moat ratings, ESG sustainability scores, and valuation ratios in a single call, while get_financial_statements delivers hierarchical income statement, balance sheet, and cash flow line items across annual or quarterly periods.

Try it
Maximum number of results to return.
Search term such as a company name or ticker symbol.
api.parse.bot/scraper/4904c488-66a8-49ff-a753-bd2399155900/<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/4904c488-66a8-49ff-a753-bd2399155900/search_securities?limit=5&query=BHP' \
  -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-au-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 Australia API - Usage Example

Get your API key from: https://parse.bot/settings
"""
from parse_apis.morningstar_australia_api import (
    Morningstar,
    Security,
    ArticleCategory,
    StatementType,
    TimePeriod,
    SecurityNotFound,
)

client = Morningstar(api_key="YOUR_API_KEY")

# Search for securities by name or ticker
for security in client.securities.search(query="BHP", limit=3):
    print(security.name, security.symbol, security.exchange_code)

# Get market overview with indices, currencies, and commodities
overview = client.marketoverviews.get()
for index in overview.equity:
    print(index.name, index.ticker, index.last.value, index.last.percent_change)

# List upcoming ASX dividends
for dividend in client.upcomingdividends.list(limit=5):
    print(dividend.ticker, dividend.name, dividend.pay_date, dividend.div_cash_amount)

# Get news articles filtered by category
for article in client.articles.list(category=ArticleCategory.STOCKS, limit=3):
    print(article.title, article.author, article.date)

# Construct a security directly and drill into sub-resources
bhp = Security(_api=client, id="0P00006WAE", symbol="BHP", exchange_code="ASX")

# Get summary overview (star rating, fundamentals, sustainability)
summary = bhp.summary.get()
print(summary.overview.star_rating, summary.overview.sector, summary.overview.market_cap)

# Get historical prices for 3 months
prices = bhp.historical_prices.get(period=TimePeriod.THREE_MONTHS)
print(prices.change.last_price, prices.change.net_change_percent)

# Get financial statements with typed error handling
try:
    financials = bhp.financials.get(statement=StatementType.INCOME_STATEMENT)
    for row in financials.rows:
        print(row.label, row.data_point_id)
except SecurityNotFound as exc:
    print(f"Security not found: {exc.symbol} on {exc.exchange}")

print("exercised: securities.search / marketoverviews.get / upcomingdividends.list / articles.list / summary.get / historical_prices.get / financials.get")
All endpoints · 12 totalmissing one? ·

Search for stocks, ETFs, and managed funds by name or ticker symbol. Returns matching securities across all security types (stocks, ETFs, managed funds). Results include the security ID, performanceId, type, name, symbol, and exchange code needed to call other endpoints.

Input
ParamTypeDescription
limitintegerMaximum number of results to return.
queryrequiredstringSearch term such as a company name or ticker symbol.
Response
{
  "type": "object",
  "fields": {
    "results": "array of security objects with id, performanceId, securityType, name, symbol, exchangeCode"
  },
  "sample": {
    "data": {
      "results": [
        {
          "id": "0P00006WAE",
          "apir": null,
          "name": "BHP Group Ltd",
          "symbol": "BHP",
          "exchangeId": "EX$$$$XASX",
          "exchangeCode": "ASX",
          "securityType": "ST",
          "performanceId": "0P00006WAE"
        }
      ]
    },
    "status": "success"
  }
}

About the Morningstar API

Security Search and Identification

Start with search_securities, which accepts a query string (company name or ticker) and an optional limit. Results return each security's id, performanceId, securityType, symbol, and exchangeCode. The performanceId and exchangeCode values are required inputs for most other endpoints, so this is the typical entry point for any lookup flow.

Fundamentals and Financial Data

get_security_summary returns a broad snapshot including the Morningstar starRating, morningstarFundamentals (fair value, moat, stewardship), sustainability scores, marketCap, priceEarnings, and dividendYield. Fields marked _PO_ in the response require a premium Morningstar account. For deeper analysis, get_security_key_metrics provides multi-year growth rates for revenue, operating income, net income, and EPS, alongside profitability ratios (ROA, ROE, ROIC) and financial health metrics (current ratio, debt/equity). get_financial_statements accepts symbol, exchange, a statement parameter (incomeStatement, balanceSheet, or cashFlow), and a period flag (A for annual, Q for quarterly), returning hierarchical rows with label, dataPointId, and datum arrays matched to columnDefs year labels.

Dividends, Valuation, and Ownership

get_dividends returns per-share dividend amounts, trailing yield, payout ratio, and a full dividendHistory array with ex-date, declaration date, record date, payable date, type, and amount — including the franked rate, which is especially relevant for Australian investors. get_upcoming_dividends covers ASX-listed dividends within the next 90 days, sorted ascending by pay date. get_valuation provides both collapsed ratios (P/S, P/E, P/CF, P/B) and expanded metrics (PEG, Earnings Yield, EV, EV/EBIT, EV/EBITDA) with current values and 5-year averages. get_ownership returns the top 5 institutional and top 5 mutual fund holders with shares held, percentage of total shares, and change amounts.

Market Overview and News

get_market_overview requires no inputs and returns major equity indices (including ASX 200, S&P 500, NASDAQ), currency pairs (AUD/USD and others), and commodities (Gold, Oil, Silver) with latest prices and percentage changes. get_news_and_insights accepts an optional category and limit, returning Morningstar analyst article titles, URLs, authors, and publication dates. get_historical_prices returns a daily price time series as an array of ISO datetime/value pairs plus a change object with netChange and netChangePercent over the selected period.

Reliability & maintenanceVerified

The Morningstar API is a managed, monitored endpoint for morningstar.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when morningstar.com.au 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.au 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
6d ago
Latest check
12/12 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
  • Screen ASX stocks by Morningstar star rating, moat classification, and fair value estimate using get_security_summary.
  • Build a dividend calendar for Australian investors by combining get_upcoming_dividends with per-security franking rates.
  • Backtest valuation strategies using multi-year P/E, EV/EBITDA, and EV/EBIT series from get_valuation.
  • Construct a financial health dashboard tracking debt/equity, current ratio, and ROIC trends via get_security_key_metrics.
  • Monitor institutional ownership changes for a watchlist by polling get_ownership for top holder movements.
  • Populate a portfolio tracker with daily historical price series and net change data from get_historical_prices.
  • Aggregate ASX dividend income projections by pulling per-share amounts and payout ratios from get_dividends.
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 Australia have an official developer API?+
Morningstar offers data licensing and enterprise API products through morningstar.com/business, but there is no publicly documented self-serve REST API for the morningstar.com.au site. This Parse API provides structured access to the data available on that site.
What does `get_financial_statements` return, and how do I choose between annual and quarterly data?+
The endpoint returns hierarchical financial line items with labels, dataPointIds, and datum arrays aligned to year columns defined in columnDefs. Set the period parameter to 'A' for annual or 'Q' for quarterly. The statement parameter selects which report to return: 'incomeStatement', 'balanceSheet', or 'cashFlow'. Some line items are marked premium-only and will be empty for non-premium requests.
Are managed funds and ETFs covered, or only ASX equities?+
The API covers stocks, ETFs, and managed funds. search_securities returns results across all three securityType values, and endpoints like get_dividends and get_historical_prices work for any security type returned from the search. Coverage is primarily ASX-listed securities, though the search may surface securities on other exchanges.
Does the API return analyst price targets or full Morningstar research reports?+
Not currently. The API covers star ratings, fair value estimates, and moat ratings via get_security_summary, plus analyst articles via get_news_and_insights, but does not expose full analyst research PDFs or explicit price targets as discrete fields. You can fork this API on Parse and revise it to add an endpoint targeting the relevant report data.
How current is the market data returned by `get_market_overview` and `get_historical_prices`?+
Market overview data reflects the latest published values on Morningstar Australia at the time of the request. Historical prices use daily frequency; the change object includes a lastPriceDate field indicating the most recent data point. Intraday tick data is not available through these endpoints.
Page content last updated . Spec covers 12 endpoints from morningstar.com.au.
Related APIs in FinanceSee all →
morningstar.com API
Get comprehensive financial data including stock quotes, company profiles, historical financials, valuation metrics, ownership details, dividends, and market movers from Morningstar. Search securities and access the latest stock news to make informed investment decisions.
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.
marketindex.com.au API
Track ASX stock market data including company information, stock prices, dividends, director transactions, and sector performance. Search for stocks, monitor upcoming dividends, view market announcements, and analyze investment opportunities across the Australian securities exchange.
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.
asx.com.au API
Access Australian Securities Exchange (ASX) market data, including equity prices, index summaries, company details, market announcements, and company directory listings. Retrieve upcoming IPO and float information alongside comprehensive data on all ASX-listed companies.
vaneck.com.au API
Access real-time NAV prices, last trade prices, and historical performance data for VanEck Australia ETFs and indices. Retrieve fund snapshots, comprehensive performance tables, and price metrics for any ASX-listed VanEck ETF.
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.
au.finance.yahoo.com API
Get real-time stock quotes, historical price data, and market activity for stocks on Yahoo Finance Australia. Access the most active stocks by region and retrieve detailed metrics — including price, volume, and market cap — to support investment research and analysis.