Flowseeker/API Reference/Contract

Intraday chart bars for a contract

GEThttps://api.skylit.ai/v1/contract/{symbol}/chart

Time-bucketed bars for a single contract — granular bid/mid/ask execution split, premium and volume per side, daily cumulative totals, VWAP, and (when available) IV and 30D average baselines.

Authorization

Authorization: Bearer <your API key>

Required. A missing header returns 401; an invalid, revoked or expired key returns 403.

Path parameters

  • symbolstringrequired

    OPRA option symbol in URL-safe form: {ticker}__{YYMMDD}{C|P}{strike×1000, 8 digits} — the ticker and the 15-character contract block are joined by a double underscore (__). For example, an AAPL $250 call expiring 2026-01-17 is AAPL__260117C00250000. (A space-padded 21-char OCC form such as AAPL 260117C00250000 is also accepted on some endpoints, but the __ form is canonical and works across all contract routes.)

Query parameters

  • intervalstringrequired

    Trailing window — {N}D where N is 1–365 (e.g. 1D, 7D). At most 30D with an intraday bucket. Priced by range: 3 credits per started 30 days. N counts trading days (weekends and market holidays are skipped), ending with the current or latest session.

  • bucketstringrequired

    Bucket size. Every bucket in the window is returned, zero-filled when nothing traded, so the response grows with window / bucket: 1min over 30D is about 11,700 bars (390 per session), a multi-megabyte response. For windows over about 20 trading days, use 5min or coarser. Retention: 1min-30min cover the last 365 days; 1d and 1w go back to 2023-03-27.

    1min5min10min15min30min1d1w

Responses

  • 200

    Intraday bars for the contract.

  • 400

    Request validation failed.

  • 401

    Missing or invalid API key.

  • 402

    The account's shared Skylit credit balance is lower than this route's cost. Top up to continue. Carries X-Credits-Remaining: 0.

  • 403

    Unknown, revoked or expired API key (the gateway's forbidden), the account's API access is suspended (account_suspended) or blocked (account_blocked). Not retryable.

  • 404

    Unknown ticker or contract (SYMBOL_NOT_FOUND), or no data for the requested window. Not charged.

  • 429

    Either the key exceeded its requests-per-minute limit (X-RateLimit-Limit; no Retry-After, wait until X-RateLimit-Reset), or the account is over one of the API's own limits, such as the query budget (queries running at once, fresh queries per second): TOO_MANY_CONCURRENT_QUERIES or RATE_LIMITED with Retry-After. Not charged; retry after the wait.

  • 500

    Unexpected server error (INTERNAL_ERROR, DATABASE_ERROR). Not charged; safe to retry with exponential backoff.

  • 503

    Underlying data source temporarily unavailable, the credit balance could not be verified (credit_check_failed), or the API is paused for maintenance (api_paused, with a Retry-After header and a retry_after field in seconds). Not charged; safe to retry.

  • 504

    The request did not complete within 25 seconds. Not charged; narrow the window or retry.

Response fields

  • dataobject[]required
    • timestampstringrequired
    • timestampEndstringrequired
    • belowBidVolumeintegerrequired
    • bidVolumeintegerrequired
    • aboveBidVolumeintegerrequired
    • midVolumeintegerrequired
    • belowAskVolumeintegerrequired
    • askVolumeintegerrequired
    • aboveAskVolumeintegerrequired
    • noSideVolumeintegerrequired
    • candleVolumeintegerrequired
    • candleVolumeNoMlinteger

      Single-leg volume (used for multi-leg % calculation).

    • candlePremiumnumberdoublerequired
    • belowBidPremiumnumberdoublerequired
    • bidPremiumnumberdoublerequired
    • aboveBidPremiumnumberdoublerequired
    • midPremiumnumberdoublerequired
    • belowAskPremiumnumberdoublerequired
    • askPremiumnumberdoublerequired
    • aboveAskPremiumnumberdoublerequired
    • noSidePremiumnumberdoublerequired
    • dailyVolumeintegerrequired
    • dailyPremiumnumberdoublerequired
    • vwapnumberdoublerequired
    • ivnumber | nulldouble
    • avgVolumenumberdouble
    • avgPremiumnumberdouble
  • metaobjectrequired
    • timestampstringdate-timerequired

      Server-side timestamp the response was generated at.

    • requestIdstringrequired

      Short opaque ID for log correlation.

    • nextCursorstring

      Trade feeds (/v1/flow/{ticker}, /v1/contract/{symbol}/trades): pass back as cursor with the same filters for the next page. Present only when more rows may follow.

    • nextEndTimestringdate-time

      /v1/flow/{ticker} only: the last row's exact time (RFC 3339 with nanoseconds), for end_time paging. Inclusive, so rows at that instant can repeat; nextCursor never repeats or skips.

Last updated

Was this page helpful?