# 🚀 IPO Tracker — Recent + Upcoming IPOs, Lockup Expirations (`nexgendata/ipo-tracker`) Actor

Track recent + upcoming IPOs across NYSE and NASDAQ. Real-time IPO calendar with pricing, share counts, valuations, lead underwriters, lockup expirations, post-IPO performance. Bloomberg IPO desk alternative for prop traders, IPO arb funds, fintech apps. Pay-per-result, no Bloomberg seat.

- **URL**: https://apify.com/nexgendata/ipo-tracker.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $500.00 / 1,000 ipo records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 🚀 IPO Tracker — Recent + Upcoming IPOs, Lockup Expirations

**The institutional-grade IPO desk on tap.** Real-time IPO calendar for NYSE and NASDAQ — recent priced IPOs, upcoming scheduled IPOs, and newly filed S-1 / F-1 registration statements — with deal pricing, share counts, post-money valuations, lead underwriters, **lockup expiration dates**, and post-IPO performance for already-trading names. Built for IPO desk analysts, prop traders, IPO arbitrage funds, lockup-expiration arbitrageurs, and fintech apps that surface fresh IPO opportunities to retail.

This is the actor a Bloomberg IPO desk seat (BWPO`<GO>`) costs $24k/yr to access. Pay-per-result on Apify — no seat, no contract, no minimum.

---

### Why a dedicated IPO actor (and not just a stock screener)

IPOs are a distinct asset class with their own data model. A generic equity screener fails them three ways:

1. **No deal economics.** Recent stock price ≠ IPO price. You need the deal size, shares offered, midpoint of the marketed price range, post-pricing valuation, **and** the implied first-day pop. None of those fields exist on a stock screener.
2. **No lifecycle status.** An IPO moves through four states — `filing` (S-1 / F-1 just filed with the SEC) → `upcoming` (priced or scheduled, not yet trading) → `priced` (priced today, opens any minute) → `trading` (already trading post-IPO, performance accruing). Each state has different traders watching it: ECM bankers watch filings, IPO subscribers watch upcomings, day traders watch priced, lockup arbs watch trading.
3. **No lockup-expiration field.** This is the single most valuable IPO data point after deal size. Insiders, VC funds, and pre-IPO employees are contractually locked out of selling for 180 days post-IPO. Lockup expiration day is the **single most-traded event** in IPO arbitrage. A stock screener gives you a current price; this actor gives you the expiration date so you can build the short-vol straddle, the borrow-and-short, or the put-spread weeks in advance.

---

### What you get

A unified IPO record stream, one record per IPO event:

