Stocks Block Trades API - Large Equity Prints - FlashAlpha Lab API
Lab API Stocks Blocks

Stocks Block Trades API

Large stock trades for a symbol, newest first, filtered by minimum share size.

Endpoint

GET /v1/flow/stocks/{symbol}/blocks
Auth required (X-Api-Key) Rate Limited: Yes Alpha plan+

Parameters

Name In Required Default Description
symbol path yes - Stock symbol
minSize query no 10000 Minimum share size
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/flow/stocks/SPY/blocks?minSize=25000"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/flow/stocks/SPY/blocks",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"{data['count']} blocks at minSize {data['minSize']}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/flow/stocks/SPY/blocks",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(data.count + " blocks at minSize " + data.minSize);

Response

{
  "symbol": "SPY",
  "minSize": 25000,
  "count": 2,
  "blocks": [
    {
      "ts": "2026-05-12T18:41:55.108Z",
      "price": 597.51,
      "size": 150000,
      "side": "buy",
      "bid": 597.50,
      "ask": 597.52
    },
    {
      "ts": "2026-05-12T18:38:12.402Z",
      "price": 596.92,
      "size": 80000,
      "side": "sell",
      "bid": 596.91,
      "ask": 596.93
    }
  ]
}

Key Response Fields

Field Type Description
symbolstringUppercase stock symbol
minSizeintegerMinimum block size applied
countintegerNumber of block trades returned
blocks[]arrayBlock rows: ts, price, size, side, bid, ask

Errors

Status Description
403Requires Alpha plan or higher
502Upstream flow data source unavailable

About

Filters the equity tape to prints at or above minSize shares. Default is 10,000 shares; raise for institutional-only filtering. Each row carries the prevailing bid/ask so you can see how aggressively the print crossed the spread.

Common Use Cases

  • Track institutional prints in real time - stream blocks[] to surface every trade at or above the minSize share threshold as it crosses the tape
  • Tune the size filter to the name - raise minSize (echoed back as the applied threshold) to isolate genuinely institutional flow on liquid tickers and lower it on thin ones
  • Classify the spread aggressor - compare each block's price to its bid/ask to label buyer-initiated (at/above ask) vs seller-initiated (at/below bid) prints
  • Read directional bias - tally size by side across the returned blocks to see whether large prints lean accumulation or distribution
  • Build a volume-at-price profile - bucket size by price level to map where the big lots transacted for VWAP and support/resistance context
  • Flag fresh blocks - watch the newest ts to alert only on prints that just landed rather than replaying the whole buffer

Related reading

Complementary endpoints

  • Stocks Recent - the full unfiltered tape these blocks are drawn from
  • Stocks Summary - headline buy/sell/net totals, including biggestSingleTrade
  • Stocks Leaderboard - rank the universe by net notional to find where blocks are clustering
  • Options Blocks - the matching block-size prints on the options tape

Ready to build?

Get your free API key and start pulling live options data in 30 seconds.