DocsPricingContact
Get the indicator
DocsPricingContact
Get the indicator
Contents
Start here
Pulling & Stacking IndicatorGetting started on Bookmap
Signals
Flow decompositionThe σ readoutThe window ladderSupport & ResistancePlacement Flow & the core lineLine modesBuy & sell linesThe deep-book warningAbsorption & initiative
Console & alerts
The Pulling & Stacking ConsoleIndicator statesNotifications
Settings reference
Bookmap settings referenceLocal data APILimitations
Updates & legal
Updates & deprecationTerms, patents & legal
Start here
Pulling & Stacking IndicatorGetting started on Bookmap
Signals
Flow decompositionThe σ readoutThe window ladderSupport & ResistancePlacement Flow & the core lineLine modesBuy & sell linesThe deep-book warningAbsorption & initiative
Console & alerts
The Pulling & Stacking ConsoleIndicator statesNotifications
Settings reference
Bookmap settings referenceLocal data APILimitations
Updates & legal
Updates & deprecationTerms, patents & legal
Documentation · 3.0.21

Local data API

The indicator can serve its line values to another program on the same computer: a spreadsheet, a script, your own dashboard. It is a single read-only web address that returns JSON; your program asks for it as often as it likes (every few seconds is plenty).

Switching it on

It is off by default.

  • Bookmap: Configure add-ons → Pulling & Stacking Indicator → Console & Chart Markers: tick Enable the local data API, and optionally set a port and an API key. It applies at once and the panel shows the status.

The status reads Listening on http://127.0.0.1:8787/v1/flow.

Only this computer

It listens on 127.0.0.1, so another computer cannot reach it, even on your own network. With an API key set, every request must carry it in the X-API-Key header (or ?key= in the address); without it the reply is 401. The key keeps other programs on this computer out. It is sent in plain text, which is why the API never leaves the computer.

A web page in a browser cannot read it.

Asking for the data

curl -H "X-API-Key: my-key" http://127.0.0.1:8787/v1/flow
import requests, time
while True:
    data = requests.get("http://127.0.0.1:8787/v1/flow",
                        headers={"X-API-Key": "my-key"}, timeout=3).json()
    for inst in data["instruments"]:
        five = next(w for w in inst.get("windows", []) if w["minutes"] == 5)
        print(inst["symbol"], inst["line"], five["total"], five["sigma"])
    time.sleep(5)

What comes back

One document for every instrument the indicator is loaded on.

{
  "apiVersion": 1, "indicatorVersion": "3.0.21", "platform": "bookmap",
  "time": "2026-10-14T09:31:05",
  "instruments": [
    { "symbol": "ESZ6", "hasData": true, "stale": false,
      "lastEvent": "2026-10-14T09:31:05",
      "line": "Total Flow", "mode": "flow", "primaryMinutes": 5,
      "headline": "Total Flow +1.2σ (5m)",
      "state": "INITIATIVE - book and tape aligned",
      "windows": [
        { "minutes": 5,
          "total": 5494, "passive": -3353, "aggressive": 8847, "placement": -12200,
          "sigma": 1.2, "warm": true, "provisional": false,
          "sigmaTotal": 1.2, "sigmaPassive": -0.8, "sigmaPlacement": -2.1,
          "bandTotal": 12299.18, "bandPassive": 9100.5, "bandPlacement": 15020.25,
          "flowBandWarm": true }
      ] }
  ]
}

(The numbers above are an example; windows always holds the 2, 3, 5 and 10 minute windows.)

Field Meaning
line, mode The line the chart is set to, as on the console tile, and flow or buysell.
sigma, warm, provisional The reading of that line, as on the console badge. null while the band is warming.
total, passive, aggressive, placement The four Flow lines over that window, in contracts.
sigmaTotal, sigmaPassive, sigmaPlacement Each line in units of its own band's σ.
bandTotal, bandPassive, bandPlacement Each line's band: Resistance is plus, Support minus this value.
buy, sell, buySigma, sellSigma, resistance, support Buy / Sell mode only: both lines, their σ from the band's centre, and the band.
stale No flow for longer than the stale timeout.
hasData False until the instrument has delivered market data.

A number that cannot be computed is null. Other replies: 401 wrong or missing key, 404 unknown address, 405 anything other than GET.

Limits

  • The current reading only; there is no history.
  • A program on another computer cannot reach it.
  • It reports what the console holds, refreshed about once a second (twice on Bookmap). Asking more often than that returns the same values.
  • apiVersion is 1. Fields may be added; existing ones will not change meaning without a new version.
← Bookmap settings referenceLimitations →

Order flow decomposed into one normalized signal. On Bookmap.

contact@stacksignal.com
ProductOverviewPricingBookmap MarketplaceContact
DocumentationStart hereSignalsStates & alertsSettings referenceUpgrading from 2.x
ForWho it is forBookmapOrder-flow traders
CompareComparisonsVolume deltaVolume profileOrder-flow add-ons
LegalPatent markingPrivacy policyDisclosures

Risk disclosure. Futures and forex trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing one's financial security or lifestyle. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.

The Pulling & Stacking Indicator is an analytical tool. It does not provide investment advice or trade recommendations, and nothing it displays is a signal to buy or sell.

Hypothetical performance disclosure. Hypothetical performance results have many inherent limitations, some of which are described below. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown; in fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk of actual trading. For example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results and all which can adversely affect trading results.

Chart images. The chart images on this site show the indicator's display on market data, to explain what it draws. They are not trading results or trade recommendations, and the risk and hypothetical performance disclosures above apply to them. We publish no trading performance.

Virtual currencies. Some chart images show cryptocurrency instruments. View CFTC advisories, as they contain more information on the risks associated with trading virtual currencies.

© 2026 Stack SignalDesign protected by U.S. Design Patent Nos. D1,099,944 and D1,100,945

We’d like to set analytics cookies to measure which pages traders actually read. Nothing non-essential is set until you choose. No advertising trackers, ever. Privacy policy

Cookie preferences

Choose what we may set

You can change this at any time from “Cookie preferences” in the footer. Declining costs you nothing: the site works identically either way.

Strictly necessary

Keeps the site working and records this very choice. Cannot be switched off.

Always on

We set no advertising, retargeting, or cross-site tracking cookies, and we honour a Global Privacy Control signal automatically. Full cookie list in the privacy policy