Unusual Options Activity Tracker — Flow & Volume API
Pricing
from $100.00 / 1,000 options activity records
Unusual Options Activity Tracker — Flow & Volume API
Track unusual options activity from public US options-chain quotes (Nasdaq, with Cboe delayed quotes as fallback) — source-linked JSON for analysts, funds and AI agents. No API key. Pay per record.
Pricing
from $100.00 / 1,000 options activity records
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Unusual Options Activity Tracker
Unusual Options Activity Tracker is a NexGenData tool on Apify that returns unusual options volume, open interest and premium from public delayed options-chain quotes from Nasdaq and Cboe.
Track unusual options activity from public US options-chain quotes (Nasdaq, with Cboe delayed quotes as the fallback), parsed into clean JSON. Built for analysts, funds, fintech builders and AI agents. Delayed public market data — not financial or investment advice. Not affiliated with Nasdaq or Cboe.
📊 Sample Output

current_stock_price | expiration_date | volume_oi_ratio | delta | theta | total_premium_traded_usd |
|---|---|---|---|---|---|
| 377.84 | 2026-09-25 | 33.531 | -0.4724 | -2.7588 | 22848787.5 |
| 766.35 | 2026-09-28 | 32.587 | -0.1492 | -0.2708 | 1731735 |
| 377.84 | 2026-09-25 | 26.752 | -0.7032 | -1.6235 | 13616487.5 |
| 766.35 | 2026-09-25 | 25.012 | -0.3123 | -1.1294 | 9109850.5 |
| 766.35 | 2026-09-28 | 24.287 | -0.3238 | -0.3989 | 3142637.5 |
| 377.84 | 2026-09-25 | 21.417 | -0.2522 | -1.2763 | 5322494 |
Real rows from run DL0JWQya7hI6tc8bN on build 0.0.18 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.
🔧 Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
symbols | array | ["AAPL", "TSLA", "NVDA", "SPY", "AMD"] | Limit the scan to a specific list of optionable US tickers (e.g. NVDA, TSLA, SPY, AAPL). Leave empty to sweep the curated high-volume optionable universe (mega-cap names + activel… |
limit | integer | 25 | Maximum number of unusual options activity records returned per run. Each record is billed at $0.10. Records are emitted ranked by unusual_score descending. Use a small limit to v… |
option_type | string (all, Call, Put) | "all" | Filter by option type. 'Call' returns only call options, 'Put' returns only puts, 'all' returns both. Calls dominating unusual flow = bullish skew, puts dominating = bearish/hedgi… |
min_volume | integer | 500 | Only return contracts where today's volume is at or above this threshold. Filters out low-liquidity noise. Typical unusual-activity threshold is 500+ contracts. |
min_volume_oi_ratio | number | 2.0 | Only return contracts where today's volume divided by open interest is at or above this ratio. Vol/OI > 2 is typically unusual, > 10 is highly unusual (potential sweep / smart-mon… |
max_days_to_expiration | integer | 60 | Only return contracts that expire within this many days. Near-term unusual activity (DTE <= 30) is often the strongest directional signal. Set to 0 to disable the filter. |
min_open_interest | integer | 100 | Only return contracts where open interest is at or above this threshold. Avoids brand-new contracts with tiny OI that produce inflated vol/OI ratios. Default 100. |
min_premium_traded_usd | integer | 10000 | Only return contracts where total premium traded today (volume x 100 x mid price) is at or above this dollar amount. Filters out small retail flow. $10K+ surfaces serious money. |
moneyness | string (any, ITM, ATM, OTM) | "any" | Filter by moneyness. ITM = in-the-money (intrinsic value), ATM = at-the-money (strike near spot), OTM = out-of-the-money (no intrinsic value). Far OTM unusual flow is often the mo… |
monitor_new_only | boolean | false | Optional monitor mode. When true (and monitor_key set), emit only unusual-activity contracts not seen in prior runs of the same monitor_key — for scheduled runs that pick up just… |
monitor_key | string | A unique label for your scheduled watch (e.g. 'my-aapl-watch'). State is isolated per key, so different schedules never share a seen-set. Required for monitor mode. |
🧾 JSON sample record
One real record from run DL0JWQya7hI6tc8bN (emails/phones masked, long text shortened):
{"symbol": "TSLA","company_name": null,"current_stock_price": 377.84,"option_type": "Put","strike_price": 377.5,"expiration_date": "2026-09-25","days_to_expiration": 0,"volume": 74305,"open_interest": 2216,"volume_oi_ratio": 33.531,"last_trade_price": 3.05,"bid": 3,"ask": 3.15,"mid": 3.075,"implied_volatility_pct": 42.32,"delta": -0.4724,"gamma": 0.0484,"theta": -2.7588,"vega": 0.0795,"total_premium_traded_usd": 22848787.5,"moneyness": "ATM","unusual_score": 95,"occ_symbol": "TSLA260925P00377500","data_source": "CBOE Delayed Quotes (cdn.cboe.com)","source_url": "https://www.cboe.com/delayed_quote/tsla/quote_table","as_of_date": "2026-09-25","fetched_at_utc": "2026-09-25T00:05:43+00:00"}
💰 Pricing
| Event | Price (USD) | When it is charged |
|---|---|---|
Actor Start (apify-actor-start) | $0.01 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Options activity record (apify-default-dataset-item) | $0.1 | Charged per unusual options activity record with strike, expiration, volume, OI, implied vol, premium traded, and unusual score. |
Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.1 = $10.00 plus the start fee.
📊 What you get
Clean JSON, one record per record. Key fields (full output has 27 fields):
company_name— Company / filer namesource_url— Direct sec.gov filing linkas_of_date— Detection / fetch timestamp Every record carries a direct sec.gov source link.
Pricing: $0.10 per record (Pay-Per-Event) — about 10 records per $1.
🤖 Use with AI agents
Structured, source-linked options data built for LLM and agent pipelines — point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it and pull unusual options activity on demand.
Sample agent prompt:
Find tickers with unusual call volume versus open interest today.
Agentic payments (x402): Supports agentic payment via x402 — agents can call this actor with USDC, no API key required.
Run it on a schedule
Once per trading day is the usual cadence, run during or after the session, because option volume and open interest reset every day. Each run is a fresh snapshot: contracts can be new, or the same contract can come back with different volume, premium and Greeks. Turn on monitor mode with monitor_new_only: true and a unique monitor_key, and each scheduled run then returns only contracts not seen in earlier runs of that key, so you are billed only for the new ones. Leave monitor mode off if you want the full ranked snapshot every time. Send each run's results onward with a webhook, Google Sheets, Zapier, Make or the Apify API.
Video guides from Apify: Schedule your Actor · Integrations
FAQ
Why use this instead of the official CBOE delayed quote pages?
The sample records name their source as CBOE delayed quotes. Those pages show one ticker's option chain at a time. This actor sweeps a list of tickers (or a built-in list of high-volume names), applies your filters for volume, volume-to-open-interest ratio, days to expiry, open interest, premium traded and moneyness, ranks the hits by an unusual score, and returns clean JSON. It needs no API key and can run on a schedule with new-only monitor mode.
What does a typical run cost?
You pay per result, not for run time: $0.10 for each row in the results, plus $0.01 per run start (charged per GB of run memory, minimum one). A run that returns 25 options contracts costs about $2.51. Live prices are always shown in the Pricing tab.
How do I find options with unusually high volume compared with open interest?
Set min_volume_oi_ratio. The default is 2, and the input notes say above 10 is highly unusual. Pair it with min_volume and min_open_interest to cut out thin contracts that produce inflated ratios. Results come back sorted by unusual_score, highest first, up to your limit.
Is this real-time options flow?
No. The data comes from delayed quotes, and each record carries as_of_date and fetched_at_utc so you can see when it was taken. It is factual market data, not financial or investment advice.
Which fields does each record include?
Each contract row has the symbol, call or put, strike, expiry, days to expiry, volume, open interest, the volume-to-OI ratio, bid, ask, mid, implied volatility, delta, gamma, theta, vega, total premium traded, moneyness, the OCC symbol and a source link. company_name can be empty.
Related actors
- Commodity Futures Tracker — Energy, Metals, Grains — add futures prices alongside options flow.
- Insider Buying Screener — Form 4 Trades by Role, Size & Ticker — check whether insiders are trading the same tickers.
- SEC Insider Cluster Detector — Coordinated Form 4 Buys — spot several insiders buying the same stock.
- US Treasury Yields & Bond Data — Curve API — rates context for the options market.
- CFTC COT Enhanced — Position Velocity & Percentile Tracker — weekly positioning data for futures markets.