---
title: "API Inputs"
description: "Input fields for the Time Series - Sync API."
url: "https://developer-beta.morningstar.com/time-series-api/api-inputs"
image: "https://developer-beta.morningstar.com/_og/d/c_Ocean.takumi,title_~QVBJIElucHV0cyB8IFRpbWUgU2VyaWVzIC0gU3luYyBBUEk,description_Input+fields+for+the+Time+Series+-+Sync+API.,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMwMDAwMDAifX19,p_Ii90aW1lLXNlcmllcy1hcGkvYXBpLWlucHV0cyI,s_t2gfdDqnPSpA7bun.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)

# Time Series API

Build Time Series APIs into your digital experience for quick investment and earnings summaries.

# API Inputs

[View Markdown](https://developer-beta.morningstar.com/time-series-api/api-inputs.md)[Download Markdown](https://developer-beta.morningstar.com/time-series-api/api-inputs.md)

## [Common Inputs](#common-inputs)

This API returns one data point per request, at a single endpoint per data point (`GET /direct-web-services/time-series/v1/{category}/{data-point}/{ids}`). These inputs identify the investments to look up, define the date range and frequency of the series, and apply general options. They are accepted across all data point endpoints unless noted otherwise.

Up to 25 investments can be requested in a single call. Several inputs (`idTypes`, `baseCurrency`, `domicile`, `exchangeCountry`, and `exchangeId`) accept a comma-separated list that is matched to the values in `ids` by position:

-   Values must align with the order of values in `ids`.
-   Use an empty entry to skip an investment.
-   Omit trailing commas after the last non-empty value.

For example, with `ids=id1,id2,id3,id4,id5`, passing `baseCurrency=,USD,,USD` applies `USD` to `id2` and `id4` only.

### [applyEarliestCommonDate](#applyearliestcommondate)

| Attribute       | Value                       |
| :-------------- | :-------------------------- |
| Type            | Query Parameter             |
| Data Type       | boolean                     |
| Possible Values | true, false. Default: false |
| Example         | true                        |

Specifies whether to apply the earliest common start date across all investments. When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned.

### [applyRestructureDate](#applyrestructuredate)

| Attribute       | Value                       |
| :-------------- | :-------------------------- |
| Type            | Query Parameter             |
| Data Type       | boolean                     |
| Possible Values | true, false. Default: false |
| Example         | true                        |

Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. Applies only when `applyEarliestCommonDate` is set to `true`.

### [applyTrackRecordExtension](#applytrackrecordextension)

| Attribute       | Value                       |
| :-------------- | :-------------------------- |
| Type            | Query Parameter             |
| Data Type       | boolean                     |
| Possible Values | true, false. Default: false |
| Example         | true                        |

Specifies whether to apply Track Record Extension logic to extend the performance of an investment by copying the historical performance of another qualified, older investment.

### [baseCurrency](#basecurrency)

| Attribute       | Value                               |
| :-------------- | :---------------------------------- |
| Type            | Query Parameter                     |
| Data Type       | string (comma-separated list)       |
| Possible Values | 3-character ISO 4217 currency codes |
| Example         | ,USD,,USD                           |

Base currency to use for investment lookup, passed as a list aligned by position with `ids`. Accepts 3-character ISO 4217 currency codes.

For more information about investment lookup, see the [Identifiers](https://developer-beta.morningstar.com/api-identifiers) page.

### [currencyId](#currencyid)

| Attribute       | Value                                                                            |
| :-------------- | :------------------------------------------------------------------------------- |
| Type            | Query Parameter                                                                  |
| Data Type       | string                                                                           |
| Possible Values | BAS, AUD, BND, BRL, CAD, CHF, CLP, CNH, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MOP, MXN, MYR, NOK, NZD, PLN, RMB, RUB, SEK, SGD, THB, TWD, USD, ZAR |
| Example         | USD                                                                              |

Specifies the currency in which to return data. Unlike `baseCurrency`, this is a single value that applies to every investment in the request.

### [domicile](#domicile)

| Attribute       | Value                                |
| :-------------- | :----------------------------------- |
| Type            | Query Parameter                      |
| Data Type       | string (comma-separated list)        |
| Possible Values | 3-character ISO 3166-1 country codes |
| Example         | ,USA,,USA                            |

Domicile to use for investment lookup, passed as a list aligned by position with `ids`. Accepts 3-character ISO 3166-1 country codes.

For more information about investment lookup, see the [Identifiers](https://developer-beta.morningstar.com/api-identifiers) page.

### [endDate](#enddate)

| Attribute       | Value           |
| :-------------- | :-------------- |
| Type            | Query Parameter |
| Data Type       | string (date)   |
| Possible Values | yyyy-MM-dd      |
| Example         | 2024-01-12      |

Specifies the end date for the time series. See [startDate](#startdate) for how the date range inputs interact and the lookback limits that apply.

### [exchangeCountry](#exchangecountry)

| Attribute       | Value                                |
| :-------------- | :----------------------------------- |
| Type            | Query Parameter                      |
| Data Type       | string (comma-separated list)        |
| Possible Values | 3-character ISO 3166-1 country codes |
| Example         | ,USA,,USA                            |

Exchange country to use for investment lookup, passed as a list aligned by position with `ids`. Accepts 3-character ISO 3166-1 country codes.

For more information about investment lookup, see the [Identifiers](https://developer-beta.morningstar.com/api-identifiers) page.

### [exchangeId](#exchangeid)

| Attribute       | Value                         |
| :-------------- | :---------------------------- |
| Type            | Query Parameter               |
| Data Type       | string (comma-separated list) |
| Possible Values | —                             |
| Example         | ,EX$$$$XMEX,,EX$$$$XNAS       |

Exchange identifier to use for investment lookup, passed as a list aligned by position with `ids`.

For more information about investment lookup, see the [Identifiers](https://developer-beta.morningstar.com/api-identifiers) page.

### [frequency](#frequency)

| Attribute       | Value                                                                            |
| :-------------- | :------------------------------------------------------------------------------- |
| Type            | Query Parameter                                                                  |
| Data Type       | string                                                                           |
| Possible Values | daily, weekly, monthly, quarterly, annually. The accepted values and the default depend on the data point (see below). |
| Example         | monthly                                                                          |

Specifies the time interval between data points. Most data points are stored at a single frequency, so only that frequency is accepted and it is also the default. A small set of data points accepts all five frequencies and defaults to `daily`.

Data points that accept all five frequencies:

-   Current Yield
-   Daily Bid Price
-   Daily Offer Price
-   Growth
-   Price
-   Return
-   Rolling Return

The frequency also determines the maximum lookback. See [startDate](#startdate).

### [ids](#ids)

| Attribute       | Value                                                                            |
| :-------------- | :------------------------------------------------------------------------------- |
| Type            | Path                                                                             |
| Data Type       | string (comma-separated list)                                                    |
| Possible Values | A performance ID, security ID, Morningstar ID (MSID), ISIN, CUSIP, trading symbol, or category ID, matching the corresponding value in idTypes |
| Example         | 0P00000016,0P00002Y8D,DODGX,0P000000ppY                                          |

Specifies the investments to query. Required. A maximum of 25 identifiers can be passed in a single request. Morningstar Performance ID is the default identifier; use the Universe API to retrieve Performance IDs for investments in your entitled universe.

When a category ID is passed, the corresponding `idTypes` value can be `performanceId` or `securityId`, and the value must be URL-encoded. For example, the category ID `LC00002226;CA]FO` is passed as `LC00002226;CA%5DFO`.

### [idTypes](#idtypes)

| Attribute       | Value                                                                            |
| :-------------- | :------------------------------------------------------------------------------- |
| Type            | Query Parameter                                                                  |
| Data Type       | string (comma-separated list)                                                    |
| Possible Values | performanceId, isin, securityId, cusip, tradingSymbol, msid. Default: performanceId |
| Example         | ,securityId                                                                      |

Specifies the type of each identifier provided in `ids`, passed as a list aligned by position with `ids`. Empty entries default to `performanceId`.

For example, with `ids=id1,id2,id3`, where `id1` and `id3` are performance IDs and `id2` is a security ID, pass `idTypes=,securityId`.

### [sinceInception](#sinceinception)

| Attribute       | Value                       |
| :-------------- | :-------------------------- |
| Type            | Query Parameter             |
| Data Type       | boolean                     |
| Possible Values | true, false. Default: false |
| Example         | true                        |

Sets the time range from inception (or the maximum supported lookback) to the end date. Takes precedence over `timePeriod` / `timePeriodUnit` and `startDate` / `endDate`.

Not supported by Daily OHLCV, which returns multivariate observations.

### [startDate](#startdate)

| Attribute       | Value           |
| :-------------- | :-------------- |
| Type            | Query Parameter |
| Data Type       | string (date)   |
| Possible Values | yyyy-MM-dd      |
| Example         | 2020-01-12      |

Specifies the start date for the time series.

The time range can be defined in three ways. When more than one is provided, the following order of precedence applies:

1.  `sinceInception`
2.  `timePeriod` and `timePeriodUnit`
3.  `startDate` and `endDate`

Requested ranges are limited by the type of observation returned and the frequency of the data. Most data points return univariate observations (`date` and `value`). Some, such as Daily OHLCV, return multivariate observations (a date and multiple named values).

| Frequency | Maximum Lookback (Univariate) | Maximum Lookback (Multivariate) |
| :-------- | :---------------------------- | :------------------------------ |
| Daily     | 12 months                     | 6 months                        |
| Weekly    | 60 months                     | 6 months                        |
| Monthly   | 120 months                    | 6 months                        |
| Quarterly | 600 months                    | 6 months                        |
| Annual    | 600 months                    | 6 months                        |

### [timePeriod](#timeperiod)

| Attribute       | Value                                                            |
| :-------------- | :--------------------------------------------------------------- |
| Type            | Query Parameter                                                  |
| Data Type       | number                                                           |
| Possible Values | A positive number, interpreted in the unit set by timePeriodUnit |
| Example         | 12                                                               |

Specifies the size of the time window for the data range. Used in combination with `timePeriodUnit` to specify relative time ranges. When `startDate`, `endDate`, `timePeriod`, and `timePeriodUnit` are all provided, `timePeriod` and `timePeriodUnit` take precedence.

### [timePeriodUnit](#timeperiodunit)

| Attribute       | Value               |
| :-------------- | :------------------ |
| Type            | Query Parameter     |
| Data Type       | string              |
| Possible Values | days, months, years |
| Example         | months              |

Specifies the unit for `timePeriod`. Used in combination with `timePeriod` to specify relative time ranges. When `startDate`, `endDate`, `timePeriod`, and `timePeriodUnit` are all provided, `timePeriod` and `timePeriodUnit` take precedence.

## [Data Point-Specific Inputs](#data-point-specific-inputs)

These inputs apply to **computed** data points, whose values are calculated at runtime. Standard data points are returned directly from stored data and do not accept them. Each entry links to the data point(s) where the input is used.

### [annualDays](#annualdays)

| Attribute       | Value                                                                            |
| :-------------- | :------------------------------------------------------------------------------- |
| Type            | Query Parameter                                                                  |
| Data Type       | number                                                                           |
| Possible Values | Any number. Common values are 252 (business days) and 365 (calendar days). Default: 365.25 |
| Example         | 365                                                                              |

Specifies the number of days in a year for annualized calculations. Used by the following data points:

-   Cumulative Return
-   Growth
-   Return
-   Rolling Return

### [annualized](#annualized)

| Attribute       | Value           |
| :-------------- | :-------------- |
| Type            | Query Parameter |
| Data Type       | boolean         |
| Possible Values | true, false     |
| Example         | true            |

Specifies whether the calculation results should be annualized. Used by the following data points:

-   Cumulative Return
-   Rolling Return

### [initialInvestment](#initialinvestment)

| Attribute       | Value                      |
| :-------------- | :------------------------- |
| Type            | Query Parameter            |
| Data Type       | number                     |
| Possible Values | Any number. Default: 10000 |
| Example         | 10000                      |

Specifies the initial value for the growth calculation, which is the base value for the index. Used by the following data points:

-   Growth

### [performanceType](#performancetype)

| Attribute       | Value                                |
| :-------------- | :----------------------------------- |
| Type            | Query Parameter                      |
| Data Type       | string                               |
| Possible Values | total, market, gross. Default: total |
| Example         | total                                |

Specifies the type of performance calculation to apply. Accepts up to two values. The first value is the preferred (primary) performance type. The second value is the secondary performance type and is used as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used by the following data points:

-   Cumulative Return
-   Growth
-   Price
-   Return
-   Rolling Return

### [preCurrency](#precurrency)

| Attribute       | Value                               |
| :-------------- | :---------------------------------- |
| Type            | Query Parameter                     |
| Data Type       | string                              |
| Possible Values | 3-character ISO 4217 currency codes |
| Example         | USD                                 |

Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used by the following data points:

-   Cumulative Return
-   Growth
-   Return
-   Rolling Return

### [requireContinueData](#requirecontinuedata)

| Attribute       | Value           |
| :-------------- | :-------------- |
| Type            | Query Parameter |
| Data Type       | boolean         |
| Possible Values | true, false     |
| Example         | true            |

Specifies whether continuous data is required for calculations. Used by the following data points:

-   Cumulative Return
-   Growth
-   Return
-   Rolling Return

### [stepSize](#stepsize)

| Attribute       | Value                  |
| :-------------- | :--------------------- |
| Type            | Query Parameter        |
| Data Type       | number                 |
| Possible Values | Any number. Default: 1 |
| Example         | 12                     |

Specifies the step size for rolling or iterative calculations. For example, `stepSize=12` with `frequency=monthly` calculates 12-month rolling values. Used by the following data points:

-   Cumulative Return
-   Rolling Return

### [windowSize](#windowsize)

| Attribute       | Value                         |
| :-------------- | :---------------------------- |
| Type            | Query Parameter               |
| Data Type       | integer                       |
| Possible Values | Integers from 1 to 2147483647 |
| Example         | 6                             |

Specifies the size of the rolling window, in periods of the selected `frequency`. Used by the following data points:

-   Rolling Return