The 0DTE Flow Leaderboard and Strike-Flow API: Scan the Market, Then Drill In | FlashAlpha

The 0DTE Flow Leaderboard and Strike-Flow API: Scan the Market, Then Drill In

Two Alpha endpoints that work as a pair. The 0DTE flow leaderboard ranks the whole market by heat, pin risk, raw flow, or charm intensity so you find the hottest same-day names in one call. Strike-flow then drills into any name for the per-strike signed aggressor delta-dollars, gamma-dollars, and contracts driving the move. Scan, then drill. Alpha plan.

T
Tomasz Dobrowolski Quant Engineer
Jun 14, 2026
20 min read
0DTE OptionsFlow Scanner DealerHedging StrikeFlow API DeveloperGuide Leaderboard

If you want a 0DTE options scanner that ranks symbols by dealer-flow intensity, or a per-strike signed-flow feed to see which strikes are moving a name, these two endpoints are it: GET /v1/flow/zero-dte/leaderboard and GET /v1/flow/zero-dte/strike-flow/{symbol}. They are the cross-symbol and per-strike ends of the live 0DTE flow family — the full surface is in the pillar, The Live 0DTE Flow API.

Read this first. Both endpoints are built on FlashAlpha's flow model — effective open interest plus aggressor-classified trades — so the rankings and per-strike dollars are estimates, not exact order flow. The JSON below uses illustrative placeholder numbers. Read them as a relative map of where pressure is concentrating.


The Leaderboard: Scan the Whole Market

GET /v1/flow/zero-dte/leaderboard?metric=heat&n=20 (Alpha plan) ranks every actively-sampled 0DTE symbol by a single metric, descending. One call, the whole landscape.

{
  "metric": "heat",
  "n": 5,
  "as_of": "2026-06-12T18:45:12Z",
  "market_open": true,
  "entries": [
    { "rank": 1, "symbol": "QQQ", "value": 2.41 },
    { "rank": 2, "symbol": "SPY", "value": 1.88 },
    { "rank": 3, "symbol": "IWM", "value": 1.05 },
    { "rank": 4, "symbol": "SPX", "value": 0.92 },
    { "rank": 5, "symbol": "NVDA", "value": 0.61 }
  ]
}

The metric parameter changes the question you are asking the market:

metricRanks byUse it to find
heatCumulative dealer hedge-flow normalized by net GEXNames where flow is large relative to standing gamma — "something is happening here."
pin_riskCurrent pin score (0-100)Names where a magnet is locking price in — pin-trade candidates.
abs_flowAbsolute call + put hedge-flow in the latest barRaw activity — the busiest chains right now, regardless of regime.
charm_intensityAbsolute charm-dollars-per-hourNames where time decay is forcing the fastest re-hedging into the close.

n caps the list (1-100, default 20). The leaderboard is cached for ~30 seconds server-side, so a tight scan loop is cheap. Pick the metric to match your style: a premium seller scans pin_risk, a momentum trader scans heat or abs_flow, a closing-hour specialist scans charm_intensity.

SDK note: the leaderboard is the one endpoint in this family without a typed SDK wrapper today, so call it as a direct REST request (shown below). The rest of the family - flow_zero_dte_snapshot, _series, _hedge_flow, _heatmap, and _strike_flow - ships typed methods in the Python, JavaScript, C#, Go, and Java packages.

Rank every 0DTE name by heat, pin risk, flow, or charm — in one call

Then drill into any name's per-strike signed flow. Alpha plan.

Get API Access

Strike-Flow: Drill Into One Name

Once the leaderboard names a symbol, GET /v1/flow/zero-dte/strike-flow/{symbol}?bar=1m&minutes=60 (Alpha plan) shows you which strikes are doing the work. For each bar it returns three parallel arrays — signed delta-dollars, signed gamma-dollars, and contract counts — indexed against a shared strikes_grid.

{
  "symbol": "QQQ",
  "underlying_price": 531.20,
  "expiration": "2026-06-12",
  "bar_size": "1m",
  "as_of": "2026-06-12T18:45:12Z",
  "market_open": true,
  "tier_used": "raw",
  "strikes_grid": [529, 530, 531, 532, 533],
  "bars": [
    { "t": "2026-06-12T18:44:00Z", "spot": 531.20,
      "signed_delta_dollars": [-1.4e6, -6.0e5, 2.2e6, 8.8e6, 1.1e6],
      "signed_gamma_dollars": [ 2.0e5,  3.1e5, 6.0e5, 9.5e5, 2.4e5],
      "contracts":            [ -120,   -55,   210,   760,   90] }
  ],
  "gap_intervals": []
}
FieldWhat it means
strikes_gridAscending strikes; index j aligns with index j in each bar's three arrays.
signed_delta_dollarsNet signed aggressor delta-dollars at that strike this bar. Positive = net bullish-delta flow (call buying or put selling); negative = bearish-delta flow.
signed_gamma_dollarsThe gamma-dollar equivalent — where the convexity is being added.
contractsSigned net contract count at that strike this bar.
gap_intervalsWindows the sampler skipped; render as blanks.

