---
title: "Raw enriched trades for a ticker"
method: GET
path: "/v1/underlying/{ticker}/trades"
tags: ["Underlying"]
---

# Raw enriched trades for a ticker

`GET /v1/underlying/{ticker}/trades`

Returns the raw enriched trade rows that feed the chart bars and
the live feed. Supports rich filtering — sweep-only / multi-leg,
moneyness, premium floor, DTE / strike / expiration windows.
See `OptionTradeRow` below.

## Path parameters

- `ticker` string, required

## Query parameters

- `start` string
- `end` string
- `limit` integer
- `only_sweeps` boolean
- `only_multi_leg` boolean
- `exclude_multi_leg` boolean
- `moneyness` 'ITM' | 'ATM' | 'OTM'
- `min_moneyness_pct` number, double
- `max_moneyness_pct` number, double
- `min_premium` number, double
- `min_dte` integer
- `max_dte` integer
- `min_strike` number, double
- `max_strike` number, double
- `expiration` string, date

## Response `200`

Filtered enriched trades.

- OptionTradeListSuccess
  - `data` OptionTradeRow[], required
    - `date` integer, required — Days since 1970-01-01 (compact session date).
    - `tsEvent` integer, required — Trade event timestamp in milliseconds since epoch.
    - `tsEventUs` integer — Microsecond-precision timestamp (contract-trades endpoint only).
    - `instrumentId` integer, required
    - `rawSymbol` string, required
    - `ticker` string, required
    - `expiration` integer, required — Expiration as days since 1970-01-01.
    - `strike` number, double, required
    - `right` 'C' | 'P', required
    - `dte` integer, required
    - `price` number, double, required
    - `size` integer, required
    - `side` 'BB' | 'B' | 'AB' | 'M' | 'BA' | 'A' | 'AA' | 'N', required — Granular execution-side label — `BB` (below bid), `B` (bid), `AB` (above bid), `M` (mid), `BA` (below ask), `A` (ask), `AA` (above ask), or `N` (no BBO).
    - `publisherId` integer, required
    - `bidPx` number, double, nullable
    - `askPx` number, double, nullable
    - `bidSz` integer, nullable
    - `askSz` integer, nullable
    - `neutralSz` integer, required
    - `totalPremium` number, double, required
    - `spread` number, double, nullable
    - `underlyingPrice` number, double, required
    - `iv` number, double, nullable
    - `moneyness` 'ITM' | 'ATM' | 'OTM', required
    - `moneynessPercent` number, double, required
    - `openInterest` integer, required
    - `prevOi` integer, required
    - `prevClose` number, double, nullable
    - `prevCloseAge` integer, nullable — Trading days back the `prevClose` came from (0 = yesterday).
    - `priceChange` number, double, nullable
    - `dailyVolume` integer, required
    - `sweepTrade` boolean, required
    - `blockTrade` boolean, required
    - `multiLeg` boolean, required
    - `ivDirection` -1 | 0 | 1, required — -1 = down, 0 = flat/unknown, 1 = up.
    - `ingestionTimestamp` integer, required — Server ingest time in milliseconds since epoch.
    - `prevIv` number, double, nullable
    - `nextIv` number, double, nullable
    - `premiumPercentile` 0 | 50 | 75 | 90 | 95 | 99 — Bucketed premium percentile band (0 = below P50, 99 = P99+).
    - `flowScore` integer
    - `chainBidPct` number, double
    - `chainAskPct` number, double
    - `contractBidPct` number, double
    - `contractAskPct` number, double
    - `aggCount` integer
    - `aggTotalPremium` number, double
    - `aggTotalSize` integer
    - `mlSibling` boolean — True when this leg was included via spread association rather than its own filter match.
    - `strategyGroupId` string
    - `strategyType` string
    - `strategyLegCount` integer
    - `earningsDte` integer
    - `nextEarningsDate` integer
    - `cacheMiss` boolean
    - `sector` string
    - `industry` string
  - `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`.
- `429` — Per-minute rate limit exceeded.

---

[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)
