Lab API
Stocks Blocks
Stocks Block Trades API
Large stock trades for a symbol, newest first, filtered by minimum share size.
Endpoint
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 |
|---|---|---|
symbol | string | Uppercase stock symbol |
minSize | integer | Minimum block size applied |
count | integer | Number of block trades returned |
blocks[] | array | Block rows: ts, price, size, side, bid, ask |
Errors
| Status | Description |
|---|---|
403 | Requires Alpha plan or higher |
502 | Upstream 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 theminSizeshare 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
priceto itsbid/askto label buyer-initiated (at/above ask) vs seller-initiated (at/below bid) prints - Read directional bias - tally
sizebysideacross the returned blocks to see whether large prints lean accumulation or distribution - Build a volume-at-price profile - bucket
sizebypricelevel to map where the big lots transacted for VWAP and support/resistance context - Flag fresh blocks - watch the newest
tsto alert only on prints that just landed rather than replaying the whole buffer
Related
Related reading
- Options flow API: recent trades, blocks & leaderboard - the block-detection workflow applied to the options tape
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.