Pushbuild

FINRA Short Volume & SEC Fails-to-Deliver

Daily short-sale volume by ticker from FINRA Reg SHO files (2009 to today) and SEC fails-to-deliver records. Short ratio, exempt volume, total volume, FTD quantity, price and value. Filter by symbol, date and minimum short ratio.

$0.16 per 1,000 rows

Get an API key

What it returns

Daily short-sale volume for every US-listed and OTC ticker, from FINRA's official Reg SHO daily files, plus SEC fails-to-deliver records, in one clean JSON feed.

Short volume** (2009-08 to today): date, symbol, short volume, short-exempt volume, total volume, **short ratio**, reporting markets. Exchange-listed (NMS) or OTC. Fails-to-deliver**: settlement date, symbol, CUSIP, quantity, description, price, and dollar value.

Common uses

Short-pressure and squeeze screens: rank tickers by short ratio on any day. Backtests: complete point-in-time history keyed by trade date. Track FTD spikes for a ticker over months.

Request

POST https://api.pushbuild.com/finra-short-volume/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
datasetstring: shortVolume, failsToDeliverWhich dataset to return. Default: "shortVolume".
symbolslist of stringse.g. GME, AMC. Leave empty to scan every ticker (date range then limited to 31 days).
dateFromstringYYYY-MM-DD. Short volume goes back to 2009-08. Default: 30 days ago with symbols, 3 days without.
dateTostringYYYY-MM-DD. Default: today.
marketstring: nms, otcShort volume only. Default: "nms".
minShortRationumberShort volume / total volume, 0-1. Short volume only.
minTotalVolumeintegerShort volume only.
minQuantityintegerFails-to-deliver only.
sortstring: newest, oldestDate order. Default: "newest".
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/finra-short-volume/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbols": ["GME"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.16 per 1,000 rows. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.