# IPO Pipeline Tracker - New SEC S-1 & F-1 IPO Filings (`tinylabs/sec-ipo-pipeline`) Actor

Companies that just filed to go public in the US, from official SEC S-1, F-1 and 424B4 filings: proposed ticker and exchange, price range, shares offered, underwriters, SPAC flag, industry, address and phone. No API key. Monitor mode for daily IPO alerts.

- **URL**: https://apify.com/tinylabs/sec-ipo-pipeline.md
- **Developed by:** [Tiny Labs](https://apify.com/tinylabs) (community)
- **Categories:** Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$30.00 / 1,000 ipo filing returneds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## IPO Pipeline Tracker: New SEC S-1 & F-1 IPO Filings

**Get every company that just filed to go public in the US, straight from official SEC filings.** Each result is one S-1, F-1 or priced-IPO (424B4) filing with the proposed ticker and exchange, price range, shares offered, underwriters, a SPAC flag, plus the company's industry, address and phone. No API key, no login, no scraping of IPO calendar sites. The data comes from the SEC's public EDGAR system.

An S-1 is usually public **weeks before** an IPO prices and shows up on IPO calendars. This Actor gives you the raw, official filing the day it lands, cleaned into a row you can drop into a spreadsheet, a CRM, a Slack alert or a trading model.

### What are S-1, F-1 and 424B4?

- **S-1:** the registration statement a US company files to sell shares to the public for the first time.
- **F-1:** the same form for foreign companies listing in the US.
- **424B4:** the final prospectus filed when an IPO **prices**, with the final price and share count.

The Actor reads all three and, by default, keeps only **first-time issuers** (companies that had never filed a 10-K, 10-Q or 20-F before), so follow-on offerings and resale registrations from already-listed companies are dropped.

### What you get for each filing

| Field | Example |
|---|---|
| `companyName`, `cik` | LIS Technologies Inc |
| `formType`, `filedDate` | S-1, 2026-10-26 |
| `proposedTicker`, `proposedExchange` | LIS, Nasdaq Capital Market |
| `priceRangeLow`, `priceRangeHigh` | 5.0, 7.0 (when the prospectus states a range or an assumed price) |
| `sharesOffered`, `maxAggregateOfferingUsd` | 2833334, 19833338 |
| `underwritersMentioned` | the banks named on the prospectus cover, e.g. Goldman Sachs, Morgan Stanley |
| `isLikelyIpo`, `isSpac`, `isFinalProspectus`, `isAmendment` | ready-made filters |
| `isBestEfforts`, `isUplisting`, `emergingGrowthCompany`, `isResaleRegistration` | offering details |
| `industry`, `sic` | SEC industry classification |
| `street`, `city`, `state`, `zipCode`, `phone`, `website` | company HQ details from the filing |
| `stateOfIncorporation`, `fiscalYearEnd`, `formerNames`, `firstSecFilingDate` | company background |
| `filingUrl`, `prospectusUrl` | links to the original filing on sec.gov |

#### Sample results table

Real IPO filings found in one run on Oct 29, 2026, from filings dated Oct 19-28. The full output also has the HQ address, phone, SEC industry and sec.gov links.

| Company | Form | Filed | Proposed ticker | Exchange | Terms | Underwriters (first named) |
|---|---|---|---|---|---|---|
| Anthropic, PBC | S-1 | 2026-10-26 | ANT | Nasdaq Global Select | not yet set | Goldman Sachs, Morgan Stanley, J.P. Morgan |
| Lycia Therapeutics, Inc. | 424B4 (priced) | 2026-10-23 | LYCA | Nasdaq Global Select | 17,640,000 shares at $18.00 | Jefferies, Evercore, TD Cowen |
| Windward Bio Group AG | F-1 | 2026-10-23 | WWB | Nasdaq Global Market | not yet set | Jefferies, UBS, Piper Sandler |
| LIS Technologies Inc | S-1 | 2026-10-26 | LIS | Nasdaq Capital Market | 2,833,334 shares at $5-$7 | |
| Focus Media Network Ltd | F-1 | 2026-10-28 | FMSN | Nasdaq Capital Market | not yet set | Kingswood |
| SPACCircle Acquisition Corp. | 424B4 (SPAC) | 2026-10-27 | SCQCU | Nasdaq | 10,000,000 units at $10.00 | D. Boral |

#### Example output (JSON)

A real result from a run on Oct 29, 2026, shortened: the street address, ZIP and phone are left out here but are included in the real output.

```json
{
  "companyName": "LIS Technologies Inc",
  "cik": "1973276",
  "formType": "S-1",
  "filedDate": "2026-10-26",
  "isLikelyIpo": true,
  "isSpac": false,
  "proposedTicker": "LIS",
  "proposedExchange": "Nasdaq Capital Market",
  "priceRangeLow": 5.0,
  "priceRangeHigh": 7.0,
  "sharesOffered": 2833334,
  "maxAggregateOfferingUsd": 19833338.0,
  "emergingGrowthCompany": true,
  "priorPeriodicReports": 0,
  "firstSecFilingDate": "2023-08-23",
  "industry": "Industrial Inorganic Chemicals",
  "stateOfIncorporation": "NV",
  "city": "New York",
  "state": "NY",
  "formerNames": ["SMR NUCLEAR ENERGY INC."],
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/1973276/000149315226048438/0001493152-26-048438-index.htm",
  "prospectusUrl": "https://www.sec.gov/Archives/edgar/data/1973276/000149315226048438/forms-1.htm"
}
```

### Try it free in one click

The input is prefilled: the last 14 days of filings, IPOs only, capped at 25 results (at most $0.75). Click **Start** and you'll have the current IPO pipeline in about a minute. Apify's free plan includes monthly credit, which covers this test run.

### Use cases

- **IPO investors and traders:** see new S-1s and F-1s the day they're filed, and get the 424B4 when a deal prices.
- **Sales to newly public companies:** IR firms, D\&O insurers, auditors, law firms, equity-plan and board-portal software. A company filing an S-1 is about to buy all of them.
- **Recruiting:** companies preparing to IPO are hiring finance, legal and IR staff.
- **SPAC watchers:** filter `spacsOnly` for new blank-check registrations and pricings.
- **Research and journalism:** count IPO filings by industry, state, exchange or underwriter.

### How to use it

1. Set **Days back** (default 7) or a **Start date** / **End date**.
2. Leave **IPOs only** on to keep first-time issuers. Turn on **Include amendments** to follow a deal as its price range is set.
3. Narrow it down with **Exclude SPACs** / **SPACs only**, **Exchange listings only**, **Minimum offering size**, **HQ states** or **Industry keywords**.
4. Click **Start**. Results appear in the Output tab and can be exported to CSV, Excel, JSON or Google Sheets.

#### Daily monitor (recommended)

Turn on **Only new since my last run** and add a **Schedule** (Apify Console → Schedules → daily at 7am). Each run returns only filings you haven't received yet. Connect it to Zapier, Make, Slack or email with Apify integrations for instant IPO alerts.

### Pricing

Pay per result: **$0.03 per IPO filing returned** ($30 per 1,000). Follow-ons, resales and anything your filters drop are free. There is no start fee. Set **Maximum results** to cap the cost of any run. A daily monitor typically returns 1-4 filings a day.

### Input example

```json
{
  "daysBack": 30,
  "ipoOnly": true,
  "includeFinalProspectus": true,
  "excludeSpacs": true,
  "exchangeListedOnly": true,
  "industryKeywords": ["Software", "Biological", "Pharmaceutical"],
  "onlyNew": true,
  "maxResults": 200
}
```

### FAQ

**Is this legal?** Yes. Registration statements and prospectuses are public records published by the SEC on EDGAR. The Actor uses the SEC's official public index, filing files and submissions API, identifies itself with a User-Agent and contact email, and stays under the SEC's fair-access rate limit (10 requests per second).

**How fresh is the data?** Filings show up the same business day. The Actor reads the SEC's nightly daily index for past days and the EDGAR "latest filings" feed for today.

**Why is the price range empty for some filings?** Most companies file their first S-1 without a price range and add it in a later amendment (S-1/A) a week or two before pricing. Turn on **Include amendments** to catch it, and the 424B4 gives the final price.

**How is "IPO" decided?** A filing counts as an IPO when the company had not filed any 10-K, 10-Q or 20-F before it, and the filing isn't only a resale by existing holders. Turn **IPOs only** off to get every S-1 and F-1, including follow-ons.

**How are the ticker, exchange and underwriters found?** They're read from the prospectus cover and summary ("we intend to list ... under the symbol ..."). `underwritersMentioned` lists the banks named there. The `prospectusUrl` is always included so you can check the source.

**Can I call it from code or an AI agent?** Yes, through the Apify API, the Python/JS clients, or the Apify MCP server.

**Can I get older data?** Yes, set a Start date. EDGAR has registration statements going back to the 1990s.

### Limits and notes

- Only the first part of each prospectus (the cover and summary) is read, so runs stay fast and cheap. A 14-day run usually finishes in about a minute.
- Offering size comes from the prospectus text when it's stated. The SEC fee table is now often a separate exhibit, so `maxAggregateOfferingUsd` can be empty.
- This Actor is not affiliated with or endorsed by the U.S. Securities and Exchange Commission.

### Keywords

IPO tracker, IPO calendar API, new IPO filings, S-1 filings, F-1 filings, upcoming IPOs, IPO pipeline, 424B4 priced IPOs, SPAC tracker, SEC EDGAR scraper, IPO alerts, newly public companies, pre-IPO companies, IPO data API.

### Related Actors (Tiny Labs SEC data suite)

- [Recently Funded Companies: SEC Form D Funding Leads](https://apify.com/tinylabs/sec-form-d-funding-leads): private companies that just raised money, with amount, executives and phone.
- [New CEO & Executive Changes: SEC 8-K Item 5.02](https://apify.com/tinylabs/sec-executive-changes): new CEOs, CFOs and board members at public companies, as sales triggers and investor alerts.
- [SEC Insider Buying Tracker](https://apify.com/tinylabs/sec-insider-buys): open-market insider purchases and cluster buys from SEC Form 4.

### Support

Found a bug or want a new field or filter? Open an issue on the Actor's Issues tab and it will be answered within two business days.

# Actor input Schema

## `daysBack` (type: `integer`):

How many days of filings to read, counting back from today (or from End date). Ignored when Start date is set. Usually 1-4 new IPO filings arrive each business day.

## `startDate` (type: `string`):

Optional. First filing date to include (YYYY-MM-DD).

## `endDate` (type: `string`):

Optional. Last filing date to include (YYYY-MM-DD). Defaults to today.

## `ipoOnly` (type: `boolean`):

Keep only companies that had never filed a 10-K, 10-Q or 20-F before this registration, so first-time issuers going public. Turn off to also get follow-on and resale registrations from listed companies.

## `includeFinalProspectus` (type: `boolean`):

Also return final prospectuses (Form 424B4), filed when an IPO prices, with the final price and share count.

## `includeAmendments` (type: `boolean`):

Also return amended registrations. Amendments are where the price range and share count usually first appear.

## `excludeSpacs` (type: `boolean`):

Drop blank-check companies (SPACs).

## `spacsOnly` (type: `boolean`):

Return only blank-check companies (SPACs).

## `exchangeListedOnly` (type: `boolean`):

Keep only offerings that plan to list on Nasdaq, NYSE or Cboe (drops OTC and unlisted offerings).

## `minOfferingUsd` (type: `integer`):

Optional. Skip offerings smaller than this, when the size can be read from the prospectus. Offerings with an unknown size are dropped when this is set.

## `states` (type: `array`):

Optional. Two-letter codes of the company's business address, for example CA, NY, TX.

## `industryKeywords` (type: `array`):

Optional. Keep companies whose SEC industry (SIC description) contains any of these words, for example Software, Biological, Bank.

## `onlyNew` (type: `boolean`):

Remember which filings you already received and return only new ones. Turn this on when you schedule the Actor.

## `maxResults` (type: `integer`):

Return at most this many filings. You are only charged for results returned.

## `userAgent` (type: `string`):

The SEC asks every client to identify itself with a name and contact email. Leave empty to use the Actor's default.

## Actor input object example

```json
{
  "daysBack": 14,
  "ipoOnly": true,
  "includeFinalProspectus": true,
  "includeAmendments": false,
  "excludeSpacs": false,
  "spacsOnly": false,
  "exchangeListedOnly": false,
  "onlyNew": false,
  "maxResults": 25
}
```

# Actor output Schema

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

One row per S-1, F-1 or 424B4 filing that passed your filters: company, proposed ticker and exchange, price range, shares offered, underwriters, SPAC flag, industry, address, phone and SEC links.

## `summary` (type: `string`):

JSON record SUMMARY in the default key-value store: date range, registration filings checked, IPO filings returned and SEC requests made.

# 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 = {
    "daysBack": 14,
    "maxResults": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("tinylabs/sec-ipo-pipeline").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 = {
    "daysBack": 14,
    "maxResults": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("tinylabs/sec-ipo-pipeline").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "daysBack": 14,
  "maxResults": 25
}' |
apify call tinylabs/sec-ipo-pipeline --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tinylabs/sec-ipo-pipeline"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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