Investment List API
Build the Investment List API into your digital experience for quick investment and earnings summaries.
Getting Started
The Investment List API allows you to retrieve tabular, list-based investment data for multiple securities in a single synchronous request. It is designed to power grid and list-based views such as watchlists, comparison tables, and dashboards by returning a flat, consistent dataset across funds, ETFs, and equities. This guide covers the workflow for making your first call and where to go when something goes wrong.
Workflow
Get an access token
The API uses OAuth 2.0 to authenticate users. Before you can call any endpoint, you must authenticate your account and get an access token.
See the Authentication article for information about obtaining and using access tokens.
Get performance IDs
The API uses Morningstar Performance IDs as the primary identifier. Use the Universe API to retrieve the performance IDs for the investments in your entitled universe. A single request can include up to 100 investments.
If you hold other identifiers, such as ISINs, CUSIPs, or trading symbols, the API can look up the matching performance IDs for you. See the Identifiers article for the identifiers the API supports.
Get data points
Use a list of data points to define the data the API returns for each investment. The API includes an endpoint that lists the data points you can use. Choose the ones you want to include in the investment list.
See Explore Data Points for more information about data points and how to call the endpoint.
Request data
Use the Investment List endpoint to retrieve data for one or more investments. Send a request with your investments and the data points you chose, and optionally a sort order.
Limits apply to the number of investments, data points and sort fields in a request. See Request an Investment List for guidance on creating requests, and API Inputs for the inputs and limits.
Check the response
Results are returned as a flat list, with one object for each investment that matched. Always check metadata.messages in the response. A 200 status code doesn't guarantee that every investment returned data, because identifiers that can't be matched are listed there instead.
See Work with Results.
Steps 1 through 3 are setup. You repeat step 1 only when your access token expires, and steps 2 and 3 only if your investments, data points or entitlements change. Steps 4 and 5 make up the request workflow, which you repeat each time you need data.
Managing Issues
If a request fails or returns unexpected results:
- Check the Error Messages page to find out what an error code or message means.
- See Troubleshooting for help with common issues, such as missing data or unexpected responses.
- Browse the FAQs for answers to frequently asked questions.