Fails to Deliver

API TraderAPI QuantAPI Developer

Fails to deliver (FTDs) are shares sold that the seller did not deliver to the buyer by the settlement date. The SEC publishes them for US-listed securities twice a month, roughly two weeks after each half-month closes, back to 2004. Persistent or rising fails can point to settlement stress, hard-to-borrow stock or aggressive short selling.

The ticker in the path names the listing that held it on from_date (or to_date when from_date is omitted), so a reused or renamed ticker returns the instrument that traded under it in your window.

Inside the period the SEC files cover, a trading day with no reported fails is returned as zero, because the files list every security with reportable fails. Outside that period nothing is returned. Before 16 September 2008 the SEC reported only fails of 10,000 shares or more, so a zero before then means below that threshold.

Each row carries the date its file is taken to have been published, so you can avoid look-ahead in a backtest: settlement dates from the 1st to the 15th are published on the last day of that month, and settlement dates from the 16th onwards on the 15th of the following month.

Fails and price are restated into today's share terms by default, so a count from before a split is comparable with a current one. Pass split_adjusted=false to receive them as reported. The USD value and the percentage of free float do not change either way.

US listings only: the SEC files cover US-listed securities, so a request for any other listing or region is rejected with a message saying so.

Available Data Points:

  • Date: The settlement date. (YYYY-MM-DD format).
  • Published Date: The date the SEC file holding this settlement date is taken to have been published.
  • FTD Shares: The number of shares that failed to deliver at the close of the settlement date.
  • Price: The closing price the SEC reports alongside the fails, in USD.
  • FTD Value USD: FTD shares multiplied by price, in USD.
  • FTD % Free Float: FTD shares as a percentage of the free float in force on the settlement date.

Try it out! You can test the API with the trial key TEST. Simply include it in your request headers; either here, or add the header "Ortex-Api-Key": "TEST" to your http request.

Trial key restrictions: Trial keys may be limited to a specific date range and set of regions. Requests outside the allowed regions or entirely outside the allowed date range are rejected; a date window that partially overlaps the allowed range is trimmed to it, reported in meta.restriction.

Get full access! Get a key at app.ortex.com/apis

Path Params
string
required

Where to find the instrument: a venue (exchange symbol, MIC or ISO-2 country) or an identifier scheme (tid, sid, cid, isin, figi). See Identifying an instrument.

string
required

The ticker on that venue, or the value in that scheme. An ISIN, sid, cid or share-class FIGI answers for the main listing only; reference/listings lists the others. See Identifying an instrument.

Query Params
date
required

Inclusive start of the returned date window. Format: YYYY-MM-DD.

Also selects the instrument: the ticker resolves to the listing that held it on the exchange in the URL path on this date. To retrieve a delisted or renamed company, use its former exchange and ticker with a from_date from when it was listed. An identifier path (/stock/isin|figi|sid|cid/<value>/…) resolves at this date too. The instrument block in the response names the company the data belongs to.

date

Inclusive end of the returned date window (defaults to today). Format: YYYY-MM-DD.

boolean
Defaults to true

Whether share counts — and, on the closing-prices endpoints, prices and volumes — are adjusted to today's terms (default) or returned as-was on the data date. Pass false for unadjusted (as-was) values.

integer

Page number within the paginated result set. Must be >= 1. Defaults to 1.

integer

Number of rows per page. The default and the maximum allowed depend on the API tier; a value above the tier maximum is rejected with 400 invalidPageSize.

string
enum
Defaults to json

Response format. "json" (default) or "csv".

Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/csv