Stocks Flow Summary API - Buy/Sell/Net Share Volume | FlashAlpha
  1. Trade Summary

Stocks Flow Summary API

Stock trade-flow totals for a symbol: total trades, buy/sell/mid/net share volume, biggest single trade, and last trade timestamp.

Endpoint

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

Parameters

Name In Type Required Default Description
symbol path string required - Stock symbol

Request

curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/flow/stocks/SPY/summary"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/flow/stocks/SPY/summary",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
resp.raise_for_status()
data = resp.json()
print(f"Net share volume: {data['netVolume']:,}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/flow/stocks/SPY/summary",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const data = await resp.json();
console.log("Net share volume: " + data.netVolume.toLocaleString());

Try it live

Runs on live market data and uses 1 request from your daily quota.

GET

Response

{
  "symbol": "SPY",
  "totalTrades": 1161962,
  "buyVolume": 25528959,
  "sellVolume": 20487729,
  "midVolume": 26936130,
  "netVolume": 5041230,
  "biggestSingleTrade": 2200000,
  "lastTradeUtc": "2026-10-30T13:46:04.6240669Z",
  "endpoint_version": "2026.09.30",
  "data_as_of": {
    "node": "fa4",
    "equity_feed": "2026-10-30T13:46:04.46Z",
    "equity_options_feed": "2026-10-30T13:46:03Z",
    "index_feed": "2026-10-30T13:46:03.107Z",
    "index_options_feed": "2026-10-30T13:46:03Z",
    "futures_feed": "2026-10-30T13:45:53.139Z",
    "futures_options_feed": "2026-10-30T13:45:49.971Z",
    "flow_feed": "2026-10-30T13:45:00Z",
    "oi_feed": "2026-10-29T20:00:00Z",
    "macro_feed": "2026-10-29T21:00:20Z"
  }
}

Sending request…

See this endpoint on live data

Send this exact request and the real response shows up here, right next to the example.

Response Fields

Field Type Description
symbolstringUppercase stock symbol
totalTradesintegerTotal buffered stock trades
buyVolumeintegerBuy-classified share volume
sellVolumeintegerSell-classified share volume
midVolumeintegerMid/unknown-side share volume
netVolumeintegerbuyVolume - sellVolume
biggestSingleTradeintegerLargest single stock trade size
lastTradeUtcstring/nullLatest trade timestamp; omitted when no stock trade buffer exists
endpoint_version, data_as_ofstring, objectResponse envelope, see Response envelope.

Errors

Status Error When
401-Missing or invalid X-Api-Key. The body is empty; check the status code before parsing JSON.
403tier_restrictedYour plan is below Alpha. The body includes current_plan and required_plan.
429Quota exceededDaily quota used up. Retry-After gives the seconds until the reset at 00:00 UTC. Rejected requests (including 403) count toward the quota.
502-Upstream flow data source unavailable.

About

Aggregated stock-flow totals across the in-memory buffer for a symbol. Volumes are in shares. netVolume is the headline directional pressure indicator for the equity tape.

Common Use Cases

  • Headline buy/sell pressure - surface buyVolume vs sellVolume and the signed netVolume as the directional-pressure tile on an equity-tape dashboard
  • Rank a watchlist - sort tickers by absolute netVolume to push the most one-sided names to the top of a scanner
  • Spot block-driven tape - compare biggestSingleTrade to typical lot size to flag when a single institutional print is moving the totals
  • Measure conviction vs noise - weigh netVolume against midVolume to discount sessions where most flow crossed at the mid with no clear aggressor
  • Gate on tape freshness - check lastTradeUtc (and its null case) to confirm the name is actively trading before acting on the totals
  • Normalize across names - divide netVolume by totalTrades for a per-trade imbalance that compares thin and heavy tapes on the same scale

Related reading

Complementary endpoints

Ready to build with FlashAlpha?

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

No credit card required Setup in 60 seconds Secure & reliable