```json
{
  "symbol": "CBRS",
  "company_name": "Cerebras Systems Inc.",
  "ipo_date": "2026-05-14",
  "ipo_status": "upcoming",
  "ipo_price": 120.00,
  "ipo_price_low": 115.00,
  "ipo_price_high": 125.00,
  "shares_offered": 28000000,
  "proceeds_usd": 3360000000.00,
  "valuation_usd": 25560000000.00,
  "trailing_revenue_usd": 509990000.00,
  "lead_underwriters": [],
  "exchange": "NASDAQ",
  "sector": "Technology",
  "industry": null,
  "current_price": null,
  "current_market_cap_usd": null,
  "gain_loss_from_ipo_price_pct": null,
  "lockup_expiration_date": "2026-11-10",
  "lockup_days": 180,
  "filing_date": null,
  "prospectus_url": "https://www.sec.gov/cgi-bin/browse-edgar?...",
  "is_spac": false,
  "stockanalysis_url": "https://stockanalysis.com/stocks/cbrs/",
  "data_source": "stockanalysis_calendar"
}
````

That gives you everything to:

- Build an IPO subscription / allocation tracker
- Compute first-day pop heat-maps (current\_price vs ipo\_price)
- Pre-build short books for lockup-expiration day (lockup\_expiration\_date 60-90 days out)
- Run sector-tilt analytics (Tech vs Biotech IPO cadence)
- Power a fintech "fresh IPOs" feed for retail brokerage apps
- Feed an ECM desk's daily filings comp screen

***

### Lifecycle states explained

| `ipo_status` | Meaning | Typical buyer |
|---|---|---|
| `filing` | S-1 / F-1 just filed with SEC. No price yet, no date yet. | ECM analysts, sell-side bankers, IPO Boutique |
| `upcoming` | Priced or scheduled IPO. Has price range + date. Not yet trading. | IPO desk allocators, retail subscription apps |
| `priced` | Priced today. Opens for trading any minute. | Day traders, first-day pop speculators |
| `trading` | Already IPO'd. Public market data available. | Lockup arbs, lockup short-sellers, momentum funds |

The actor returns all four states in a single pull. Filter by `status` to narrow.

***

### Input filters

| Input | Type | Description |
|---|---|---|
| `limit` | integer | Max records to return (0 = all, typically 250+). |
| `status` | enum | `all` / `upcoming` / `priced` / `trading` / `filing` |
| `date_range` | enum | `all` / `last_30d` / `last_90d` / `last_180d` / `upcoming` |
| `min_proceeds_usd` | integer | Filter out small deals. Use $100M for institutional IPOs, $1B for mega IPOs. |
| `exchange` | enum | `all` / `NYSE` / `NASDAQ` / `AMEX` / `OTC` |
| `sector` | enum | All 11 GICS sectors |
| `exclude_spacs` | boolean | Strip blank-check / acquisition-corp names |

***

### Use cases for institutional capital

#### IPO desk analysts

Daily fresh pull of upcoming IPOs + recent filings. Sort by sector, deal size, lead underwriter. Replace your manual Renaissance Capital / IPO Boutique workflow with a JSON feed you can pipe into Snowflake / BigQuery.

#### Lockup expiration arbitrageurs

This is where the actor pays for itself ten times over. Every record has `lockup_expiration_date` computed as `ipo_date + 180 days` (or pulled from the source when available). Run a query for IPOs with `lockup_expiration_date` between now and now+30 days, cross-reference with current short interest, and you have your watch list. The trade: when 180-day lockup expires, insider supply hits the market and stocks typically drop 1-3% on heavy volume. Pre-position short, or sell weekly calls into the event.

#### IPO arbitrage funds

Subscribe to allocated IPOs at the IPO price, sell into the first-day pop. The actor surfaces `ipo_price` vs `current_price` for every recent IPO so you can compute the realized pop distribution, build base rates, and size your next allocation.

#### Fintech apps surfacing IPOs to retail

Power "Upcoming IPOs This Week" feeds on Robinhood-style apps. The actor's `upcoming` status filter combined with `date_range: upcoming` gives you a clean retail-facing list, refreshed daily.

#### Prop traders

First-day-pop dispersion trading. Recent IPOs with `gain_loss_from_ipo_price_pct` give you cohort statistics for sizing your next IPO debut play.

#### Pre-IPO funding round backfill

Combine with our **Startup Funding Tracker** (sister actor) to chain a private company's full lifecycle — from Series B funding through S-1 filing through priced IPO. This is the only fully-linked private-to-public data pipeline on Apify.

#### ECM bankers / corporate development

Daily monitor of competitive filings. New S-1 filed in your sector? You see it in your next morning pull, no Bloomberg seat required.

***

### Pricing — pay per IPO record

| Event | Cost |
|---|---|
| Actor start | **$0.01** |
| Per IPO record returned | **$0.50** |

A 5-record smoke test costs **$2.51** total. A daily 50-record IPO pull costs **$25.01/day** or roughly **$9,100/year** — about 38% of a single Bloomberg Terminal seat, with full programmatic access and zero seat licensing.

IPO records are priced higher ($0.50/record) than our regional stock screener records ($0.25/record) because each IPO is a discrete, high-value event signal. A single lockup-expiration date can drive a 5-figure trade; a single new S-1 filing can trigger a 6-figure long-short pair construction. We anchor the price to the event value, not the data byte count.

***

### Data sources & reliability

1. **stockanalysis.com IPO calendar** (primary) — clean server-rendered HTML tables. The recent IPOs table contains ~200 trailing IPOs with prices, current quotes, and post-IPO performance. The upcoming calendar has full deal detail (price range, shares offered, deal size, post-money valuation, trailing revenue). The filings table has 400+ newly filed S-1 / F-1 registrations.
2. **NASDAQ IPO calendar** (cross-reference) — JSON endpoints used for symbol + date validation when ambiguity arises.
3. **SEC EDGAR full-text search** (prospectus links) — every record carries a deterministic SEC EDGAR search URL so you can drop straight into the prospectus / S-1 / 424B4 filing without a separate lookup.
4. **Computed lockup expiration** — when not present in the primary source, we compute lockup as `ipo_date + 180 calendar days`. This is the SEC-customary lockup window for the overwhelming majority of US IPOs. If your strategy is sensitive to the exact lockup terms (some IPOs run 90-day, 270-day, or staggered releases), cross-reference the prospectus\_url field.

The actor is resilient to single-source outages — if stockanalysis.com returns 4xx/5xx for one of the three tables, the other two still emit records.

***

### How to run

**Apify Console** — paste your filter inputs, hit Run, download the dataset as JSON or CSV.

**Apify API** (Python):

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("nexgendata/ipo-tracker").call(run_input={
    "limit": 50,
    "status": "upcoming",
    "date_range": "upcoming",
    "min_proceeds_usd": 100000000,
    "exchange": "all",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["symbol"], item["company_name"], item["ipo_date"],
          item["proceeds_usd"], item["valuation_usd"], item["lockup_expiration_date"])
```

