image

A flow monitor that scans every strike by hand will miss the contracts where volume is large relative to open interest.

This guide calls GET /v1/markets/options/unusual-options-activity with type=STOCKS and page=1. The sample meta is count 1, total 120, and page 1, and the sample row is the AAPL 225.00 call expiring 09/20/24, with volume 12,450 and openInterest 3,200.

To access this endpoint, you must obtain an API key: Get your API key

The Endpoint

A paginated list of contracts with elevated volume relative to open interest lives on this path. Use it when you want those contracts for stocks, ETFs, or indices. The sample request is type STOCKS and page 1.

Method: GET

Endpoint: https://api.mboum.com/v1/markets/options/unusual-options-activity?type=STOCKS&page=1

Documentation: Unusual options activity

Parameters

  • type: set to STOCKS, ETFS, or INDICES. The sample uses STOCKS.
  • ticker: optional filter for one underlying.
  • date: optional, formatted as YYYY-MM-DD.
  • price_min: optional minimum price.
  • page: optional integer. The sample uses 1.

Python Example

The function requests page 1 for STOCKS, prints meta, and parses comma-formatted volume and open interest before printing the contract fields.

import requests

def fetch_unusual_options():
    url = "https://api.mboum.com/v1/markets/options/unusual-options-activity"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}
    params = {"type": "STOCKS", "page": 1}
    response = requests.get(url, headers=headers, params=params)
    response.raise_for_status()
    return response.json()

payload = fetch_unusual_options()
print(payload.get("meta"))
for row in payload.get("body", [])[:5]:
    vol = float(str(row["volume"]).replace(",", ""))
    oi = float(str(row["openInterest"]).replace(",", ""))
    print(row["baseSymbol"], row["symbolType"], row["strikePrice"], vol, oi, row["volumeOpenInterestRatio"])

Understanding the Response

Sample meta is count 1, total 120, and page 1. The sample contract symbol is AAPL240920C00225000, baseSymbol AAPL, baseLastPrice 227.50, baseSymbolType Stock, and symbolType Call. strikePrice is 225.00, expirationDate is 09/20/24, and daysToExpiration is 5. bidPrice is 4.20, midpoint is 4.35, askPrice is 4.50, and lastPrice is 4.40. volume is 12,450, openInterest is 3,200, volumeOpenInterestRatio is 3.89, volatility is 28.5, delta is 0.55, tradeTime is 15:42, and symbolCode is OPRA.

{
  "meta": { "count": 1, "total": 120, "page": 1 },
  "body": [
    {
      "symbol": "AAPL240920C00225000",
      "baseSymbol": "AAPL",
      "baseLastPrice": "227.50",
      "baseSymbolType": "Stock",
      "symbolType": "Call",
      "strikePrice": "225.00",
      "expirationDate": "09/20/24",
      "daysToExpiration": "5",
      "bidPrice": "4.20",
      "midpoint": "4.35",
      "askPrice": "4.50",
      "lastPrice": "4.40",
      "volume": "12,450",
      "openInterest": "3,200",
      "volumeOpenInterestRatio": "3.89",
      "volatility": "28.5",
      "delta": "0.55",
      "tradeTime": "15:42",
      "symbolCode": "OPRA"
    }
  ]
}

volume, openInterest, and the price fields are strings, and volume can contain commas. In the sample, volume is "12,450", openInterest is "3,200", and volumeOpenInterestRatio is "3.89". Parse them before you compare volume with open interest. Stick to the documented parameters when you filter or page.

Key Fields

  • Pagination: meta.count, meta.total, and meta.page. The sample is 1, 120, and 1.
  • Contract identity: symbol, baseSymbol, baseLastPrice, baseSymbolType, and symbolType. The sample symbol is AAPL240920C00225000, baseSymbol AAPL, baseLastPrice 227.50, baseSymbolType Stock, and symbolType Call.
  • Contract terms: strikePrice, expirationDate, and daysToExpiration. The sample is 225.00, 09/20/24, and 5.
  • Quotes: bidPrice, midpoint, askPrice, and lastPrice. The sample is 4.20, 4.35, 4.50, and 4.40.
  • Activity: volume, openInterest, volumeOpenInterestRatio, volatility, delta, tradeTime, and symbolCode. The sample volume is 12,450, open interest is 3,200, the ratio is 3.89, volatility is 28.5, delta is 0.55, tradeTime is 15:42, and symbolCode is OPRA.

Practical Use Cases

First page of unusual stock contracts

Request type STOCKS and page 1, then read meta.total before you render the page. In the sample, total is 120 and the contract is an AAPL call at strike 225.00 expiring 09/20/24.

Compare volume with open interest

Parse the volume and open interest strings before you sort or compare them. The sample strings are "12,450" and "3,200", and volumeOpenInterestRatio is "3.89".

Learn more or explore other endpoints: Unusual options activity

How to Read a 15-Year Income Statement with the Mboum API Oct 19, 2026

How to Read a 15-Year Income Statement with the Mboum API

The income-statement-v2 module returns up to 15 years of income-statement fields for one ticker, with each field mapped to dated values.

How to Read Congressional Insider Trades with the Mboum API Oct 19, 2026

How to Read Congressional Insider Trades with the Mboum API

Congressional trade disclosures put the member name, symbol, transaction type, and USD value on the same row.

How to Calculate an Exponential Moving Average with the Mboum API Oct 17, 2026

How to Calculate an Exponential Moving Average with the Mboum API

An exponential moving average weights recent prices more heavily than a simple average over the same window.

How to Stay Under the Mboum API Rate Limit Oct 15, 2026

How to Stay Under the Mboum API Rate Limit

Every authenticated Mboum API call shares a documented limit of 15 requests per second, and exceeding it can return HTTP 429.