The option chain for an active stock-market underlying, including ETFs: the listed expiration dates, the full calls-and-puts chain for one expiration (strike, greeks, implied volatility, open interest and the latest snapshot price), and a single contract by its OCC symbol. snapshotDate attributes each contract's snapshot figures to a trading session; null means the provider returned figures without a session timestamp, not that the other fields are empty. bidPrice/askPrice are 15-minute delayed and populated only when your plan entitles quotes (quotesAvailable is then true); they are otherwise null. The row's delayed flag describes those quote fields alone, so it is false when no quote is returned and says nothing about snapshotDate. Implied volatility and greeks are decimal fractions (0.4351 = 43.51 % IV, delta 0.5123); prices are US dollars. Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted.
The path names the exact listed underlying. A request for GOOG does not return the GOOGL chain, and BRK-A does not fall through to BRK-B. The market-data reference feed resolves that identity authoritatively: an unknown, inactive or delisted ticker returns 404, while a known active listing with no contracts returns its own successful no-options result.
Only an empty active-contract reference result proves that a known listing has no listed options. A confirmed expiration can instead return an empty snapshot while keeping its expiration, which means no snapshot rows were available for that date. If options data is not enabled, times out, or the provider request fails, these endpoints return the standard 503 error envelope with code service_unavailable; an operational failure is never returned as an empty no-options response.
/v1/stocks/
The listed expiration dates for an underlying, ascending, each with the number of active contracts. Use one as the expiration for the chain. truncated: true means the provider's reference-page safety bound was reached, so later expirations or counts may be incomplete.
Parameters: {ticker} (path — e.g. NVDA).
curl "https://api.equibles.com/v1/stocks/NVDA/options/expirations" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/options/expirations",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/options/expirations", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"ticker": "NVDA",
"companyName": "Nvidia Corp",
"truncated": false,
"expirations": [
{ "expirationDate": "2026-07-24", "contractCount": 168 },
{ "expirationDate": "2026-08-21", "contractCount": 208 },
{ "expirationDate": "2026-09-18", "contractCount": 154 },
{ "expirationDate": "2026-12-18", "contractCount": 494 },
{ "expirationDate": "2027-01-15", "contractCount": 154 }
]
}
/v1/stocks/
The calls-and-puts chain for one expiration: strike, contract type, the latest daily bar, implied volatility, open interest and greeks (delta, gamma, theta, vega). Defaults to the nearest upcoming expiration; narrow with minStrike/maxStrike and type. The service first resolves the expiration from active contract identities, then fetches only that expiration's snapshot. truncated: true means the returned rows were capped or the provider's snapshot-page safety bound was reached. A known listing with no active contracts returns 200 with expiration: null and an empty contracts array. If the expiration is confirmed but its current snapshot is empty, the response keeps that expiration and returns an empty array; it does not claim that the underlying has no options.
Parameters: {ticker} (path — e.g. NVDA); expiration (yyyy-MM-dd, default nearest upcoming); minStrike / maxStrike; type (call / put, default both); limit (default 250, max 500).
curl "https://api.equibles.com/v1/stocks/NVDA/options/chain?expiration=2026-09-18&minStrike=205&maxStrike=205" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/options/chain",
params={"expiration": "2026-09-18", "minStrike": 205, "maxStrike": 205},
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/options/chain?expiration=2026-09-18&minStrike=205&maxStrike=205", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"ticker": "NVDA",
"companyName": "Nvidia Corp",
"expiration": "2026-09-18",
"quotesAvailable": false,
"returned": 2,
"total": 2,
"truncated": false,
"contracts": [
{
"occTicker": "O:NVDA260918C00205000",
"contractType": "Call",
"exerciseStyle": "American",
"strikePrice": 205.0,
"expirationDate": "2026-09-18",
"sharesPerContract": 100,
"snapshotDate": "2026-07-24",
"dayOpen": 15.93, "dayHigh": 16.5, "dayLow": 14.91, "dayClose": 15.25,
"dayVolume": 57, "dayVwap": 15.347,
"impliedVolatility": 0.4351335900771632,
"openInterest": 18423,
"delta": 0.5683372597248743, "gamma": 0.011284461699521109,
"theta": -0.13519764301048143, "vega": 0.31752483349676425,
"bidPrice": null, "askPrice": null, "delayed": false
},
{
"occTicker": "O:NVDA260918P00205000",
"contractType": "Put",
"exerciseStyle": "American",
"strikePrice": 205.0,
"expirationDate": "2026-09-18",
"sharesPerContract": 100,
"snapshotDate": "2026-07-24",
"dayOpen": 12.25, "dayHigh": 13.0, "dayLow": 11.95, "dayClose": 12.78,
"dayVolume": 73, "dayVwap": 12.3871,
"impliedVolatility": 0.442685573470891,
"openInterest": 10877,
"delta": -0.4347310481362263, "gamma": 0.011229565589700827,
"theta": -0.11929909961179762, "vega": 0.31768236407262235,
"bidPrice": null, "askPrice": null, "delayed": false
}
]
}
/v1/stocks/
A single option contract by its OCC symbol: the latest daily bar, implied volatility, open interest, greeks, and bid/ask when your plan entitles quotes. The contract is fetched live from the provider; an unknown or expired symbol returns 404.
Parameters: {ticker} (path — e.g. NVDA); symbol (query — the OCC option symbol, e.g. O:NVDA260918C00210000).
curl "https://api.equibles.com/v1/stocks/NVDA/options/contract?symbol=O:NVDA260918C00210000" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/options/contract",
params={"symbol": "O:NVDA260918C00210000"},
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/options/contract?symbol=O:NVDA260918C00210000", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"ticker": "NVDA",
"quotesAvailable": false,
"contract": {
"occTicker": "O:NVDA260918C00210000",
"contractType": "Call",
"exerciseStyle": "American",
"strikePrice": 210.0,
"expirationDate": "2026-09-18",
"sharesPerContract": 100,
"snapshotDate": "2026-07-24",
"dayOpen": 13.35, "dayHigh": 13.9, "dayLow": 12.35, "dayClose": 12.8,
"dayVolume": 285, "dayVwap": 13.1329,
"impliedVolatility": 0.43065701036767545,
"openInterest": 59701,
"delta": 0.5123947745154717, "gamma": 0.011527232307739228,
"theta": -0.13440416336922348, "vega": 0.32284346275567993,
"bidPrice": null, "askPrice": null, "delayed": false
}
}