Returns SEC Fails-to-Deliver (FTD) rows — daily settlement failures by ticker / CUSIP / date
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<YYYYMM><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 (cnsfails<YYYYMM>a = 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.
Request
- Base URL: https://api.keyvex.com
- URL: https://api.keyvex.com/v1/sec-fails-to-deliver
- Auth: API key in header x-api-key
Query parameters
Direct doc lookup ({YYYY-MM-DD}-{cusip}). Fastest path.
Ticker symbol (uppercased automatically).
Exact CUSIP (preferred for foreign issuers / class shares).
Inclusive lower bound on settlement_date (YYYY-MM-DD).
Inclusive upper bound on settlement_date (YYYY-MM-DD).
Inclusive lower bound on quantity_fails (shares). E.g., 100000 surfaces only large failures.
Inclusive lower bound on fail_value (dollars). E.g., 1000000 surfaces only $1M+ failures.
Sort key. Default: settlement_date.
Default: desc.
Max records. Default 50, max 500.
Response
JSON envelope: { results: [...], count, has_more }.
Changes
No recorded changes to this operation across all 1 revision of this API.