**Schedule it** — pair with an Apify scheduled task. Daily 06:30 ET (pre-market) gives you a fresh IPO calendar snapshot every trading day; or trigger weekly Friday post-close for a clean weekly summary.

***

### FAQ

**How fresh is the data?** stockanalysis.com refreshes its IPO calendar within minutes of NYSE / NASDAQ tape updates. Run the actor every 1-4 hours during market hours to stay current.

**Does it cover SPACs?** Yes, included by default. Toggle `exclude_spacs: true` to strip "Acquisition Corp" / "Capital Acquisition" / "blank check" entries — useful for operational-IPO analytics where SPAC noise distorts averages.

**What about international IPOs (LSE, HKEX, TSX)?** Not in this actor — US listings only (NYSE / NASDAQ / AMEX). For HKEX IPOs use our HKEX Hang Seng Stock Screener; for TSX, our TSX Canada screener. London IPOs are on our roadmap.

**What about direct listings and SPAC mergers (de-SPACs)?** Direct listings (Spotify, Slack, Coinbase) are included with `ipo_status: trading` and `proceeds_usd: 0` (no primary capital raised). De-SPAC business combinations are flagged via `is_spac: true` on the SPAC vehicle side.

**How accurate is the computed lockup\_expiration\_date?** Default 180-day SEC-customary window is accurate for ~85% of US IPOs. The remaining 15% include staggered releases (e.g., 25% at 90 days, 75% at 180 days) and longer windows (270 days for some biotech and SPAC PIPEs). For trade execution, always cross-reference the prospectus.

**Can I get the lead underwriters?** Currently `lead_underwriters` is emitted but typically empty in the primary source feed. We're adding underwriter enrichment via SEC EDGAR S-1 cover-page parsing in v0.1. For now, click the `prospectus_url` to pull underwriters from the deal prospectus directly.

**Can I get history (e.g., 2024 IPO performance)?** Not yet — the actor returns the trailing ~6 month rolling window from stockanalysis.com. For historical IPO datasets, contact us about a custom data pipeline.

***

### Built by NexGenData

We build data infrastructure for global equity desks. 220+ actors live on Apify covering US, China, Hong Kong, Japan, Korea, India, Brazil, MENA, ASEAN, and emerging markets. IPO data complements our broader US-equity stack — combine this actor with our Finviz screener, SEC filings trackers, and institutional holdings actors to build a fully connected pre-IPO-through-post-IPO data pipeline.

***

### Explore the NexGenData Equity Data Suite

This actor is part of NexGenData's global equity data fleet. IPOs sit at the intersection of private and public markets — pair the IPO Tracker with NexGenData's pre-IPO funding tracker, US equity screener, and SEC institutional-holdings trackers to build a fully connected lifecycle pipeline:

#### Pre-IPO and private capital

