1.0OAS 3.1

Try This API

You can try this API by creating an account to get credentials. Once your calls are authorized, you can test the endpoints on this page and get back a limited sample of real data — enough to evaluate the response structure and integrate against it.

Trial responses are restricted to a sample universe. For full data coverage and production access, talk to our sales team.

Before You Start

You’ll need a Client ID and Client Secret. These come from an your account profile — they’re separate from the username and password you use to log in to Morningstar for Developers.

Create Account

Already have an account? Log in and follow the steps below.

  1. Create an application in your portal profile.
  2. Copy the Client ID and Client Secret it issues.

Authenticating Your Requests

Authentication is a two-step process.

  1. Request a token from POST /token/oauth, using your Client ID and Client Secret as HTTP Basic credentials.
  2. Send the token to all other endpoints as an Authorization: Bearer <token> header.

Reuse the token for up to 60 minutes, then request a new one.

Learn More

Ready to go deeper? The Investment Details API guide has the concepts, worked examples, and reference material you’ll need to build with confidence.

New to Morningstar’s APIs? The Quick Start takes you from account to first call in a few minutes.


API Base URL
  • Server 1:https://www.us-api.morningstar.com

    Americas

  • Server 2:https://www.apac-api.morningstar.com

    APAC

  • Server 3:https://www.emea-api.morningstar.com

    EMEA

Security
Bearer (http)

JWT obtained from POST /token/oauth. Send it on every request as Authorization: Bearer <token>. Reuse the token for up to 60 minutes, then request a new one.

Basic (http)

Used only by POST /token/oauth to obtain a bearer token. Send your Client ID and Client Secret as a Base64-encoded clientId:clientSecret pair.

Authentication

Generate a JSON Web Token (JWT)

Exchanges your Client ID and Client Secret for a signed JWT bearer token.

Send your credentials as a Base64-encoded clientId:clientSecret string in the Authorization header. Use the returned access_token as a Bearer token on all other endpoints in this API.

post

Response

application/json

200: OK

OutputToken

A successful authentication response containing a JWT bearer token.

access_tokenstringrequired

The signed JWT to use as a Bearer token in subsequent authenticated requests.

Example:eyJhbGciOiJ example

expires_inintegerrequired

The number of seconds until the token expires. After expiry, request a new token.

Example:3599

token_typestringrequired

The token type. Always Bearer.

Example:Bearer

post/token/oauth
 
application/json