Time Series API

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

Set the Time Range

A time series request needs a frequency and a time range. This page explains how to set both, the limits that apply, and how to align the start dates of several investments.

Frequency

The frequency parameter sets the interval between observations.

ValueDescription
dailyDefault.
weekly
monthly
quarterly
annually

For how observations are dated at each frequency, see Core Concepts.

Choose a Time Range

Define the time range with one of the following approaches.

Start and End Dates

Pass startDate and endDate in yyyy-MM-dd format.

GET /direct-web-services/time-series/v1/performance/daily-price/0P00000CSY
  ?startDate=2024-01-01
  &endDate=2024-12-31

Relative Time Period

Pass timePeriod and timePeriodUnit to request a window of a given length. timePeriod is the number of units, and timePeriodUnit is days, months or years.

GET /direct-web-services/time-series/v1/performance/daily-price/0P00000CSY
  ?timePeriod=12
  &timePeriodUnit=months

Since Inception

Set sinceInception to true to request data from the start of each investment's history, or from the maximum supported lookback, to the end date.

GET /direct-web-services/time-series/v1/performance/monthly-return/0P00000CSY
  ?sinceInception=true

sinceInception isn't supported for multivariate data points such as daily-ohlcv.

Which Setting Wins

If you combine approaches, the API applies them in this order of precedence.

PrioritySettingsEffect
1sinceInceptionOverrides timePeriod, timePeriodUnit, startDate and endDate.
2timePeriod and timePeriodUnitOverride startDate and endDate.
3startDate and endDateUsed when neither of the above is set.

Lookback Limits

The maximum lookback depends on the frequency and on the observation type of the data point. A request that goes further back than the limit must be split into several requests.

FrequencyUnivariate Data PointsMultivariate Data Points
daily12 months6 months
weekly60 months6 months
monthly120 months6 months
quarterly600 months6 months
annually600 months6 months

The limits apply whichever approach you use to set the time range, including sinceInception.

Align Start Dates

Investments don't all have data from the same date. The following parameters change the start of each time series. All three default to false.

ParameterEffect
applyEarliestCommonDateMoves the start date of every time series to the latest inception date among the requested investments, so all series start on the same date.
applyRestructureDateConsiders the Morningstar or custom restructure date when determining the start of the performance period. Applies only when applyEarliestCommonDate is true.
applyTrackRecordExtensionExtends an investment's performance by copying the historical performance of another qualified, older investment.

The following request aligns three investments to a common start date.

GET /direct-web-services/time-series/v1/performance/monthly-return/0P00000CSY,0P00002D6U,0P00001XK7
  ?startDate=2010-01-01
  &endDate=2024-12-31
  &frequency=monthly
  &applyEarliestCommonDate=true

Aligned start dates are useful when you want to compare investments over the same period.