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