image

Options flow analysis is the practice of tracking institutional trading activity to gauge market sentiment. Because institutional traders, often referred to as "smart money", move large amounts of capital, their trades can significantly impact stock prices. By monitoring specific trade conditions, developers can build tools to identify Block Trades and Sweep Orders.

A Block Trade is a privately negotiated order executed apart from the public auction market, typically involving a large volume of contracts printed on a single exchange. In contrast, a Sweep Order indicates an aggressive buyer or seller who splits a large order across multiple exchanges to fill the position as quickly as possible, often signaling an expectation of immediate price movement.

Obtain API key:
Get your SteadyAPI key


The Endpoint

To access this data programmatically, SteadyAPI provides the GET /v1/markets/options/options-flow endpoint. This endpoint returns significant option transactions across various US option exchanges, allowing you to analyze strikes, premiums, and trade sides.

Documentation:
SteadyAPI Options Flow Endpoint Documentation


Detailed Parameter Analysis

To filter the flow data effectively, you must understand the required and optional parameters:

  • type: This required parameter defines the asset class you wish to filter. Accepted values are STOCKS, ETFS, or INDICES.
  • page: This optional integer allows you to paginate through the flow data to retrieve older transactions from the current trading session.

Python Example

The following script demonstrates how to fetch the latest options flow and filter for "Whale" trades, transactions with a premium value greater than $100,000.

import requests
import json

# Configuration
url = 'https://api.steadyapi.com/v1/markets/options/options-flow'
api_key = 'YOUR_AUTH_KEY'  # Replace with your actual API Key

# Parameters
params = {
    'type': 'STOCKS',
    'page': '1'
}

headers = {
    'Authorization': f'Bearer {api_key}'
}

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

    print(f"Tracking Large Block Trades (Premium > $100k)...\n")

    # Iterate through the body of the response
    for trade in data.get('body', []):
        # Clean premium string (e.g., "$41,500,000") to float for comparison
        premium_str = trade.get('premium', '$0').replace('$', '').replace(',', '')
        premium_val = float(premium_str)

        # Filter for high-value trades
        if premium_val > 100000:
            print(f"Symbol: {trade['baseSymbol']}")
            print(f"Contract: {trade['expiration']} ${trade['strikePrice']} {trade['symbolType']}")
            print(f"Side: {trade['side'].upper()} | Condition: {trade['tradeCondition']}")
            print(f"Premium: {trade['premium']}")
            print("-" * 30)

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

Understanding the Response

The API returns a JSON object containing metadata and a body array of trade objects. Below is the structure you can expect:

{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com",
    "count": 20,
    "total": 11984,
    "page": "1"
  },
  "body": [
    {
      "symbol": "AMD|20240621|150.00C",
      "baseSymbol": "AMD",
      "symbolType": "Call",
      "strikePrice": "150.00",
      "expiration": "06/21/24",
      "tradePrice": "41.50",
      "tradeSize": "10,000",
      "side": "ask",
      "premium": "$41,500,000",
      "tradeCondition": "SLCN",
      "tradeTime": "02/22/24 12:23:58"
    }
  ]
}

Key Fields

To build an effective analysis tool, you must interpret these specific fields correctly:

  • premium: The total notional value of the trade. High premiums indicate high conviction from the institutional trader.
  • tradeSize: The number of contracts exchanged in a single transaction.
  • side: Indicates whether the trade occurred at the ask (buying pressure), bid (selling pressure), or mid (neutral). Trades executed at the Ask are generally considered aggressive bullish bets for Calls or bearish bets for Puts.
  • tradeCondition: Codes such as SLCN (Sold Last Sale) or SLFT (Sold Last Form T) provide context on how the trade was reported to the exchange.
  • expiration: Helps determine the time horizon of the sentiment. Short-term expirations suggest an immediate expected move, while LEAPS (long-term expirations) suggest a structural position.

Practical Use Cases

Whale Watching Algorithms

By setting a high threshold for the premium field (e.g., $1M+), developers can create alerts for massive capital inflows, allowing retail traders to see where "smart money" is positioning.

Sentiment Analysis based on Put/Call Flow

You can aggregate the total premium of Calls versus Puts over a rolling time window. If the Call Premium on the "Ask" side significantly outweighs the Put Premium, it generates a bullish flow signal for that specific ticker.


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

The Developer’s Guide to Integrating Real-Time MLS Property Data Jul 19, 2026

The Developer’s Guide to Integrating Real-Time MLS Property Data

This guide walks developers through building a modern real estate data pipeline with SteadyAPI. You'll learn how to search MLS property listings, retrieve tax and transaction histories, analyze local housing...

How to Monitor Amazon Product Reviews and Ratings with SteadyAPI Apr 03, 2026

How to Monitor Amazon Product Reviews and Ratings with SteadyAPI

Learn how to monitor Amazon product reviews and track real-time sentiment using SteadyAPI. Build automated alerts for negative feedback without web scraping.

How to Retrieve Amazon Product Details, Pricing, and Images via SteadyAPI Apr 03, 2026

How to Retrieve Amazon Product Details, Pricing, and Images via SteadyAPI

Stop scraping Amazon. Learn how to reliably pull clean, structured product details, high-res images, and real-time competitor pricing using SteadyAPI.

How to Aggregate Reddit Threads for Research and Trend Analysis Apr 02, 2026

How to Aggregate Reddit Threads for Research and Trend Analysis

Stop scraping Reddit. Learn how to use SteadyAPI to aggregate threads, monitor niche subreddits, and quantify social sentiment for market research.