Skip to content

Put/Call Data API

Retrieve options market data including put/call ratios, volume, and price. Track options positioning and sentiment.

GET /v2/put-call-ratio/{symbol}

Authenticate using one of the following methods (in order of recommendation):

MethodExample
Bearer token (recommended)Authorization: Bearer YOUR_API_KEY
X-API-Key headerX-API-Key: YOUR_API_KEY
Query parameter?apiKey=YOUR_API_KEY
Legacy query parameter?token=YOUR_API_KEY
ParameterTypeRequiredDescription
symbolstringYesStock ticker symbol (e.g., AAPL, MSFT)
ParameterTypeRequiredDescription
startDatestringNoStart date (YYYY-MM-DD)
endDatestringNoEnd date (YYYY-MM-DD)
limitintegerNoMaximum number of results to return
from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.options.put_call("AAPL",
date_from="2025-01-01",
date_to="2025-06-30",
as_dataframe=True)
print(df)
{
"success": true,
"data": {
"symbol": "AAPL",
"name": "Apple Inc.",
"data": [
{
"date": "2026-01-19",
"ratio": 0.5,
"callVolume": 620689,
"putVolume": 310344,
"totalVolume": 931034,
"price": 255.53
},
{
"date": "2026-01-16",
"ratio": 1.42,
"callVolume": 442233,
"putVolume": 627971,
"totalVolume": 1070205,
"price": 258.21
}
]
},
"meta": { "timestamp": "2026-01-19T15:06:21.343Z" }
}
FieldTypeDescription
successbooleanWhether the request succeeded
data.symbolstringStock ticker symbol
data.namestringCompany name
data.dataarrayArray of put/call data points
meta.timestampstringResponse timestamp (ISO 8601)
FieldTypeDescription
datestringDate (YYYY-MM-DD)
rationumberPut/call ratio
callVolumeintegerCall options volume
putVolumeintegerPut options volume
totalVolumeintegerTotal options volume (calls + puts)
pricenumberClosing price on this date
RatioInterpretation
Above 1.2Heavy put activity (bearish/hedging)
0.7 - 1.2Normal range
Below 0.7Heavy call activity (bullish)
CodeErrorDescription
400Bad RequestInvalid symbol or parameters
401UnauthorizedInvalid or missing API key
403ForbiddenAuthenticated, but not authorized to access this resource
404Not FoundSymbol not found
429Too Many RequestsRate limit exceeded — wait and retry
500Internal Server ErrorServer-side error