image

Trading tickers with high options volume is a cornerstone strategy for many derivatives traders. High activity often translates to superior liquidity and tight bid-ask spreads, allowing traders to enter and exit positions with minimal slippage. Furthermore, unusual spikes in options volume can signal institutional interest or an impending volatility event. By analyzing the Put/Call Ratio within these active names, developers and traders can gauge market sentiment, identifying whether the flow is skewed towards bullish calls or bearish puts.

This guide details how to programmatically retrieve the most active options using SteadyAPI and filter them to find specific sentiment setups.


Obtain API key

Get your API key


The Endpoint

The GET /v1/markets/options/most-active endpoint returns a ranked list of securities (Stocks, ETFs, or Indices) with the highest options trading volume for the current session. It includes critical data points such as total volume, volume breakdown by side (put vs. call), and the calculated Put/Call ratio.

Documentation:
SteadyAPI Most Active Options Endpoint


Detailed Parameter Analysis

To customize the scanner, you must understand the available parameters for this request:

  • type
    Specifies the asset class to scan. Accepted values are STOCKS, ETFS, or INDICES. This allows you to segregate corporate equity flow from broader market index flow.
  • page
    Handles pagination. Since the list of active tickers can be extensive, use this integer value to navigate through the result set (e.g., 1, 2).

Python Example: Scanning for Bullish Flow

The following Python script queries the API for the most active stocks and filters the results to identify Bullish candidates. In this context, a Put/Call Ratio below 0.7 generally indicates that call volume significantly outweighs put volume, suggesting bullish sentiment.

import requests

# Configuration
API_KEY = "YOUR_ACCESS_TOKEN"
BASE_URL = "https://api.steadyapi.com/v1/markets/options/most-active"

# Parameters for the request
params = {
    "type": "STOCKS",
    "page": "1"
}

headers = {
    "Authorization": f"Bearer {API_KEY}"
}

try:
    response = requests.get(BASE_URL, headers=headers, params=params)
    response.raise_for_status()
    data = response.json()

    print(f"{'Symbol':<10} {'Price':<10} {'Total Vol':<15} {'P/C Ratio':<10} {'Sentiment'}")
    print("-" * 60)

    # Iterate through the most active list
    for item in data.get("body", []):
        symbol = item.get("symbol")
        price = item.get("lastPrice")
        volume = item.get("optionsTotalVolume")
        
        # Parse the Put/Call Ratio (ensure it is a float)
        try:
            pc_ratio = float(item.get("optionsPutCallVolumeRatio", 1.0))
        except ValueError:
            continue

        # Filter for bullish sentiment (Ratio < 0.7)
        if pc_ratio < 0.7:
            print(f"{symbol:<10} ${price:<9} {volume:<15} {pc_ratio:<10} Bullish")

except requests.exceptions.RequestException as e:
    print(f"Error fetching data: {e}")

Understanding the Response

The API returns a JSON object containing a meta field for status information and a body list containing the market data objects.

Example Response:

{
  "body": [
    {
      "symbol": "NVDA",
      "symbolName": "Nvidia Corp",
      "lastPrice": "785.38",
      "percentChange": "+16.40%",
      "optionsTotalVolume": "2,493,798",
      "optionsPutVolumePercent": "38.9%",
      "optionsCallVolumePercent": "61.1%",
      "optionsPutCallVolumeRatio": "0.64",
      "tradeTime": "02/22/24"
    }
  ]
}

Key Fields

  • optionsTotalVolume
    Represents the aggregate number of contracts traded for the day. This is the primary metric for identifying liquidity.
  • optionsPutCallVolumeRatio
    A calculated ratio representing Put Volume divided by Call Volume. A value greater than 1.0 implies bearish sentiment (more puts), while a value significantly lower than 1.0 implies bullish sentiment (more calls).
  • optionsCallVolumePercent
    The percentage of the total volume that consists of Call options. High percentages here validate the bullish thesis of a low Put/Call ratio.
  • optionsPutVolumePercent
    The percentage of the total volume that consists of Put options. Use this to identify hedging activity or bearish speculation.

Practical Use Cases

Liquidity Dashboards

Developers can use this endpoint to populate a Most Active leaderboard on trading platforms. By sorting by optionsTotalVolume, users can instantly see where the market action is concentrated, aiding in trade selection for strategies that require high liquidity, such as scalping or day trading options.

Sentiment Heatmaps

By mapping the optionsPutCallVolumeRatio across different sectors (using the type parameter or grouping symbols manually), you can build a visual heatmap of market sentiment. For example, if the most active Tech stocks all show low Put/Call ratios while Energy stocks show high ratios, it provides a macro-level view of capital rotation.


Learn more or explore other endpoints:
SteadyAPI Stock and Options Data API

How to Read TikTok Video Comments Using SteadyAPI Oct 05, 2026

How to Read TikTok Video Comments Using SteadyAPI

Read TikTok comments 20 at a time. Video 7106594312292453675 has 1269 comments. The next cursor is the string 20.

How to Read a Tweet Using SteadyAPI Oct 13, 2026

How to Read a Tweet Using SteadyAPI

Read one tweet by id. The text and counts are on legacy. meta.reply_count is how many replies were included.

How to List MLB Teams Using SteadyAPI Oct 13, 2026

How to List MLB Teams Using SteadyAPI

List MLB clubs and store the numeric id. The roster call takes that id as teamIds.

How to Find Vehicles for Sale Using SteadyAPI Oct 11, 2026

How to Find Vehicles for Sale Using SteadyAPI

Search vehicle listings by make, model, and ZIP. Price and mileage on each row are numbers.