Groww LogoGroww API

Historical Data

Fetch historical data of instruments easily using Groww APIs

Get NSE FNO INDICES Historical Data

GET https://api.groww.in/v1/historical/candle/bulk

This API can be used to get historical data for long durations of NSE FNO contracts and indices. It provides the historical OHLCV candles for a given interval. Data of FNO contracts is available from 2024 JAN while the indices data is available from 2025 JAN.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/historical/candle/bulk?exchange=NSE&segment=CASH&groww_symbol=NSE-NIFTY&start_time=2025-01-01 09:15:00&end_time=2025-01-01 15:30:00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
exchange *stringStock exchange
segment *stringSegment of the instrument such as CASH, FNO etc.
groww_symbol *stringUnique Groww symbol for the instrument, as specified in the instrument CSV file. Refer to the instruments page for the correct format.
start_time *stringTime in yyyy-MM-dd HH:mm:ss or epoch milliseconds format from which data is required
end_time *stringTime in yyyy-MM-dd HH:mm:ss or epoch milliseconds format from which data is required
interval_in_minutesstringInterval in minutes for which data is required

*required parameters

Response

All prices in rupees.

{
  "status": "SUCCESS",
  "payload": {
    "candles": [
      [
        1633072800, // candle timestamp in epoch second
        150.1,  // open price
        155.0,  // high price
        145.0,  // low price
        152.4,  // close price
        10000   // volume
      ]
    ],
    "start_time": 2025-01-01 15:30:00,
    "end_time": 2025-01-01 15:30:00,
    "interval_in_minutes": 5
  }
}

Response Schema

NameTypeDescription
candlesarray[array]This contains the list of candles. Each candle has candle timestamp (epoch second), open (float), high (float), low (float), close (float) , volume (int) in that order.
start_timestringStart time in yyyy-MM-dd HH:mm:ss
end_timestringEnd time in yyyy-MM-dd HH:mm:ss
interval_in_minutesintInterval in minutes
Candle IntervalMax Duration per RequestHistorical Data Available
1 min7 daysFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
5 min15 daysFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
10 min30 daysFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
1 hour (60 min)150 daysFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
4 hours (240 min)365 daysFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
1 day (1440 min)1080 days (~3 years)From JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices
1 week (10080 min)No LimitFrom JAN 2024 from NSE FNO contracts and from JAN 2025 for NSE Indices

Get Historical Data

GET https://api.groww.in/v1/historical/candle/range

This API can be used to get the historical data of an instrument for a given time range. It provides the historical candles for a given interval.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/historical/candle/range?exchange=NSE&segment=CASH&trading_symbol=WIPRO&start_time=2021-01-01 09:15:00&end_time=2021-01-01 15:15:00 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
exchange *stringStock exchange
segment *stringSegment of the instrument such as CASH, FNO etc.
trading_symbol *stringTrading Symbol of the instrument as defined by the exchange
start_time *stringTime in yyyy-MM-dd HH:mm:ss or epoch milliseconds format from which data is required
end_time *stringTime in yyyy-MM-dd HH:mm:ss or epoch milliseconds format from which data is required
interval_in_minutesstringInterval in minutes for which data is required

*required parameters

Response

All prices in rupees.

{
  "status": "SUCCESS",
  "payload": {
    "candles": [
      [
        1633072800, // candle timestamp in epoch second
        150.1,  // open price
        155.0,  // high price
        145.0,  // low price
        152.4,  // close price
        10000   // volume
      ]
    ],
    "start_time": 2025-01-01 15:30:00,
    "end_time": 2025-01-01 15:30:00,
    "interval_in_minutes": 5
  }
}

Response Schema

NameTypeDescription
candlesarray[array]This contains the list of candles. Each candle has candle timestamp (epoch second), open (float), high (float), low (float), close (float) , volume (int) in that order.
start_timestringStart time in yyyy-MM-dd HH:mm:ss
end_timestringEnd time in yyyy-MM-dd HH:mm:ss
interval_in_minutesintInterval in minutes
Candle IntervalMax Duration per RequestHistorical Data Available
1 min7 daysLast 3 months
5 min15 daysLast 3 months
10 min30 daysLast 3 months
1 hour (60 min)150 daysLast 3 months
4 hours (240 min)365 daysLast 3 months
1 day (1440 min)1080 days (~3 years)Full history
1 week (10080 min)No LimitFull history

Get Contracts for Expiry

GET https://api.groww.in/v1/historical/expiries

This API provides a list of expiry dates for a given exchange, underlying symbol, year, and optionally month. Useful for fetching available expiry dates for F&O contracts.

Request

curl -X GET https://api.groww.in/v1/historical/expiries?exchange=NSE&underlying_symbol=NIFTY&year=2024&month=6 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
exchange *stringStock exchange
underlying_symbol *stringUnderlying symbol for which expiry dates are required
year *integerYear for which expiry dates are required (2000-5000)
monthintegerMonth for which expiry dates are required (1-12, optional)

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": [
    "2024-06-27",
    "2024-07-25",
    "2024-08-29"
  ]
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE otherwise
payloadarray[string]List of expiry dates in yyyy-MM-dd format

Get Contracts for Expiry Date

GET https://api.groww.in/v1/historical/contracts

This API provides a list of FNO contract symbols for a given exchange, underlying symbol, and expiry date.

Request

curl -X GET "https://api.groww.in/v1/historical/contracts?exchange=NSE&underlying_symbol=NIFTY&expiry_date=2024-06-27" \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
exchange *stringStock exchange
underlying_symbol *stringUnderlying symbol for which contracts are required
expiry_date *stringExpiry date in yyyy-MM-dd format

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": [
    "NIFTY24JUN22000CE",
    "NIFTY24JUN22000PE",
    "NIFTY24JUN22100CE",
    "NIFTY24JUN22100PE"
  ]
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE otherwise
payloadarray[string]List of contract symbols for the given expiry date

On this page