Short Interest & Fails-to-Deliver API — SEC FTD + FINRA avatar

Short Interest & Fails-to-Deliver API — SEC FTD + FINRA

Pricing

from $6.00 / 1,000 results

Go to Apify Store
Short Interest & Fails-to-Deliver API — SEC FTD + FINRA

Short Interest & Fails-to-Deliver API — SEC FTD + FINRA

Short interest & fails-to-deliver (FTD) API. Merges SEC FTD and FINRA short-interest disclosures into one per-ticker time series with change and spike flags. Keyless official sources. Market-structure DATA, not investment advice.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

Kyle Maloney

Kyle Maloney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Short Interest & Fails-to-Deliver Monitor

Merge two official US market-structure disclosures — SEC Fails-to-Deliver (FTD) and FINRA consolidated short interest — into one clean, per-ticker time series with change and spike flags. Keyless official sources, one normalized schema, ready to chart, alert on, or feed to an agent.

This is market-structure DATA, not investment advice. It reports publicly filed fails-to-deliver and short-interest figures and simple period-over-period math on them. It is not a signal, recommendation, or prediction to buy, sell, or hold any security. Do your own research.

Who it's for

  • Quant / data engineers who want FTD and short interest already parsed, normalized, deduped, and joined per ticker instead of unzipping SEC pipe files and FINRA CSVs by hand.
  • Market-structure & compliance researchers tracking settlement fails and short-interest build-ups over time.
  • Fintech / dashboard builders who need a stable JSON feed of fails, deltas, and spike flags per symbol.
  • AI agents that need to answer "how have fails-to-deliver for X trended, and did they spike?" as a callable tool.

What it does

  1. Downloads the SEC semi-monthly FTD files (newest first, over your lookback), decompresses them, and parses the pipe-delimited layout into per-(symbol, settlement_date) records.
  2. Optionally downloads FINRA consolidated short-interest files and joins them per ticker (as-of the nearest FINRA settlement date on or before each FTD period).
  3. Builds a per-ticker time series and computes, for each period: fails_delta, fails_pct_change, a trailing average, and a fails_spike boolean (fails > spikeMultiplier x trailing average). When short interest is included it adds short_interest, days_to_cover, and their deltas.
  4. Filters to your tickers[] (uppercased, client-side) and a sinceDate window.

Example input

{
"tickers": ["GME", "AMC"],
"lookbackPeriods": 6,
"spikeMultiplier": 3,
"includeShortInterest": true,
"shortInterestDates": ["2026-04-15", "2026-03-31"],
"maxResults": 5000,
"monitor": false
}

Leave tickers empty to return every symbol in the files (capped by maxResults). Set monitor: true on a schedule to emit only newly published (ticker, settlement_date) rows.

Output fields

FieldDescription
symbolUppercased ticker
cusipCUSIP from the SEC FTD file
descriptionIssuer / company name
settlement_dateSEC settlement date (YYYY-MM-DD)
fails_quantityTotal fails-to-deliver shares (SEC CNS aggregate)
pricePrior-day close from the FTD file (null when SEC value is .)
fails_delta / fails_pct_changeChange vs the ticker's prior period
fails_trailing_avgAverage fails over the prior lookback periods
fails_spikeTrue when fails > spikeMultiplier x trailing average
short_interest / short_interest_prevFINRA consolidated (OTC) short-interest shares
short_interest_delta / short_interest_pct_changeChange vs the prior FINRA cycle
days_to_coverFINRA days-to-cover (short interest / avg daily volume)
short_pct_floatAlways null — float is not in the FINRA file (documented caveat)
short_interest_spikeShort-interest spike flag
avg_daily_volumeFINRA average daily volume
sourcesWhich disclosures contributed (e.g. ["SEC FTD", "FINRA Short Interest"])

Use as an MCP tool

This actor is callable by AI agents (Claude, Cursor, etc.) via mcp.apify.com. The field-level output descriptions make it a clean, chainable tool: an agent can pass tickers + a lookback and get back a structured fails/short-interest time series with spike flags to reason over — no scraping, no unzip, no CSV parsing.

Sources & caveats

  • SEC Fails-to-Deliver (FTD) — semi-monthly ZIP files at https://www.sec.gov/files/data/fails-deliver-data/cnsfails{YYYYMM}{a|b}.zip, each containing a pipe-delimited .txt (SETTLEMENT DATE | CUSIP | SYMBOL | QUANTITY (FAILS) | DESCRIPTION | PRICE). The SEC requires a descriptive User-Agent; this actor sets one. Files are decompressed in-actor with the tiny pure-JS fflate library. The a file (first half of a month) publishes ~end of that month; the b file (second half) ~the 15th of the next month, so the newest period may not yet exist — the actor skips not-yet-published files gracefully.
  • FINRA consolidated short interest — bi-monthly keyless CSV at https://cdn.finra.org/equity/otcmarket/biweekly/shrt{YYYYMMDD}.csv. Caveat: this CDN file covers OTC-market equities; exchange-listed short interest is not in this particular file, so a ticker may have FTD data but no short-interest row. Float is not published, so short_pct_float is always null. Short interest is opt-in (includeShortInterest) and you supply the FINRA settlement dates.
  • Neither source guarantees accuracy or timeliness; both are official disclosures republished as-is with added transform. Values can be revised by the publisher.

FAQ

Is this a short interest API? Yes — it exposes SEC fails-to-deliver plus FINRA short interest as a normalized per-ticker JSON/CSV time series.

Where does fails-to-deliver data come from? The SEC's official Fails-to-Deliver dataset (NSCC CNS aggregate), published semi-monthly.

How is a "spike" defined? A period is flagged when its fails (or short interest) exceeds spikeMultiplier times the ticker's trailing average over the prior lookback periods. Default multiplier is 3.

Can I monitor for new data automatically? Yes — run on an Apify schedule with monitor: true to emit only newly published (ticker, settlement_date) records.

Is this investment advice? No. It is market-structure data and simple arithmetic on public filings. Nothing here is a recommendation.

Pricing

Pay-per-result: you pay per record returned (one merged (ticker, settlement_date) row = one result). Empty results cost only the tiny actor start.