Skip to main content
GET 

/market/pcr

Put-Call Ratio (PCR)

API for retrieving the Put-Call Ratio for an underlying asset on a given expiry and date. It accepts the instrument key, expiry, date, and bucket interval, and returns the PCR for the requested date along with spot price insights at each interval.

Request

curl --location 'https://api.upstox.com/v2/market/pcr?instrument_key=NSE_INDEX%7CNifty%2050&expiry=2026-05-29&date=2026-05-07&bucket_interval=60' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

For additional samples in various languages, please refer to the Sample code section on this page.


Query Parameters

NameRequiredDescription
instrument_keyRequiredUnderlying asset instrument key. For the regex pattern applicable to this field, see the Field Pattern Appendix.
expiryRequiredExpiry date of the option contract in YYYY-MM-DD format.
dateRequiredDate for which PCR data is required, in YYYY-MM-DD format.
bucket_intervalRequiredBucket interval in minutes for intraday PCR insights.

The bucket_interval parameter controls the granularity of the intraday insights array — it defines the gap in minutes between consecutive data points. For example, bucket_interval=60 returns one data point per hour starting from market open (09:15, 10:15, 11:15, ..., 15:15).

Responses

Response body

{
"status": "success",
"data": {
"instrument_key": "NSE_INDEX|Nifty 50",
"expiry_date": "19-05-2026",
"pcr": 0.6162626197672175,
"spot_closing_price": 24044.35,
"insights": [
{
"pcr": 0.6440030253572708,
"spot_price": 23955.0,
"time": "09:15"
},
{
"pcr": 0.6188192668371697,
"spot_price": 23829.65,
"time": "10:15"
},
{
"pcr": 0.6011564491753729,
"spot_price": 23800.0,
"time": "11:15"
},
{
"pcr": 0.6114701925916205,
"spot_price": 23905.75,
"time": "12:15"
},
{
"pcr": 0.6311270125223614,
"spot_price": 23950.65,
"time": "13:15"
},
{
"pcr": 0.6493306043015804,
"spot_price": 24028.5,
"time": "14:15"
},
{
"pcr": 0.652457692695892,
"spot_price": 23988.3,
"time": "15:15"
}
]
}
}
NameTypeDescription
statusstringOutcome of the request. Typically success for successful operations.
dataobjectPCR data object.
data.instrument_keystringUnderlying asset instrument key.
data.expiry_datestringExpiry date of the option contract.
data.pcrnumberPut-Call Ratio for the requested date (total put OI / total call OI).
data.spot_closing_pricenumberClosing spot price of the underlying asset.
data.insightsarrayIntraday PCR data points at the requested bucket interval.
data.insights[].pcrnumberPCR at this interval.
data.insights[].spot_pricenumberSpot price at this interval.
data.insights[].timestringTime of the interval in HH:mm format.

Sample Code

Get PCR data

curl --location 'https://api.upstox.com/v2/market/pcr?instrument_key=NSE_INDEX%7CNifty%2050&expiry=2026-05-29&date=2026-05-07&bucket_interval=60' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'