# Delisted Stocks — NYSE, NASDAQ & OTC Delistings since 2002 (`blackfalcondata/delisted-stocks-list`) Actor

36,000+ delisted stocks from NYSE · NASDAQ & OTC since 2002, refreshed daily from SEC EDGAR filings. Ticker · CIK · filing dates · exchange & direct filing links. Incremental mode tracks new and changed delistings across scheduled runs.

- **URL**: https://apify.com/blackfalcondata/delisted-stocks-list.md
- **Developed by:** [Black Falcon Data](https://apify.com/blackfalcondata) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 8 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 recent results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### What does Delisted Stocks List do?

Query a curated database of more than 36,000 SEC EDGAR delisting and deregistration filings from 2002 onward. Filter by filing date, ticker, CIK, issuer, exchange, filing type, or security type, then export structured records with direct filing provenance.

### How to use this actor

- 👉 **Register for a free Apify account** — no credit card required.
- 🎉 Just click **[Sign up free on Apify →](https://console.apify.com/sign-up?fpr=1h3gvi\&fp_sid=ctarich)** and complete a quick signup.
- 💰 A free Apify account includes $5 in monthly credits — enough to test this actor.
- ⏳ Scrape during the free trial, with no commitment or upfront payment required.

### Key features

- **📚 Historical coverage** — Query Form 25, 25-NSE, 15-12G, and 15-15D filings from 2002 onward.
- **🔎 Precise filters** — Narrow records by date, ticker, CIK, issuer name, exchange, filing type, or security type.
- **🏛️ SEC provenance** — Every result carries its accession number, CIK, filing date, and direct EDGAR filing URL.
- **📈 Equity research ready** — Use the common-equity filter to build survivorship-bias-aware research universes.
- **♻️ Incremental retrieval** — Use `updatedSince` to fetch records ingested or changed after your last checkpoint.
- **📤 Structured exports** — Download the same records as JSON, CSV, Excel, or through the Apify API.

### What data can you get for each delisted stock record?

Each result describes one SEC delisting or deregistration filing. Records include the resolved ticker, issuer, CIK, security classification, exchange, filing type and dates, accession number, direct EDGAR filing URL, resolution confidence and strategy, ingestion timestamps, version metadata, and filing year.

### Input

Configure the actor through the input schema in Apify Console.

Key parameters:

- **`year`** — Filter by filing year (e.g. 2024). For multiple years, use dateFrom/dateTo instead.
- **`dateFrom`** — Only include filings on or after this date (YYYY-MM-DD)
- **`dateTo`** — Only include filings on or before this date (YYYY-MM-DD)
- **`updatedSince`** — Only records ingested or updated after this ISO datetime (e.g. 2025-01-01T00:00:00Z). Use for incremental pulls — checks ingestion time, not filing date.
- **`ticker`** — Exact ticker match (e.g. AAPL)
- **`cik`** — SEC Central Index Key, zero-padded (e.g. 0000320193)
- **`issuerNameContains`** — Case-insensitive substring match on issuer name
- **`exchange`** — Filter by exchange (default: `"All"`)
- **`formType`** — SEC form type that triggered the delisting (default: `"All"`)
- **`securityType`** — Type of security (default: `"All"`)
- **`equityOnly`** — Shortcut: only return common equity (isCommonEquity=true). Overrides securityType. (default: `false`)
- **`latestOnly`** — Only return the latest version of each record (default: true). Set false to include superseded versions. (default: `true`)
- **`limit`** — Maximum number of records to return. 0 = unlimited. (default: `0`)
- ...and 1 more parameters

### Input examples

**Common stocks delisted in 2024** — Return common-equity filings from one filing year.

→ Matching common-stock delisting records with SEC provenance.

```json
{
  "year": 2024,
  "equityOnly": true,
  "limit": 100
}
```

**NASDAQ Form 25 filings** — Combine exchange, form, and date filters.

→ NASDAQ delisting filings in the selected period.

```json
{
  "exchange": "NASDAQ",
  "formType": "25",
  "dateFrom": "2024-01-01",
  "dateTo": "2024-12-31"
}
```

**Incremental pull** — Use the previous successful run time as the next checkpoint.

→ Records ingested or updated after the checkpoint.

```json
{
  "updatedSince": "2026-01-01T00:00:00Z",
  "latestOnly": true
}
```

### Output

Each run produces a dataset of structured delisted stock records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.

### Example delisted stock record

```json
{
  "id": "0000003570_25_2024-02-12",
  "version": 1,
  "isLatestVersion": true,
  "ticker": "LNG",
  "cik": "0000003570",
  "issuerName": "Cheniere Energy, Inc.",
  "securityType": "Common Stock",
  "isCommonEquity": true,
  "formType": "25",
  "fileDate": "2024-02-12",
  "effectiveDelistingDate": "2024-02-26",
  "filingUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000003570",
  "exchangeRaw": "NYSE",
  "exchange": "NYSE",
  "identifierType": "ticker",
  "confidence": 1,
  "resolutionStrategy": "efts_display",
  "resolutionStatus": "resolved",
  "ingestedAt": "2026-04-17T16:40:48Z",
  "updatedAt": "2026-04-17T16:40:48Z",
  "ingestRunId": "initial-upload",
  "year": 2024
}
```

### How to query delisted stock records

1. Go to [Delisted Stocks List](https://apify.com/blackfalcondata/delisted-stocks-list?fpr=1h3gvi) in Apify Console.
2. Configure the input.
3. Set `limit` to control how many results you need.
4. Click **Start** and wait for the run to finish.
5. Export the dataset as JSON, CSV, or Excel.

### Use cases

- Reduce survivorship bias in equity backtests by restoring delisted securities to historical universes.
- Monitor new SEC delisting and deregistration filings with incremental scheduled pulls.
- Build compliance, corporate-actions, and exchange-removal research datasets with filing-level provenance.
- Look up a ticker, issuer, or CIK and follow the record directly to its SEC EDGAR source.

### How much does it cost to query delisted stock records?

Delisted Stocks List uses [pay-per-event](https://docs.apify.com/platform/actors/paid-actors/pay-per-event) pricing. You pay a small fee when the run starts and then for each result that is actually produced.

- **Run start:** $0.5 per run
- **Per recent result (primary event):** $0.07

You are billed only for the events your run actually triggers. Prices below are the Free plan tier; higher Apify plans (Bronze → Diamond) pay progressively less per event, down to roughly 5× lower on the top tier.

| Event | Price (Free tier) | Charged when |
|---|---|---|
| Actor Start | $0.5 (one-time) | Flat fee charged once per run. |
| Recent Result (primary) | $0.07 | Per record with filing date within the last 365 days. |
| Historical Result | $0.007 | Per record with filing date older than 365 days. |

Example costs (primary event only — other events above add cost when they fire):

- 10 results: **$1.2**
- 25 results: **$2.25**
- 100 results: **$7.5**
- 200 results: **$14.5**
- 500 results: **$35.5**

### FAQ

#### How many delisted stock records can I check per run?

Use `limit` to set the maximum number of matching records returned. A value of `0` returns every record matching the selected filters; narrow date, exchange, filing-type, or security filters when you need a smaller result set.

#### Can I integrate Delisted Stocks List with other apps?

Yes. Delisted Stocks List works with Apify's [integrations](https://apify.com/integrations?fpr=1h3gvi) to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.

#### Can I use Delisted Stocks List with the Apify API?

Yes. You can start runs, manage inputs, and retrieve results programmatically through the [Apify API](https://docs.apify.com/api/v2). Client libraries are available for JavaScript, Python, and other languages.

#### Can I use Delisted Stocks List through an MCP Server?

Yes. Apify provides an [MCP Server](https://apify.com/apify/actors-mcp-server?fpr=1h3gvi) that lets AI assistants and agents call this actor directly. Use narrow filters and `limit` to keep result payloads manageable for an LLM context window.

#### Is it legal to query delisted stock records?

The source SEC EDGAR filings are public records. You remain responsible for validating the linked filings and for complying with any laws, policies, or downstream obligations that apply to your use case.

#### Your feedback

If you have questions, need a feature, or found a bug, please [open an issue](https://apify.com/blackfalcondata/delisted-stocks-list/issues?fpr=1h3gvi) on the actor's page in Apify Console. Your feedback helps us improve.

### You might also like

- [SEC Filings \[Just 💰$2\] — EDGAR & XBRL Data](https://apify.com/blackfalcondata/sec-filings-scraper?fpr=1h3gvi) — 💰 $2 per 1,000 filings. Scrape sec.gov — official SEC filings by ticker or full-text search · 10-K.

### Getting started with Apify

New to Apify? [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=1h3gvi\&fp_sid=ctarich) — no credit card required.

1. Sign up — $5 platform credit included
2. Open this actor and configure your input
3. Click **Start** — export results as JSON, CSV, or Excel

Need more later? [See Apify pricing](https://apify.com/pricing?fpr=1h3gvi).

### SEC filing types

| Form | Meaning |
|---|---|
| `25` / `25-NSE` | Exchange-listing removal filing |
| `15-12G` | Termination of registration under Section 12(g) |
| `15-15D` | Suspension of reporting obligations under Section 15(d) |

For Form 25 records, `effectiveDelistingDate` is the computed date ten business days after filing. It is empty when that concept does not apply.

### Pricing events

The Actor charges one start event and then charges each delivered record as either `recent-result` or `historical-result`. A record is recent when its filing date falls within the rolling last 365 days; older records use the lower historical-result rate. The Apify Console shows the exact rates for your subscription tier before each run. Use narrow filters or `updatedSince` when you only need new records.

### Sample dataset

Evaluate the schema and coverage in the [public sample dataset](https://console.apify.com/storage/datasets/nKdbdRjuYPmBDPNJT?fpr=1h3gvi), which contains representative records across filing years, filing types, and resolution strategies.

### Disclaimer

SEC EDGAR filings are public records. This dataset is provided for research and automation and is not investment, legal, or compliance advice. Validate records against the linked source filings before making consequential decisions.

### Search keywords

delisted stocks list scraper, delisted stocks list api, apify delisted stocks list, delisted stocks list data extraction.

# Actor input Schema

## `year` (type: `integer`):

Filter by filing year (e.g. 2024). For multiple years, use dateFrom/dateTo instead.

## `dateFrom` (type: `string`):

Only include filings on or after this date (YYYY-MM-DD)

## `dateTo` (type: `string`):

Only include filings on or before this date (YYYY-MM-DD)

## `updatedSince` (type: `string`):

Only records ingested or updated after this ISO datetime (e.g. 2025-01-01T00:00:00Z). Use for incremental pulls — checks ingestion time, not filing date.

## `ticker` (type: `string`):

Exact ticker match (e.g. AAPL)

## `cik` (type: `string`):

SEC Central Index Key, zero-padded (e.g. 0000320193)

## `issuerNameContains` (type: `string`):

Case-insensitive substring match on issuer name

## `exchange` (type: `string`):

Filter by exchange

## `formType` (type: `string`):

SEC form type that triggered the delisting

## `securityType` (type: `string`):

Type of security

## `equityOnly` (type: `boolean`):

Shortcut: only return common equity (isCommonEquity=true). Overrides securityType.

## `latestOnly` (type: `boolean`):

Only return the latest version of each record (default: true). Set false to include superseded versions.

## `limit` (type: `integer`):

Maximum number of records to return. 0 = unlimited.

## `excludeEmptyFields` (type: `boolean`):

Drop null, empty-string, empty-array, and empty-object fields from each output record.

## Actor input object example

```json
{
  "year": 2024,
  "exchange": "All",
  "formType": "All",
  "securityType": "All",
  "equityOnly": true,
  "latestOnly": true,
  "limit": 100,
  "excludeEmptyFields": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "year": 2024,
    "equityOnly": true,
    "limit": 100,
    "excludeEmptyFields": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("blackfalcondata/delisted-stocks-list").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "year": 2024,
    "equityOnly": True,
    "limit": 100,
    "excludeEmptyFields": False,
}

# Run the Actor and wait for it to finish
run = client.actor("blackfalcondata/delisted-stocks-list").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "year": 2024,
  "equityOnly": true,
  "limit": 100,
  "excludeEmptyFields": false
}' |
apify call blackfalcondata/delisted-stocks-list --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=blackfalcondata/delisted-stocks-list",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/DCHZcOmJr0Z7VMIPa/builds/odGNFo279TfYhya8n/openapi.json