- 🔗 **[Startup Funding Tracker](https://apify.com/nexgendata/startup-funding-tracker)** — Pre-IPO funding rounds (Series A → late-stage). Natural complement: chain a company's full lifecycle from seed through S-1 through priced IPO.

#### Public equity peers

- 🔗 **[Chinese ADRs Stock Screener](https://apify.com/nexgendata/chinese-adrs-stock-screener)** — US-listed Chinese companies (NYSE / NASDAQ ADRs). Many recent IPOs are Chinese ADRs — chase the post-IPO performance here.
- 🔗 **[Finviz Stock Screener](https://apify.com/nexgendata/finviz-stock-screener)** — US equity (NYSE / NASDAQ / AMEX) with 70+ filters. Cross-reference recent IPOs against the broader US universe.

#### Post-IPO institutional intelligence

- 🔗 **[SEC Form 13F Holdings Tracker](https://apify.com/nexgendata/sec-form-13f-holdings-tracker)** — Quarterly institutional positions. Watch which hedge funds are loading up on freshly-IPO'd names.
- 🔗 **[SEC Schedule 13D/G Activist Tracker](https://apify.com/nexgendata/sec-schedule-13dg-activist-tracker)** — 5%+ activist positions. Critical for detecting activist accumulation in post-lockup IPOs.

#### Multi-asset / specialty

- 🔗 **[Finance MCP Server](https://apify.com/nexgendata/finance-mcp-server)** — Unified Model Context Protocol server exposing the full NexGenData equity fleet to Claude, Cursor & MCP-aware LLMs.

#### Browse the full NexGenData catalog

**[→ See all 220+ NexGenData actors at apify.com/nexgendata](https://apify.com/nexgendata?fpr=2ayu9b)** — equity screeners across 25+ markets, IPO + pre-IPO trackers, SEC filings, institutional holdings, B2B intelligence, MCP servers, and more.

***

### Why NexGenData vs. paid alternatives

| Tool | Annual cost | API access | IPO coverage |
|------|-------------|------------|--------------|
| Bloomberg Terminal (BWPO `<GO>`) | ~$24,000/seat | Limited | Global |
| FactSet IPO Monitor | ~$15,000/seat | Paid add-on | Global |
| Refinitiv Eikon ECM | ~$22,000/seat | Paid add-on | Global |
| Renaissance Capital IPO | ~$9,000/seat | None | US |
| **NexGenData IPO Tracker** | **Pay-per-result** | **Native** | **US (NYSE + NASDAQ)**          |

Run this actor once per day for an institutional IPO desk workflow (~50 records/day, 250 trading days/year) and your annual cost is approximately **$9,100** — a 60-95% discount vs. the major paid alternatives, with no seat licensing, no minimum commitment, and full programmatic access via Apify's REST API or any of 1,500+ MCP / no-code integrations.

***

### 🚀 Apify affiliate program — Get free credits & save 30%

Sign up to Apify via our referral link and you'll get:

- **Free starter credits** to test this actor and the rest of our 220+ actor fleet
- **30% off platform fees** for the life of your account

**[→ Sign up here with NexGenData's affiliate link](https://apify.com/nexgendata?fpr=2ayu9b)** — same Apify, same actors, just cheaper for you and a small kickback that helps us keep building.

*Built and maintained by NexGenData — institutional-grade equity, IPO, SEC filings, and B2B data infrastructure on Apify.*

# Actor input Schema

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

Maximum number of IPO records to return. Set to 0 to return all matching IPOs (typically 250+ across recent + upcoming + filings). Useful for testing smaller batches before running a full pull.

## `status` (type: `string`):

Filter by IPO lifecycle status. 'upcoming' = priced/scheduled IPOs not yet trading; 'priced' = recently priced including same-day pricing; 'trading' = already-trading recent IPOs (last 6 months) with post-IPO performance; 'filing' = newly filed S-1 / F-1 registration statements (pre-roadshow); 'all' = every status.

## `date_range` (type: `string`):

Filter by IPO date range. 'last\_30d' = IPOs that priced in the last 30 calendar days; 'last\_90d' = last 90 days; 'last\_180d' = last 180 days (full lockup window); 'upcoming' = scheduled future IPOs only; 'all' = no date filter.

## `min_proceeds_usd` (type: `integer`):

Minimum total deal size (proceeds raised) in USD. Use 100000000 ($100M) to filter for institutional-size IPOs. Use 1000000000 ($1B) to filter for mega IPOs only. Set to 0 to include all sizes including micro-cap and SPAC deals.

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

Filter by US listing exchange. NYSE includes large operational IPOs (Reddit, Birkenstock-tier). NASDAQ includes tech and biotech IPOs (most SPAC and biotech debuts). 'all' returns both exchanges and any AMEX / OTC listings.

## `sector` (type: `string`):

Filter by GICS-style sector. 'all' returns everything. IPO sectors skew heavily Technology and Healthcare (biotech). Useful for sector-rotation IPO strategies and theme-focused IPO arb desks.

## `exclude_spacs` (type: `boolean`):

If true, filters out Special Purpose Acquisition Companies (SPACs) — recognized by 'Acquisition Corp', 'Capital Acquisition', etc. in the company name. SPACs typically price at exactly $10 and add noise to operational IPO analytics.

## Actor input object example

```json
{
  "limit": 50,
  "status": "all",
  "date_range": "all",
  "min_proceeds_usd": 0,
  "exchange": "all",
  "sector": "all",
  "exclude_spacs": false
}
```

# 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 = {
    "limit": 50,
    "status": "all",
    "date_range": "all",
    "min_proceeds_usd": 0,
    "exchange": "all",
    "sector": "all",
    "exclude_spacs": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/ipo-tracker").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 = {
    "limit": 50,
    "status": "all",
    "date_range": "all",
    "min_proceeds_usd": 0,
    "exchange": "all",
    "sector": "all",
    "exclude_spacs": False,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/ipo-tracker").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 '{
  "limit": 50,
  "status": "all",
  "date_range": "all",
  "min_proceeds_usd": 0,
  "exchange": "all",
  "sector": "all",
  "exclude_spacs": false
}' |
apify call nexgendata/ipo-tracker --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🚀 IPO Tracker — Recent + Upcoming IPOs, Lockup Expirations",
        "description": "Track recent + upcoming IPOs across NYSE and NASDAQ. Real-time IPO calendar with pricing, share counts, valuations, lead underwriters, lockup expirations, post-IPO performance. Bloomberg IPO desk alternative for prop traders, IPO arb funds, fintech apps. Pay-per-result, no Bloomberg seat.",
        "version": "0.0",
        "x-build-id": "FRa9e9NuVCf2q749R"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~ipo-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-ipo-tracker",
                "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/nexgendata~ipo-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-ipo-tracker",
                "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/nexgendata~ipo-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-ipo-tracker",
                "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": {
                    "limit": {
                        "title": "Number of IPO records to return",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of IPO records to return. Set to 0 to return all matching IPOs (typically 250+ across recent + upcoming + filings). Useful for testing smaller batches before running a full pull.",
                        "default": 50
                    },
                    "status": {
                        "title": "IPO status filter",
                        "enum": [
                            "all",
                            "upcoming",
                            "priced",
                            "trading",
                            "filing"
                        ],
                        "type": "string",
                        "description": "Filter by IPO lifecycle status. 'upcoming' = priced/scheduled IPOs not yet trading; 'priced' = recently priced including same-day pricing; 'trading' = already-trading recent IPOs (last 6 months) with post-IPO performance; 'filing' = newly filed S-1 / F-1 registration statements (pre-roadshow); 'all' = every status.",
                        "default": "all"
                    },
                    "date_range": {
                        "title": "Date range filter",
                        "enum": [
                            "all",
                            "last_30d",
                            "last_90d",
                            "last_180d",
                            "upcoming"
                        ],
                        "type": "string",
                        "description": "Filter by IPO date range. 'last_30d' = IPOs that priced in the last 30 calendar days; 'last_90d' = last 90 days; 'last_180d' = last 180 days (full lockup window); 'upcoming' = scheduled future IPOs only; 'all' = no date filter.",
                        "default": "all"
                    },
                    "min_proceeds_usd": {
                        "title": "Minimum proceeds raised (USD)",
                        "minimum": 0,
                        "maximum": 100000000000,
                        "type": "integer",
                        "description": "Minimum total deal size (proceeds raised) in USD. Use 100000000 ($100M) to filter for institutional-size IPOs. Use 1000000000 ($1B) to filter for mega IPOs only. Set to 0 to include all sizes including micro-cap and SPAC deals.",
                        "default": 0
                    },
                    "exchange": {
                        "title": "Listing exchange filter",
                        "enum": [
                            "all",
                            "NYSE",
                            "NASDAQ",
                            "AMEX",
                            "OTC"
                        ],
                        "type": "string",
                        "description": "Filter by US listing exchange. NYSE includes large operational IPOs (Reddit, Birkenstock-tier). NASDAQ includes tech and biotech IPOs (most SPAC and biotech debuts). 'all' returns both exchanges and any AMEX / OTC listings.",
                        "default": "all"
                    },
                    "sector": {
                        "title": "Sector filter",
                        "enum": [
                            "all",
                            "Technology",
                            "Healthcare",
                            "Financial Services",
                            "Consumer Discretionary",
                            "Consumer Staples",
                            "Industrials",
                            "Energy",
                            "Real Estate",
                            "Communication Services",
                            "Utilities",
                            "Materials"
                        ],
                        "type": "string",
                        "description": "Filter by GICS-style sector. 'all' returns everything. IPO sectors skew heavily Technology and Healthcare (biotech). Useful for sector-rotation IPO strategies and theme-focused IPO arb desks.",
                        "default": "all"
                    },
                    "exclude_spacs": {
                        "title": "Exclude SPACs / blank-check companies",
                        "type": "boolean",
                        "description": "If true, filters out Special Purpose Acquisition Companies (SPACs) — recognized by 'Acquisition Corp', 'Capital Acquisition', etc. in the company name. SPACs typically price at exactly $10 and add noise to operational IPO analytics.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
