Delisted Stocks List - NYSE & NASDAQ Delistings (SEC EDGAR)
Pricing
from $20.00 / 1,000 recent results
Delisted Stocks List - NYSE & NASDAQ Delistings (SEC EDGAR)
36,000+ delisted stocks from NYSE, NASDAQ, and OTC since 2002. Daily SEC EDGAR updates with ticker, CIK, filing dates, exchange, and direct filing links. Covers Form 25 delistings and Form 15 deregistrations for survivorship-bias correction in backtesting.
Pricing
from $20.00 / 1,000 recent results
Rating
0.0
(0)
Developer
Black Falcon Data
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Delisted Stocks List — NYSE & NASDAQ Delistings (SEC EDGAR)
Complete list of 36,000+ delisted stocks from NYSE, NASDAQ, and OTC exchanges — updated daily through 2025. Covers every stock delisting (Form 25) and voluntary deregistration (Form 15) filed with the SEC since 2002, giving you the full historical universe of delisted companies across all major US exchanges. Daily updates from SEC EDGAR.
Why this Actor?
Most stock delisting datasets provide only identifiers and dates. This delisted stocks list includes filing-level SEC provenance:
- NYSE delisted stocks + NASDAQ delisted stocks — covers all major US exchanges including NYSE, NASDAQ, NYSE American, NYSE Arca, CBOE, and OTC
- Filing provenance — every record links directly to its source SEC filing on EDGAR, with CIK, accession number, and filing URL
- Precise filing dates — exact SEC filing dates and computed effective delisting dates (10 business days for Form 25)
- Incremental updates — pull only new records since your last run with
updatedSince, ideal for daily monitoring pipelines - Delisting vs. deregistration — clearly distinguishes exchange-initiated stock delistings (Form 25) from voluntary deregistrations (Form 15)
- Built for survivorship-bias correction — designed for quant researchers and backtesting workflows that need the full historical universe of delisted companies
What does this Actor do?
This Actor queries a curated delisted stocks database of 36,000+ SEC EDGAR filings covering stock delisting and deregistration events since 2002. Each record represents a Form 25, 25-NSE, 15-12G, or 15-15D filing — the official regulatory documents that mark when a stock is delisted from a US exchange or when a delisted company terminates its SEC reporting obligations.
Each record includes the ticker symbol, company name, CIK, filing date, effective delisting date, exchange, security type, and a direct link to the source filing on EDGAR.
New filings are checked daily and typically appear in the dataset within 24 hours on business days. Ticker symbols are resolved using a multi-strategy pipeline that has achieved full resolution on recent QA batches.
Output fields
Each record contains 20+ fields with full SEC filing provenance:
| Field | Type | Example |
|---|---|---|
ticker | string | "WSTN", "GE", "AAPL" |
issuerName | string | "Westin Acquisition Corp" |
cik | string | "0002076192" |
formType | string | "25", "25-NSE", "15-12G", "15-15D" |
fileDate | string | "2026-01-06" |
effectiveDelistingDate | string | "2026-01-20" (Form 25 only) |
exchange | string | "NYSE", "NASDAQ", "OTC", "NYSE_AMER" |
securityType | string | "Common Stock", "ETF", "Preferred" |
isCommonEquity | boolean | true |
accessionNumber | string | SEC accession number |
filingUrl | string | Direct link to SEC EDGAR filing |
identifierType | string | "ticker", "fund_trust", "private_entity" |
confidence | number | Resolution confidence (0.0-1.0) |
resolutionStrategy | string | Method used to resolve the ticker |
year | integer | Filing year |
ingestedAt | string | When this record was added to the dataset |
SEC filing types explained
| Form | What it means | Who initiates |
|---|---|---|
| Form 25 | Security removed from exchange listing | The exchange (NYSE, NASDAQ) |
| Form 25-NSE | Same as Form 25, filed via NSE system | The exchange |
| Form 15-12G | Voluntary deregistration under Section 12(g) | The company |
| Form 15-15D | Voluntary termination of reporting under Section 15(d) | The company |
Forms 25/25-NSE are delistings — the exchange removes the stock, often due to listing standard violations. Forms 15-12G/15-15D are deregistrations — the company voluntarily stops SEC reporting, often after going private or being acquired.
What types of securities are included?
The dataset covers more than common stocks. Use securityType or equityOnly to filter by asset class.
| Security type | Records | Share | How to filter |
|---|---|---|---|
| Common stocks (ticker-resolved) | ~15,100 | 42% | equityOnly: true |
| Private entities (LPs, deregistered companies) | ~16,200 | 45% | securityType: "Other" |
| Bonds and notes | ~3,500 | 10% | securityType: "Bond" |
| ETFs, funds, and trusts | ~1,200 | 3% | securityType: "ETF" |
For backtesting and equity research, use equityOnly: true to get only the ~15,100 common stock records.
Sample output
{"id": "0002076192_25-NSE_2026-01-06","ticker": "WSTN","cik": "0002076192","issuerName": "Westin Acquisition Corp","securityType": "Common Stock","isCommonEquity": true,"formType": "25-NSE","fileDate": "2026-01-06","effectiveDelistingDate": "2026-01-20","exchangeRaw": "NASDAQ","exchange": "NASDAQ","identifierType": "ticker","confidence": 1.0,"resolutionStrategy": "efts_display","resolutionStatus": "resolved","ingestedAt": "2026-04-12T06:00:00Z","year": 2026}
Input parameters
Date filters
| Parameter | Type | Description |
|---|---|---|
year | integer | Filter by filing year (e.g., 2024) |
dateFrom | string | Only filings on or after this date (YYYY-MM-DD) |
dateTo | string | Only filings on or before this date (YYYY-MM-DD) |
updatedSince | string | Only records ingested/updated after this timestamp (ISO 8601). For incremental daily pulls. |
Security filters
| Parameter | Type | Description |
|---|---|---|
ticker | string | Exact ticker match (e.g., AAPL) |
cik | string | SEC Central Index Key (e.g., 0000320193) |
issuerNameContains | string | Case-insensitive substring match on company name |
Classification filters
| Parameter | Type | Default | Description |
|---|---|---|---|
exchange | enum | All | NYSE, NASDAQ, NYSE_AMER, NYSE_ARCA, CBOE, OTC, or UNKNOWN |
formType | enum | All | 25, 25-NSE, 15-12G, or 15-15D |
securityType | enum | All | Common Stock, Preferred, Warrant, Bond, ETF, Unit, Right, ADR, or Other |
equityOnly | boolean | false | Only return common stock (overrides securityType) |
latestOnly | boolean | true | Only return the latest version of each record |
Output
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 0 | Maximum records to return. 0 = unlimited. |
Use cases for delisted stocks data
Backtesting — reduce survivorship bias
Survivorship bias inflates backtest returns because delisted stocks (which often went to zero) are missing from historical data. This dataset lets you reconstruct the actual investable universe at any point in time.
{"year": 2020,"equityOnly": true}
Returns all common stocks delisted in 2020 — add these to your backtest universe for more realistic returns.
Daily monitoring pipeline
Use updatedSince to pull only new records since your last run. This filter checks ingestion time (not filing date), so it catches both new filings and updated resolutions.
{"updatedSince": "2026-04-11T06:00:00Z"}
Typical output is 3-5 new records on business days and 0 on most weekends. See the FAQ section below for how to automate this with the Apify API so updatedSince is set dynamically to your last run's timestamp.
Compliance & regulatory monitoring
Distinguish between exchange-initiated delistings (Form 25 — often listing standard violations) and voluntary deregistrations (Form 15 — often going private or post-acquisition).
{"formType": "25","exchange": "NYSE","dateFrom": "2024-01-01","dateTo": "2024-12-31"}
Build a delisting calendar
Each Form 25 record includes an effectiveDelistingDate computed as 10 business days after filing. Use this to build a forward-looking delisting calendar.
{"formType": "25","dateFrom": "2026-01-01"}
More query examples
Look up a specific company
By ticker:
{"ticker": "GE"}
By company name:
{"issuerNameContains": "General Electric"}
All NASDAQ delistings in a date range
{"exchange": "NASDAQ","dateFrom": "2010-01-01","dateTo": "2020-12-31","equityOnly": true}
Full dataset download
{}
Returns all 36,000+ records across all years, form types, and security types. Use equityOnly: true to limit to common stock.
How much does it cost?
This Actor uses Pay-Per-Event pricing with three charge events:
| Event | What it charges |
|---|---|
| actor-start | Flat fee per run |
| recent-result | Per record with fileDate within the last 365 days |
| historical-result | Per record with fileDate older than 365 days |
The 365-day boundary is a rolling window — records automatically transition from recent to historical pricing over time. Historical records are priced lower than recent records.
What does daily stock monitoring cost?
The most common use case is daily incremental monitoring of newly delisted stocks. On paid tiers, based on recent filing volumes (~78 stock delistings per month):
| Monitoring frequency | Approximate cost |
|---|---|
| Daily incremental | approx. $4/month ($48/year) |
| Weekly incremental | approx. $2/month ($24/year) |
| Monthly pull | approx. $2/month ($20/year) |
These estimates assume equityOnly: true (common stocks only). Including all security types increases the record count and cost proportionally.
One-time download costs (paid tier)
| Scenario | Records | Approximate cost |
|---|---|---|
| Recent window only (last 365 days) | approx. 940 recent | approx. $19 |
| Historical archive only (older than 365 days) | approx. 35,000 historical | approx. $48 |
| Full database (all records) | approx. 940 recent + 35,000 historical | approx. $67 |
| Single ticker lookup | 1 | Under $1 |
Exact pricing depends on your Apify subscription tier. Free-tier pricing is higher per event.
Sample dataset for evaluation
Before purchasing, evaluate data quality using a public sample dataset with 200 representative records covering all years (2002-2026), form types, and resolution strategies.
FAQ
How often is the data updated?
New SEC filings are checked daily and typically appear in the dataset within 24 hours on business days. The pipeline runs at 06:00 UTC.
How do I set up a daily incremental pipeline?
Follow these three steps to get the full dataset once, then receive only new records each day.
Step 1 — Initial full download
Run the Actor once with no filters to get the complete dataset:
{}
This returns all 36,000+ records. Export or save the results — this is your baseline. Note the timestamp when this run started (visible in the run detail on Apify Console, or via the API as startedAt).
Step 2 — Verify incremental mode works
Run the Actor again with updatedSince set to your Step 1 run's start time:
{"updatedSince": "2026-04-12T07:00:00Z"}
This should return 0 records (or a handful if new filings were ingested between your two runs). This confirms incremental mode is working correctly.
Step 3 — Automate with the Apify API
Set up a daily cron job or CI pipeline step that:
- Looks up your last successful run's start time
- Starts a new run with that timestamp as
updatedSince
# Your Apify API token and Actor IDTOKEN="apify_api_YOUR_TOKEN"ACTOR_ID="blackfalcondata~delisted-stocks-list"# Get the last successful run's start timeLAST_RUN=$(curl -s \"https://api.apify.com/v2/acts/${ACTOR_ID}/runs/last?status=SUCCEEDED&token=${TOKEN}" \| jq -r '.data.startedAt')echo "Last run started at: $LAST_RUN"# Start a new run with updatedSince = last run's start timecurl -X POST \"https://api.apify.com/v2/acts/${ACTOR_ID}/runs?token=${TOKEN}" \-H "Content-Type: application/json" \-d "{\"updatedSince\": \"${LAST_RUN}\"}"
Schedule this script to run daily at 07:00 UTC or later — the ingest pipeline runs at 06:00 UTC, so this ensures you always get the latest data. This pattern gives you a fully automated delisted stocks API integration with no manual data management.
Each run returns only records ingested since your previous run. Typical daily output is 3-5 records on business days and 0 on most weekends.
Python example (same approach):
import requestsTOKEN = "apify_api_YOUR_TOKEN"ACTOR_ID = "blackfalcondata~delisted-stocks-list"BASE = "https://api.apify.com/v2"# Get last successful run's start timelast = requests.get(f"{BASE}/acts/{ACTOR_ID}/runs/last",params={"status": "SUCCEEDED", "token": TOKEN},).json()["data"]["startedAt"]# Start incremental runrequests.post(f"{BASE}/acts/{ACTOR_ID}/runs",params={"token": TOKEN},json={"updatedSince": last},)
What's the difference between delisting and deregistration?
- Delisting (Forms 25, 25-NSE) — The exchange removes the security from its listing. Usually triggered by the company failing to meet listing standards (price, filings, market cap). The stock stops trading 10 business days after filing.
- Deregistration (Forms 15-12G, 15-15D) — The company voluntarily terminates its SEC registration or reporting obligations. Common after going private, mergers, or falling below the reporting threshold.
What does effectiveDelistingDate mean?
For Form 25 filings, the SEC mandates a 10-business-day waiting period between filing and actual removal from the exchange. The effectiveDelistingDate is this computed date. For Form 15 filings, this field is null.
How are ticker symbols resolved?
Each filing goes through a multi-strategy resolution pipeline:
- EFTS display name — ticker from SEC's full-text search index
- SEC Submissions API — ticker from the company's SEC filing history
- CompanyFacts XBRL — trading symbol from structured XBRL data
- Filing index — ticker from the filing document itself
- Cross-filing search — ticker found in the company's other SEC filings
- Fund/trust classifier — identifies ETFs, mutual funds, and investment trusts
- Private entity classifier — identifies limited partnerships and private companies
Integrations and API access
Can I use this for backtesting?
Yes. Merge this dataset with your historical price data to reconstruct the true investable universe at any point in time. This helps reduce survivorship bias in strategy backtests.
Can I integrate this with my data pipeline?
Yes. Call this Actor via the Apify API from any language. Use updatedSince for incremental pulls. Results are returned as JSON and can be exported to CSV, Excel, or piped into your database.
How far back does the data go?
The dataset covers SEC EDGAR filings from 2002 to present. Coverage is most complete from 2004 onwards, when EDGAR's electronic filing system was widely adopted.
What's the confidence field?
A score from 0.0 to 1.0 indicating how confident the resolution pipeline is in the ticker assignment. Most records have confidence: 1.0 (resolved from authoritative SEC data). A small number of edge cases have lower confidence when the ticker was inferred from indirect sources.
Is this legal to use?
The source filings are public SEC EDGAR records. Users remain responsible for their own downstream compliance and usage requirements.