---
title: "Aggregated multi-exchange sweep activity"
method: GET
path: "/v1/sweeps/{ticker}"
tags: ["Sweeps"]
---

# Aggregated multi-exchange sweep activity

`GET /v1/sweeps/{ticker}`

Returns "logical sweeps" — multi-exchange splits of one large order
grouped by contract within a one-second execution window. Each row
carries the venue list, total contracts/premium, spread position,
moneyness bucket, and Skylit Flow Score / FlowBonus. The summary
block adds population-level Sweep Dominance Factor (SDF) and
bullish/bearish counts extrapolated from the full-day total.

## Path parameters

- `ticker` string, required

## Query parameters

- `timeframe` '5m' | '15m' | '1h' | '4h' | '1d'
- `min_premium` number, double
- `option_type` 'call' | 'put' | 'all'
- `moneyness` 'deep_itm' | 'itm' | 'atm' | 'otm' | 'deep_otm' | 'all'
- `min_dte` integer
- `max_dte` integer
- `min_strike` number, double
- `max_strike` number, double
- `expiration` string, date
- `limit` integer
- `date` string, date

## Response `200`

Sweep activity for `{ticker}`.

- SweepSuccess
  - `data` SweepResponse, required
    - `ticker` string, required
    - `sweeps` SweepItem[], required
      - `timestamp` string, date-time, required
      - `optionType` 'CALL' | 'PUT', required
      - `strike` number, required
      - `expiration` string, date, required
      - `dte` integer, required
      - `totalContracts` integer, required
      - `totalPremium` number, required
      - `exchangeCount` integer, required
      - `exchanges` string[], required — Distinct OPRA exchange codes that filled the sweep.
      - `executionTimeMs` integer, required — Milliseconds between first and last leg of the sweep.
      - `spreadPosition` 'AT_ASK' | 'ABOVE_MID' | 'AT_MID' | 'BELOW_MID' | 'AT_BID' | 'UNKNOWN', required
      - `moneyness` 'DEEP_ITM' | 'ITM' | 'ATM' | 'OTM' | 'DEEP_OTM', required
      - `scores` SweepScores, required
        - `flowScore` integer, required — Directional Flow Score for the aggregated sweep.
        - `flowBonus` integer, required — Conviction bonus (multi-exchange, OTM, premium size).
    - `summary` SweepSummary, required
      - `totalSweeps` integer, required — Estimated total logical sweeps for the day (population, not just `returnedCount`).
      - `bullishSweeps` integer, required
      - `bearishSweeps` integer, required
      - `totalSweepPremium` number, required
      - `sdf` number, required — Sweep Dominance Factor (-100..+100) over the full day.
      - `returnedCount` integer, required — Sweeps included in the `sweeps` array (capped by `limit`).
  - `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/versions/3280190b1b24/schema)
