Skip to content

Stocks · Dark pool, large prints and captured events

Stocks dark pool flow

Off-exchange dollar value, shares and trades per interval.
On this page

How much traded off-exchange in each interval of one exchange date (04:00 to 20:00 Eastern), oldest first. The date defaults to the latest captured trading date. Buckets before the capture began are absent. Served from the platform's capture of equity prints: the tickers it captures are the always-on liquid ETFs plus tickers requested on demand (up to eight at a time, each for five minutes after the last request), so a symbol seen for the first time returns data only from the moment capture began; meta.coverage.captured_since says when. Use /v1/stocks/dark-pool/trades for the full tape of any symbol.

Example request

curl -sS --get "https://api.ordermap.si/v1/stocks/dark-pool/flow" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode symbol=AAPL

Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.

Parameters

3 parameters, 1 required.

ParameterType and limitsDescription
symbolqueryrequiredstringat most 11 characterspattern ^[A-Za-z]{1,6}(\.[A-Za-z0-9]{1,4})?$Ticker symbol, for example SPY.
datequeryoptionalstringdateExchange date, YYYY-MM-DD. Defaults to the latest captured trading date.
intervalqueryoptionalstring1m5m15m30m1hdefault 5mBucket length: 1m, 5m, 15m, 30m or 1h.

Response

StatusMeaningBody
200Successful response.Schema below
400Invalid, unknown or repeated parameters, or an invalid cursor.Error object
401Missing or invalid API key.Error object
403The plan, dataset release or account state does not allow this request.Error object
422The request is valid but no data exists for it.Error object
429Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-AfterError object
500Internal error.Error object
503Data temporarily unavailable; retry after Retry-After seconds.Retry-AfterError object
504The request timed out.Error object

Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.

200 response body

  • dataarray<object>required5 fields inside
    • notionalnumberrequiredDollar value printed off-exchange in the interval.
    • pricenumber | nullrequiredPrice of the last off-exchange print in the interval; null when there was none.
    • sizenumberrequiredShares printed off-exchange.
    • start_timeintegerunix-msrequiredStart of the interval. Unix epoch milliseconds (UTC).
    • tradesintegerrequiredOff-exchange prints.
  • metaobjectrequiredMeta object

Example response

{
  "data": [
    {
      "notional": 18400000,
      "price": 601.2,
      "size": 30600,
      "start_time": 1792101600000,
      "trades": 212
    }
  ],
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "sip"
  }
}

Values are illustrative. Missing values are null, never 0.