get_sec_fails_to_deliver
Returns SEC Fails-to-Deliver (FTD) rows — daily settlement failures by ticker / CUSIP / date. Each row is one ticker on one settlement date where a clearing-member's short sale FAILED to deliver shares. Signal value: persistent FTDs are a contrarian short-squeeze leading indicator. When the daily FTD quantity spikes on a ticker, it often means naked short pressure overwhelming locate supply or settlement / locate mechanism breaking down. The Reg SHO Threshold Securities list (FTDs > 0.5% of issued shares for 5+ consecutive days) is a derived view; this tool exposes the underlying daily data. Source: SEC bi-monthly cnsfails<a|b>.zip files at sec.gov/files/data/fails-deliver-data/. Published ~1 week after each half-month settlement period. Coverage: every U.S.-listed security with a recorded settlement failure during the period. Killer query patterns: - Daily FTD history for a ticker: ticker='GME' + sort_by='settlement_date' - Largest FTDs this month: min_value=1000000 + sort_by='fail_value' - Squeeze setup candidates: min_quantity=100000 + recent dates - Look-up by CUSIP: cusip='B6S7WD106' (foreign issuers, complex names) Derived field: fail_value = quantity_fails × price (dollar magnitude of the failure on that day). Reference price comes from the SEC's posted value at settlement. Note: FTDs are bi-monthly batch-published, not real-time. SEC releases each half-month batch (cnsfailsa = days 1-15, b = 16-end) roughly 2-4 weeks AFTER that half-month period closes, so the most recent settlement date can be 2-4 weeks behind today (e.g. in mid-June the latest published batch is first-half-May, with settlement dates through ~May 15). That apparent lag is the SEC publish cadence, not a KeyVex freshness gap.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Direct doc lookup ({YYYY-MM-DD}-{cusip}). Fastest path. | |
| cusip | No | Exact CUSIP (preferred for foreign issuers / class shares). | |
| limit | No | Max records. Default 50, max 500. | |
| since | No | Inclusive lower bound on settlement_date (YYYY-MM-DD). | |
| until | No | Inclusive upper bound on settlement_date (YYYY-MM-DD). | |
| ticker | No | Ticker symbol (uppercased automatically). | |
| sort_by | No | Sort key. Default: settlement_date. | |
| min_value | No | Inclusive lower bound on fail_value (dollars). E.g., 1000000 surfaces only $1M+ failures. | |
| sort_order | No | Default: desc. | |
| min_quantity | No | Inclusive lower bound on quantity_fails (shares). E.g., 100000 surfaces only large failures. |