Retrieve all available expiration dates for an underlying ticker's options contracts.
Example Endpoint
/v1/tickers/expirations/NFLX/Endpoint
GET /v1/tickers/expirations/{ticker}
Example Request
curl \
"https://api.cutemarkets.com/v1/tickers/expirations/NFLX/" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample Response
{
"status": "OK",
"request_id": "cm_47aea1ae363e4d649dabde589fa4c3f8",
"ticker": "NFLX",
"results": [
"2026-04-02",
"2026-04-10",
"2026-04-17",
"2026-04-24",
"2026-05-01",
"2026-05-08",
"2026-05-15"
]
}
Related calendar guides
- 2026 Options Expiration Dates
- Expiration Calendar
- SPX Options Expiration Dates
- Weekly Options Classification API
- Option Expiration Date Filters
- Options Expiration API
- Next OpEx Date
Calendar rule versus listed data
The endpoint returns listed expiration dates for the requested underlying. That is different from a generated calendar. Calendar rules help explain why a monthly or quarterly date exists, but listed data is what an application should trust before it requests contracts.
| Layer | What it answers | Example |
|---|---|---|
| Calendar rule | What date should the standard monthly cycle use? | June 2026 monthly OpEx moves to Thursday, June 18 because Friday, June 19 is Juneteenth. |
| Listed-expiration endpoint | Which dates are available for this underlying? | Fetch SPY, QQQ, AAPL, or NVDA independently. |
| Contract query | Which contracts exist for that exact date? | Request contracts or chains only after the date appears in the expiration list. |
Failure modes to avoid
Do not generate every Friday locally and assume those dates are listed. Active ETFs often have dense weekly expirations, while other underlyings can be thinner. Do not query a holiday date when the live cycle moved to the prior business day. Do not merge tickers together just because they share a monthly calendar anchor; actual weekly and LEAPS listings can vary by underlying.
Production workflow
Expiration lookup should usually happen before contract discovery. Start with the underlying symbol, fetch the listed expirations, let the user or model choose one date, then request contracts or a chain for that exact date. That order prevents avoidable empty-chain requests and makes holiday-adjusted dates explicit in the user interface.
For applications that support many underlyings, cache expiration lists by ticker and retrieval time. Use a shorter cache window for active ETFs and index products that can have frequent weekly listings, and a longer cache window for slower research jobs where the application already records the retrieval date. Do not cache an expiration list as if it were a universal market calendar; it is specific to the requested underlying.
Classification guidance
After the endpoint returns dates, classify them in your application layer if the UI needs labels such as weekly, monthly, quarterly, or LEAPS. The listed date is the source of truth; the label is interpretation. Standard monthly expirations are usually tied to the third Friday cycle, but holidays can move the last trading day and product-specific rules can differ.
When a page or scanner shows "next OpEx", distinguish between the next listed expiration and the next standard monthly OpEx. Those are often different. A ticker can have a weekly expiration before the next monthly anchor, and a quarterly month can share the same date as the standard monthly cycle.
Integration checklist
- Fetch listed expirations for the exact underlying.
- Display the date list before requesting a chain.
- Validate user-entered expiration dates against the endpoint response.
- Record the retrieval timestamp for cached expiration lists.
- Classify weekly, monthly, quarterly, and LEAPS labels after the raw dates are known.
- Recheck live listed dates before publishing automated date-sensitive answers.