Developer guide

Weekly Options Classification API

Options workflows often need more than a list of dates. You need to know whether a listed expiration is weekly, standard monthly, quarterly OpEx, or a long-dated LEAPS cycle.

Weekly

Listed short-dated cycle that is not the standard monthly third-Friday expiration.

Monthly

Standard third-Friday cycle, adjusted earlier if that Friday is a market holiday.

Quarterly

Monthly cycle in March, June, September, or December.

LEAPS

Long-dated monthly cycle, often January, listed far into the future.

Minimum classification logic

Fetch listed expirations first, then classify each date against the adjusted third-Friday monthly cycle. Keep holiday adjustment separate from listed-date discovery.

def classify_expiration(date, monthly_date):
    if date == monthly_date and date.month in {3, 6, 9, 12}:
        return "quarterly"
    if date == monthly_date:
        return "monthly"
    if date.year - today.year >= 1:
        return "leaps_or_long_dated"
    return "weekly"

Endpoint examples

curl "https://api.cutemarkets.com/v1/tickers/expirations/QQQ/" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl "https://api.cutemarkets.com/v1/options/contracts/?underlying_ticker=QQQ&expiration_date=2026-04-17&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"

Related pages