---
title: "Raw flow feed for a ticker (Flow Score + FlowBonus per trade)"
method: GET
path: "/v1/flow/{ticker}"
tags: ["Flow"]
---

# Raw flow feed for a ticker (Flow Score + FlowBonus per trade)

`GET /v1/flow/{ticker}`

Returns the most recent options trades for `{ticker}` within the
requested timeframe, each scored on Skylit's directional Flow Score
(-100 → +100) and conviction-weighted FlowBonus. The response also
includes timeframe-level VWF / SDF / FIR aggregates.

## Path parameters

- `ticker` string, required

## Query parameters

- `timeframe` '5m' | '15m' | '1h' | '4h' | '1d'
- `limit` integer
- `min_premium` number, double
- `option_type` 'call' | 'put' | 'all'
- `trade_type` 'sweep' | 'multi_leg' | 'all'
- `moneyness` 'deep_itm' | 'itm' | 'atm' | 'otm' | 'deep_otm' | 'all'
- `start_time` string
- `end_time` string
- `max_premium` number, double
- `min_contracts` integer
- `max_contracts` integer
- `single_leg_only` boolean
- `min_dte` integer
- `max_dte` integer
- `min_strike` number, double
- `max_strike` number, double
- `expiration` string, date
- `conviction_weights` string
- `min_flow_score` integer
- `min_flow_bonus` integer
- `min_rvol` number, double
- `include_clusters` boolean
- `date` string, date

## Response `200`

Flow feed for `{ticker}`.

- FlowSuccess
  - `data` FlowResponse, required
    - `ticker` string, required
    - `timeframe` string, required
    - `trades` FlowTradeItem[], required
      - `timestamp` string, date-time, required
      - `tradeId` string, required
      - `optionType` 'CALL' | 'PUT', required
      - `strike` number, required
      - `expiration` string, date, required
      - `dte` integer, required
      - `dteCategory` 'zero_dte' | 'weekly' | 'monthly' | 'leap'
      - `dteFactor` number
      - `dteMultiplier` number
      - `contracts` integer, required
      - `premium` number, required — Total premium in USD.
      - `price` number, required — Trade price per contract.
      - `bid` number, required
      - `ask` number, required
      - `mid` number, required
      - `spreadWidth` number
      - `spreadWidthPct` number
      - `liquidityGrade` 'A' | 'B' | 'C' | 'D' | 'F'
      - `underlyingPrice` number, required
      - `isSweep` boolean, required
      - `isMultiLeg` boolean, required
      - `exchangeCount` integer, nullable — Number of distinct OPRA exchanges that filled the order.
      - `moneyness` 'DEEP_ITM' | 'ITM' | 'ATM' | 'OTM' | 'DEEP_OTM', required
      - `moneynessPct` number
      - `moneynessWeight` number
      - `combinedMoneynessDteWeight` number
      - `delta` number, nullable
      - `notionalDeltaExposure` number, nullable
      - `openInterest` integer
      - `dailyVolume` integer
      - `volOiRatio` number, nullable
      - `volOiScore` integer
      - `sizeOiRatio` number, nullable
      - `sizeOiScore` integer
      - `oiIsZero` boolean
      - `rvol` number, nullable
      - `rvolScore` integer
      - `rvolCategory` string, nullable
      - `iv` number, nullable
      - `ivChangePct` number, nullable
      - `relativePremium` number — Premium relative to the contract's average premium.
      - `scores` FlowTradeScores, required — Per-trade scoring outputs (PRD Section 10).
        - `flowScore` integer, required — Composite directional score (-100..+100).
        - `flowScoreInterpretation` string, required
        - `flowBonus` integer, required — Conviction bonus (0..+100).
        - `flowBonusInterpretation` string, required
        - `baseDirection` integer, required — Pre-conviction directional score (-100..+100).
        - `convictionMultiplier` number, required — Multiplier applied to base direction to yield `flowScore`.
      - `cluster` ClusterInfo — Present when `includeClusters=true` and the trade is part of a sweep, condor, or other multi-leg cluster.
        - `clusterId` string, required
        - `clusterTradeCount` integer, required
        - `clusterTotalPremium` number, required
        - `clusterTimeSpanSeconds` integer, required
    - `aggregate` AggregateScores, required — Window-level scoring components.
      - `vwf` number, required — Volume-Weighted Flow score (-100..+100).
      - `sdf` number, required — Sweep-Dominant Flow score (-100..+100).
      - `fir` number, required — Flow Imbalance Ratio (-100..+100).
    - `tradeCount` integer, required
    - `sweepCount` integer, required
    - `totalPremium` number, required
    - `queryTimeMs` integer, required
  - `meta` Meta, required
    - `timestamp` string, date-time, required — Server-side timestamp the response was generated at.
    - `requestId` string, required — Short opaque ID for log correlation.

## Other responses

- `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` — API key revoked/expired, monthly quota exceeded, or the account's API access is suspended (`account_suspended`).
- `404` — Unknown resource (ticker / sector / window with no data).
- `429` — Per-minute rate limit exceeded.
- `503` — Underlying data source temporarily unavailable, or the credit balance could not be verified (`credit_check_failed`). Safe to retry.

---

[API](https://skmtc.net/skylit/apis/flowseeker-skylit-public-api.md) · [All operations](https://skmtc.net/skylit/apis/flowseeker-skylit-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skylit/flowseeker-skylit-public-api/revisions/3280190b1b24/schema)
