Skip to main content
GET 

/historical-candle/intraday/:instrument_key/:unit/:interval

Intraday Candle Data V3

This API is an extended version of standard Intraday Candle Data API, which allows you to retrieve Open, High, Low, and Close (OHLC) values for the current trading day. It supports customizable time intervals across various units such as minutes, hours, days.

This API is particularly useful for traders and analysts who require detailed intraday data for technical analysis, backtesting, or algorithmic trading strategies. This V3 API provides additional custom interval options that are not available in the standard Intraday Candle Data API.

This API provides the following unit and interval options for intraday data:

UnitInterval Options
minutes1, 2, 3, ... 300
hours1, 2, ... 5
days1

New Instruments

  • Global Index — Major global stock market indices such as GIFT NIFTY, Dow Jones, S&P, FTSE 100, and more. See Global Instruments for details and download the Global Instruments file for instrument keys.
  • Global Indicators — Economic and commodity indicators including USD INR, Oil (Brent), and Oil (WTI). See Global Instruments for details and download the Global Instruments file for instrument keys.
  • India VIX — The NSE Volatility Index, available using instrument key NSE_INDEX|India VIX.

Request

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Additional samples in various languages are available in the Sample Code section on this page.

Path Parameters

NameRequiredTypeDescription
instrument_keyRequiredstringThe unique identifier for the financial instrument for which historical data is being queried. For the regex pattern applicable to this field, see the Field Pattern Appendix.
unitRequiredstringSpecifies the unit for the candles.
Possible values: minutes, hours, days.
intervalRequiredstringSpecifies the interval for the candles.
Possible values:
1, 2, 3, ..., 300 for minutes.
1, 2, ..., 5 for hours.
1 for days.

Responses

Response Body

{
"status": "success",
"data": {
"candles": [
[
"2025-01-12T15:15:00+05:30",
2305.3,
2307.05,
2301,
2304.65,
559982,
0
],
[
"2025-01-12T14:45:00+05:30",
2309.1,
2310.75,
2305.25,
2305.3,
740124,
0
]
]
}
}
NameTypeDescription
statusstringA string indicating the outcome of the request. Typically success for successful operations.
dataobjectContains OHLC values for all instruments across various timeframes.
data.candlesarray[]Array of candle data, each presented as an array with sequential elements representing trading activity.
data.candle[0]numberTimestamp: Indicating the start time of the candle's timeframe.
data.candle[1]numberOpen: The opening price of the asset for the given timeframe.
data.candle[2]numberHigh: The highest price at which the asset traded during the timeframe.
data.candle[3]numberLow: The lowest price at which the asset traded during the timeframe.
data.candle[4]numberClose: The closing price of the asset for the given timeframe.
data.candle[5]numberVolume: The total amount of the asset that was traded during the timeframe.
data.candle[6]numberOpen Interest: The total number of outstanding derivative contracts, such as options or futures.

Sample Code

Get data with a 1-minute interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 3-minute interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/3' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 5-minute interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/5' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 15-minute interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/15' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 30-minute interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/minutes/30' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 1-hour interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/hours/1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get data with a 2-hour interval

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/hours/2' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Get current day data

curl --location 'https://api.upstox.com/v3/historical-candle/intraday/NSE_EQ%7CINE848E01016/days/1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'