CuteMarkets Docs

API Reference

Everything you need to integrate market data, build faster, and scale.

Tip: open /docs/rate-limits.md directly for raw markdown (easy copy/paste into an LLM).

Rate Limits & Plans

CuteMarkets uses a tiered subscription model. Options and stocks are separate subscription products, but both use the same plan ladder, throughput rules, freshness rules, lookback windows, and quote gating.

Plans

PlanYearly billingMonthly billingRequests / minRequests / dayData delayHistorical lookbackQuotes endpoint
Free€0€0105,00015 min delayed3 years
Developer€49 / mo€59 / moUnlimitedUnlimited15 min delayed7 years
Expert€99 / mo€119 / moUnlimitedUnlimitedLive10 years
Commercial€399 / mo€469 / moUnlimitedUnlimitedLive10 years

Products

Options and stocks are purchased independently. Keep using tier for the Options API subscription and stock_tier for the Stocks API subscription in profile responses.

  • A Developer options plan does not unlock stock access unless you also subscribe to Developer or higher for stocks.
  • A stock Expert plan unlocks stock quotes, not options quotes.
  • API keys are product-scoped. Use an Options API key for options endpoints and a Stocks API key for stock endpoints.

Historical lookback

Each plan enforces a hard limit on how far back in time you can query. Requests that include a date or timestamp parameter that falls outside your plan's window are rejected with a 403 lookback_exceeded error.

PlanLookbackAffected parameters
Free3 yearsfrom_date, date, as_of, expiration_date.*, timestamp.*
Developer7 yearsSame as above
Expert10 yearsSame as above
Commercial10 yearsSame as above

The cutoff is calculated relative to the time of the request (rolling window, not a fixed calendar year).

Example 403 Response

bash
curl \
  "https://api.cutemarkets.com/v1/options/contracts/?underlying_ticker=SPY&as_of=2020-01-01" \
  -H "Authorization: Bearer YOUR_API_KEY"
bash
{
  "status": "ERROR",
  "request_id": "cm_9c4a1d82e3f04b6a8d2e7f1c5b0a9e3d",
  "error": {
    "code": "lookback_exceeded",
    "message": "Your Free plan allows up to 3 years of historical lookback. Upgrade your plan to access older data."
  }
}

Rate limit headers

Every API response includes headers that tell you your current usage:

HeaderDescription
X-RateLimit-PlanYour current plan: Free, Developer, Expert, or Commercial
X-RateLimit-Limit-MinutePer-minute request limit (unlimited for paid plans)
X-RateLimit-Remaining-MinuteRemaining requests this minute
X-RateLimit-Limit-DayDaily request limit (5000 for Free, unlimited for paid plans)
X-RateLimit-Remaining-DayRemaining requests today

Example 429 Response

If you exceed your plan's request limit, you'll receive an ERROR envelope like this:

bash
curl \
  "https://api.cutemarkets.com/v1/options/chain/NFLX/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
bash
{
  "status": "ERROR",
  "request_id": "cm_f38efe47d6b24bf691281cb973a60b61",
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Upgrade your plan for higher limits."
  }
}

Next steps

Move from the docs into the product workflow

If you are evaluating the API rather than implementing a specific endpoint right now, the product pages map the live, historical, and chain workflows directly.