Strike-flow is the model input the heatmap aggregates and the hedge-flow sums. Reach for it when you need to attribute a move to specific strikes — to see, for example, that QQQ's "heat" is almost entirely one strike's call buying rather than a broad bid.

Scan, Then Drill: the Pattern

The two endpoints are designed to chain. Scan the market for the hottest names, pull a snapshot on the leader for the decision layer, then drop to strike-flow to see exactly where the pressure sits:

import requests
from flashalpha import FlashAlpha

H = {"X-Api-Key": "YOUR_KEY"}
fa = FlashAlpha("YOUR_KEY")

# 1. Scan: the leaderboard has no SDK wrapper yet — call it directly
board = requests.get(
    "https://lab.flashalpha.com/v1/flow/zero-dte/leaderboard",
    headers=H, params={"metric": "heat", "n": 10},
).json()
top = board["entries"][0]["symbol"]
print(f"Hottest 0DTE name: {top} (heat {board['entries'][0]['value']:.2f})")

# 2. Drill: strike-flow has a typed SDK method
sf = fa.flow_zero_dte_strike_flow(top, bar="1m", minutes=30)
strikes = sf["strikes_grid"]
last = sf["bars"][-1]
# Rank strikes by absolute signed delta-dollars this bar
ranked = sorted(zip(strikes, last["signed_delta_dollars"]),
                key=lambda x: abs(x[1]), reverse=True)
print(f"{top} spot {last['spot']} — top strikes by signed delta-$:")
for k, v in ranked[:3]:
    lean = "bullish" if v > 0 else "bearish"
    print(f"  {k}: {v:+,.0f}  ({lean})")
# 1. Scan the market by heat
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/flow/zero-dte/leaderboard?metric=heat&n=10"

# 2. Drill into the leader's per-strike signed flow
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/flow/zero-dte/strike-flow/QQQ?bar=1m&minutes=30"
$ leaderboard ranks the market  |  strike-flow explains a single name

API Access and Pricing

Both endpoints are on the Alpha plan — the model-input granularity of the 0DTE flow family. The decision endpoints (snapshot, series, hedge-flow) are one tier down on Growth.

PlanPriceLeaderboard / Strike-FlowRate Limit
Free$0No5 req/day
Basicfrom $63/moNo100 req/day
Growthfrom $239/moNo2,500 req/day
Alphafrom $1,199/moYesUnlimited

Calling below Alpha returns a 403 tier_restricted. Try both in the interactive API playground first.

Frequently Asked Questions

Yes. GET /v1/flow/zero-dte/leaderboard ranks every actively-sampled 0DTE symbol by one of four metrics — heat (flow relative to gamma), pin_risk (pin score), abs_flow (raw latest-bar activity), or charm_intensity (decay-driven re-hedging) — descending, in a single call. Set n for the list length (1-100). It is on the Alpha plan and cached around 30 seconds, so a tight scan loop is cheap.
Heat is cumulative dealer hedge-flow normalized by net GEX — flow relative to the standing gamma it is acting against. A high heat value means today's flow is large compared to the gamma base, which is the "something is happening here" signal. It differs from abs_flow, which is just raw recent activity: a quiet chain with a small gamma base can rank high on heat without ranking high on raw flow.
Strike-flow returns the signed aggressor detail per strike per bar — net delta-dollars, gamma-dollars, and contract counts — the raw model input. The heatmap aggregates a single chosen metric (GEX, DEX, signed flow, and so on) per strike into a value matrix optimized for plotting. Use the heatmap to visualize where positioning concentrates over time; use strike-flow to attribute the exact signed dollars and contracts driving a single name.
A positive signed_delta_dollars at a strike means net bullish-delta aggressor flow there in that bar (call buying or put selling); negative means bearish-delta flow. The contracts array carries the signed net contract count, and signed_gamma_dollars shows where convexity is being added. All three arrays are parallel to the strikes_grid by index, so values[j] corresponds to strikes_grid[j]. They are model estimates, so read them as relative pressure, not exact order flow.
Both are on the Alpha plan (from $1,199/mo, unlimited requests), alongside the 0DTE heatmap. They are the model-input granularity of the flow family; the decision endpoints snapshot, series, and hedge-flow are one tier down on Growth. Calling either below Alpha returns a 403 tier_restricted with the required plan name.

Live Market Pulse

Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Export-Ready

Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!