# Delisted Stocks List - NYSE & NASDAQ Delistings (SEC EDGAR) (`blackfalcondata/delisted-stocks-list`) Actor

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.

- **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:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## 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

```json
{
  "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.

```json
{
  "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.

```json
{
  "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).

```json
{
  "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.

```json
{
  "formType": "25",
  "dateFrom": "2026-01-01"
}
```

### More query examples

#### Look up a specific company

By ticker:

```json
{
  "ticker": "GE"
}
```

By company name:

```json
{
  "issuerNameContains": "General Electric"
}
```

#### All NASDAQ delistings in a date range

```json
{
  "exchange": "NASDAQ",
  "dateFrom": "2010-01-01",
  "dateTo": "2020-12-31",
  "equityOnly": true
}
```

#### Full dataset download

```json
{}
```

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](https://console.apify.com/storage/datasets/nKdbdRjuYPmBDPNJT) 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:

```json
{}
```

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:

```json
{
  "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:

1. Looks up your last successful run's start time
2. Starts a new run with that timestamp as `updatedSince`

```bash
## Your Apify API token and Actor ID
TOKEN="apify_api_YOUR_TOKEN"
ACTOR_ID="blackfalcondata~delisted-stocks-list"

## Get the last successful run's start time
LAST_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 time
curl -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):**

```python
import requests

TOKEN = "apify_api_YOUR_TOKEN"
ACTOR_ID = "blackfalcondata~delisted-stocks-list"
BASE = "https://api.apify.com/v2"

## Get last successful run's start time
last = requests.get(
    f"{BASE}/acts/{ACTOR_ID}/runs/last",
    params={"status": "SUCCEEDED", "token": TOKEN},
).json()["data"]["startedAt"]

## Start incremental run
requests.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:

1. **EFTS display name** — ticker from SEC's full-text search index
2. **SEC Submissions API** — ticker from the company's SEC filing history
3. **CompanyFacts XBRL** — trading symbol from structured XBRL data
4. **Filing index** — ticker from the filing document itself
5. **Cross-filing search** — ticker found in the company's other SEC filings
6. **Fund/trust classifier** — identifies ETFs, mutual funds, and investment trusts
7. **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](https://docs.apify.com/api/v2) 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.

# 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.

## Actor input object example

```json
{
  "exchange": "All",
  "formType": "All",
  "securityType": "All",
  "equityOnly": false,
  "latestOnly": true,
  "limit": 0
}
```

# 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 = {};

// 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 = {}

# 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 '{}' |
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

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Delisted Stocks List - NYSE & NASDAQ Delistings (SEC EDGAR)",
        "description": "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.",
        "version": "0.1",
        "x-build-id": "xGhjdT7aNB3HxZMFg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/blackfalcondata~delisted-stocks-list/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-blackfalcondata-delisted-stocks-list",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/blackfalcondata~delisted-stocks-list/runs": {
            "post": {
                "operationId": "runs-sync-blackfalcondata-delisted-stocks-list",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/blackfalcondata~delisted-stocks-list/run-sync": {
            "post": {
                "operationId": "run-sync-blackfalcondata-delisted-stocks-list",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "year": {
                        "title": "Year",
                        "type": "integer",
                        "description": "Filter by filing year (e.g. 2024). For multiple years, use dateFrom/dateTo instead."
                    },
                    "dateFrom": {
                        "title": "Date From",
                        "type": "string",
                        "description": "Only include filings on or after this date (YYYY-MM-DD)"
                    },
                    "dateTo": {
                        "title": "Date To",
                        "type": "string",
                        "description": "Only include filings on or before this date (YYYY-MM-DD)"
                    },
                    "updatedSince": {
                        "title": "Updated Since",
                        "type": "string",
                        "description": "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": {
                        "title": "Ticker",
                        "type": "string",
                        "description": "Exact ticker match (e.g. AAPL)"
                    },
                    "cik": {
                        "title": "CIK",
                        "type": "string",
                        "description": "SEC Central Index Key, zero-padded (e.g. 0000320193)"
                    },
                    "issuerNameContains": {
                        "title": "Issuer Name Contains",
                        "type": "string",
                        "description": "Case-insensitive substring match on issuer name"
                    },
                    "exchange": {
                        "title": "Exchange",
                        "enum": [
                            "All",
                            "NYSE",
                            "NASDAQ",
                            "NYSE_AMER",
                            "NYSE_ARCA",
                            "CBOE",
                            "OTC",
                            "UNKNOWN"
                        ],
                        "type": "string",
                        "description": "Filter by exchange",
                        "default": "All"
                    },
                    "formType": {
                        "title": "Form Type",
                        "enum": [
                            "All",
                            "25",
                            "25-NSE",
                            "15-12G",
                            "15-15D"
                        ],
                        "type": "string",
                        "description": "SEC form type that triggered the delisting",
                        "default": "All"
                    },
                    "securityType": {
                        "title": "Security Type",
                        "enum": [
                            "All",
                            "Common Stock",
                            "Preferred",
                            "Warrant",
                            "Bond",
                            "ETF",
                            "Unit",
                            "Right",
                            "ADR",
                            "Other"
                        ],
                        "type": "string",
                        "description": "Type of security",
                        "default": "All"
                    },
                    "equityOnly": {
                        "title": "Equity Only",
                        "type": "boolean",
                        "description": "Shortcut: only return common equity (isCommonEquity=true). Overrides securityType.",
                        "default": false
                    },
                    "latestOnly": {
                        "title": "Latest Version Only",
                        "type": "boolean",
                        "description": "Only return the latest version of each record (default: true). Set false to include superseded versions.",
                        "default": true
                    },
                    "limit": {
                        "title": "Limit",
                        "type": "integer",
                        "description": "Maximum number of records to return. 0 = unlimited.",
                        "default": 0
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
