---
title: "Request Equities"
description: "How to request equities data in Investment Details Feed API."
url: "https://developer-beta.morningstar.com/investment-details-feed-api/request-equities"
image: "https://developer-beta.morningstar.com/_og/d/c_Ocean.takumi,title_~UmVxdWVzdCBFcXVpdGllcyB8IEludmVzdG1lbnQgRGV0YWlscyBGZWVk,description_How+to+request+equities+data+in+Investment+Details+Feed+API.,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMwMDAwMDAifX19,p_Ii9pbnZlc3RtZW50LWRldGFpbHMtZmVlZC1hcGkvcmVxdWVzdC1lcXVpdGllcyI,s_VLiLiOWoajvEHzUA.png"
---

-   [APIs](https://developer-beta.morningstar.com/apis)
-   [API Catalog](https://developer-beta.morningstar.com/api-catalog)
-   [API Assistant MCP Server](https://developer-beta.morningstar.com/api-assistant-mcp)
-   [Guides](https://developer-beta.morningstar.com/api-guides)
-   [Trial Access](https://developer-beta.morningstar.com/trial-access)

# Investment Details Feed API

Get detailed profile data for up to 250 investments in a single request, drawing on Morningstar's fundamental, reference, and historical data..

# Request Equity Data

[View Markdown](https://developer-beta.morningstar.com/investment-details-feed-api/request-equities.md)[Download Markdown](https://developer-beta.morningstar.com/investment-details-feed-api/request-equities.md)

This article explains how to request **Equity** data. For the concepts behind each part of a request, see [Core Concepts](https://developer-beta.morningstar.com/investment-details-feed-api/core-concepts).

## [Request Overview](#request-overview)

Send a `POST` request to the Investment Details endpoint, using the base URL for your region ([Getting Started](https://developer-beta.morningstar.com/investment-details-feed-api/getting-started)).

```text
POST /direct-web-services/v1/investments
```

| Header        | Value            | Description         |
| :------------ | :--------------- | :------------------ |
| Authorization | Bearer {token}   | See Authentication. |
| Content-Type  | application/json |                     |
| Prefer        | respond-async    | Required.           |

The JSON body has the following properties.

| Property                                    | Required         | Purpose                      |
| :------------------------------------------ | :--------------- | :--------------------------- |
| investments                                 | Yes              | The investments to retrieve. |
| views                                       | Yes              | The views of data to return. |
| startDate, endDate                          | Time series only | The date range.              |
| languageId, countryId, currencyId, regionId | No               | Request-level filters.       |

For the full list of inputs, see [API Inputs](https://developer-beta.morningstar.com/investment-details-feed-api/api-inputs).

## [Build Your Request](#build-your-request)

### [1: Specify Investments](#_1-specify-investments)

Use the `investments` array. Morningstar Performance ID is the default identifier type.

```json
"investments": [
    { "id": "0P0000004Y" },
    { "id": "0P00000046" },
    { "id": "0P00000056" }
]
```

To use another identifier, set `idType` on the entry. Accepted types are `performanceId` (default), `isin`, `fundCode`, `securityId`, `cusip`, `msid`, `tradingSymbol` and `industryCode`. You can mix types in one request.

```json
"investments": [
    {
        "id": "US0042391096",
        "idType": "isin",
        "exchangeCountry": "USA",
        "domicile": "USA",
        "baseCurrency": "USD"
    },
    {
        "id": "F000015DDK",
        "idType": "securityId"
    }
]
```

If an identifier can match more than one investment, narrow it with `exchangeCountry`, `domicile`, `baseCurrency` or `exchangeId`. See [Identifiers](https://developer-beta.morningstar.com/api-identifiers#identifier-lookup). Unmatched identifiers are reported in the results. See [Retrieve Investment Details](https://developer-beta.morningstar.com/investment-details-feed-api/retrieve-results#check-metadata-and-warnings).

### [2: Specify Views](#_2-specify-views)

The `views` array takes 1 to 3 views, each with a `viewId`.

-   To find valid view IDs, see [Get View IDs](https://developer-beta.morningstar.com/investment-details-feed-api/get-view-ids).
-   For package-specific inputs and limits, see [Package-Specific Guides](https://developer-beta.morningstar.com/investment-details-feed-api/package-specific-guides).

**Package view**

```json
"views": [
  { "viewId": "equity-returns" }
]
```

**Dataset view.** `viewType` is mandatory for standard datasets.

```json
"views": [
  {
    "viewId": "equity-returns-to-date",
    "viewType": "dataset"
  }
]
```

**View with parameters.** Pass parameters as arrays of values.

```json
"views": [
  {
    "viewId": "quantitative-equity-rating-analysis",
    "parameters": {
      "quantitativeSmartTextType": ["Moat"]
    }
  }
]
```

### [3: Set a Date Range (Optional)](#_3-set-a-date-range-optional)

Use dates only with views that return time series data. Including them with most-recent-data views fails the request.

| Property  | Use                      |
| :-------- | :----------------------- |
| startDate | Start date (YYYY-MM-DD). |
| endDate   | End date (YYYY-MM-DD).   |

### [4: Set Request-Level Filters (Optional)](#_4-set-request-level-filters-optional)

These apply to the whole request.

| Property   | Use                                                                   |
| :--------- | :-------------------------------------------------------------------- |
| languageId | Language for language-dependent data.                                 |
| countryId  | Country for country-dependent data, as a 3-character ISO 3166-1 code. |
| currencyId | Currency for currency-dependent data.                                 |
| regionId   | Region for style box breakpoints, 1 to 7.                             |

## [Send the Request](#send-the-request)

The following examples request style box data for three investments in the United States region.

### [Example: Most Recent Data](#example-most-recent-data)

```bash
curl --request POST \
  --url "https://www.us-api.morningstar.com/direct-web-services/v1/investments" \
  --header "Authorization: Bearer {token}" \
  --header "Content-Type: application/json" \
  --header "Prefer: respond-async" \
  --data '{
    "investments": [
        { "id": "0P0000004Y" },
        { "id": "0P00000046" },
        { "id": "0P00000056" }
    ],
    "views": [
        { "viewId": "equity-style-box" }
    ],
    "regionId": "1"
}'
```

### [Example: Time Series Data](#example-time-series-data)

Same request, with a five-year date range. Only the body is shown.

```json
{
    "investments": [
        { "id": "0P0000004Y" },
        { "id": "0P00000046" },
        { "id": "0P00000056" }
    ],
    "views": [
        { "viewId": "equity-style-box" }
    ],
    "startDate": "2020-01-01",
    "endDate": "2025-01-01",
    "regionId": "1"
}
```

## [Read the 202 Response](#read-the-202-response)

A valid request returns `202 Accepted` with the job details, not data.

```json
{
  "jobId": "16bf1a7a-c883-4424-8810-2f4e9d244d40",
  "_links": {
    "href": "https://www.us-api.morningstar.com/dynamic-services-apis/jobs/16bf1a7a-c883-4424-8810-2f4e9d244d40",
    "rel": "status",
    "method": "GET"
  },
  "metadata": {
    "requestId": "c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c",
    "time": "2025-10-02T10:54:36.9161062Z"
  }
}
```

| Property                  | Description                                                   |
| :------------------------ | :------------------------------------------------------------ |
| jobId                     | Identifier of the job.                                        |
| _links.href               | URL to call to check the job status.                          |
| _links.rel, _links.method | Always status and GET.                                        |
| metadata.requestId        | Identifier of the request. Include it if you contact support. |
| metadata.time             | Time of the response.                                         |

## [Retrieve Results](#retrieve-results)

To check the job and retrieve results, see [Retrieve Investment Details](https://developer-beta.morningstar.com/investment-details-feed-api/retrieve-results).

## [Results](#results)

The response has two top-level properties.

| Property    | Description                                                                 |
| :---------- | :-------------------------------------------------------------------------- |
| investments | An array with one object for each investment that returned data.            |
| metadata    | Information about the response: the request ID, the time, and any messages. |

### [Investments](#investments)

Each object in `investments` is one investment. It has the following characteristics.

-   **Identifiers.** The `identifiers` object holds the investment's performance ID. Use it to match the data to the investments in your request.
-   **Data groups.** The remaining properties are data groups, named for the data they hold. The groups depend on the views you requested.
-   **Objects and arrays.** A group is an object when there is one record, and an array when there can be several, such as time series values or several reporting periods. In the example above, `profitability` is an array.
-   **Coded values.** Some values are returned as an object with a `value` and a `code`, for example `{ "value": "US Dollar", "code": "USD" }`.
-   **Language and country.** Data that depends on language or country uses the `languageId` and `countryId` from your request.
-   **Time series data.** Time series data is returned at the data group level.

Time Series Data

Time series data availability is view specific. See the data dictionary for details.

### [Metadata](#metadata)

See [Work with Results](https://developer-beta.morningstar.com/investment-details-feed-api/work-with-investment-details-results) for information about metadata and metadata messages.

### [Example Results](#example-results)

#### [Most Recent Data](#most-recent-data)

```json
{
    "investments": [
        {
            "consensusRawRecommendations": [
                {
                    "asOfDate": "2026-10-23",
                    "buy": 2,
                    "hold": 0,
                    "meanLabel": "Buy",
                    "meanRating": 4.6667,
                    "noOpinion": 0,
                    "outPerform": 1,
                    "sell": 0,
                    "underPerform": 0
                }
            ],
            "identifiers": {
                "performanceId": "0P000000M6"
            }
        }
    ],
    "metadata": {
        "requestId": "d9609c76-d9ab-411f-8e24-c84fb7483ca0",
        "time": "2026-10-26T12:09:51.3376067Z"
    }
}
```

#### [Time Series Data](#time-series-data)

```json
{
    "investments": [
        {
            "consensusRawRecommendations": [
                {
                    "asOfDate": "2025-01-01",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-31",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-30",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-27",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-26",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-25",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-24",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-23",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-20",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                },
                {
                    "asOfDate": "2024-12-19",
                    "buy": 1,
                    "hold": 1,
                    "meanLabel": "Hold",
                    "meanRating": 3.3333,
                    "noOpinion": 0,
                    "outPerform": 0,
                    "sell": 0,
                    "underPerform": 1
                }
            ],
            "identifiers": {
                "performanceId": "0P000000M6"
            }
        }
    ],
    "metadata": {
        "requestId": "2e8c5049-d100-4fb3-bf5c-1cfc1b14e26d",
        "time": "2026-10-26T12:11:40.9413298Z"
    }
}
```