---
title: "SEC fails-to-deliver (FTD) records for an exact listed stock or ETF, newest first. Each row is the aggregate outstanding fail position on its settlement date (a balance, not a flow) at the prior trading day's closing price; the SEC publishes FTD data in half-month batches with a roughly two-week lag. coverageStartDate is the first fully covered settlement date: from it onward, absent dates mean no reported fails; earlier dates are only partially covered, so their absence is not evidence of no fails."
method: GET
path: "/v1/securities/{ticker}/fails-to-deliver"
tags: ["Filings"]
---

# SEC fails-to-deliver (FTD) records for an exact listed stock or ETF, newest first. Each row is the aggregate outstanding fail position on its settlement date (a balance, not a flow) at the prior trading day's closing price; the SEC publishes FTD data in half-month batches with a roughly two-week lag. coverageStartDate is the first fully covered settlement date: from it onward, absent dates mean no reported fails; earlier dates are only partially covered, so their absence is not evidence of no fails.

`GET /v1/securities/{ticker}/fails-to-deliver`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/securities/{ticker}/fails-to-deliver`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/securities/:ticker/fails-to-deliver/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `ticker` string, required

## Query parameters

- `startDate` string, date
- `endDate` string, date
- `limit` integer
- `offset` integer

## Response `200`

OK

- FailToDeliverPagedResponse
  - `coverageStartDate` string, date, nullable: Full coverage from: the earliest settlement date with full-universe ingestion, across all stocks. "An absent date means no reported fails" only holds at or after this date — earlier dates are at best partially covered, so their absence is not evidence of no fails. Null while no date is fully covered.
  - `listingNotice` ListingNotice: What happened to a requested ticker that no longer trades. "delisted": the company has no current US listing, so the answer is its history. "renamed": the company now trades as successorTicker, its current US presentation ticker (possibly another share class). A listed series (short volume, short interest, off-exchange volume, fails-to-deliver, congressional trades) is the retired ticker's own; a company-level read is the company's data.
    - `status` string, nullable: "delisted" or "renamed".
    - `ticker` string, nullable: The retired ticker as listed.
    - `delistedOn` string, date, nullable: The day the retired listing stopped trading, when known.
    - `successorTicker` string, nullable: For "renamed", the company's current US presentation ticker; null for "delisted".
  - `data` FailToDeliverDto[], nullable
    - `settlementDate` string, date: Settlement date the outstanding fail position is reported for.
    - `quantity` integer: Aggregate shares failed to deliver outstanding on the settlement date (a level, not an increment — do not sum across dates).
    - `price` number, double: The PRIOR trading day's closing price per the SEC file convention, in US dollars — not the price at settlement.
    - `value` number, double: Quantity x the prior-day closing price, in US dollars.
  - `meta` PageMeta
    - `limit` integer
    - `offset` integer
    - `count` integer
    - `hasMore` boolean
    - `total` integer, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/666e06778588?raw)
