# Secondary Stock Offering Tracker (S-3, 424B, ATM) (`gochujang/secondary-offering-tracker`) Actor

Track follow-on public offerings, shelf registrations, and at-the-market equity programs from SEC EDGAR. Covers underwritten secondaries, convertible notes, PIPE, and rights offerings. No API key needed.

- **URL**: https://apify.com/gochujang/secondary-offering-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 offering 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

## Secondary Stock Offering Tracker

**Secondary Stock Offering Tracker** monitors **follow-on equity offerings, shelf registrations, ATM programs, convertible notes, and PIPE deals** filed with the SEC. When a public company issues new shares, they file with the SEC and the stock often drops — this actor delivers those dilution events in real time, so you can get ahead of the supply-driven price pressure.

Secondary offerings are one of the most reliable short signals in small-cap and biotech — tracking them systematically is a major edge for equity traders.

***

### Why use Secondary Stock Offering Tracker?

1. **Short dilution trades** — Underwritten secondaries typically price at a 5–10% discount and cause immediate stock drops. Catch the SEC filing before the pricing press release.
2. **ATM program monitoring** — At-the-market equity programs dribble out shares continuously. A stock with an active ATM has persistent supply overhang — know which names do.
3. **Convertible note arb** — Convertible issuances trigger delta-hedging short selling from the underwriting banks. Track new converts to anticipate the arb pressure.
4. **PIPE deals (catalyst alert)** — PIPE financings are often paired with a company announcement (product approval, partnership, acquisition). The SEC filing can arrive before the press release.
5. **Biotech and small-cap dilution watch** — These sectors issue equity constantly. Systematic monitoring beats manual PR scanning.

***

### How to use

1. Open the actor on Apify Store and click **Try for free**.
2. Choose `offeringTypes` to filter by deal type (underwritten, atm, convertible, pipe, shelf, rights_offering).
3. Optionally set `tickers` to monitor specific companies, or set `minProceedsM` to filter for larger deals.
4. Click **Start**. Results are structured offering records sorted by filing date.

***

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `daysBack` | number | `14` | How far back to search SEC EDGAR filings |
| `offeringTypes` | string | `""` | Comma-separated types: `underwritten`, `atm`, `convertible`, `pipe`, `shelf`, `rights_offering` (empty = all) |
| `tickers` | string | `""` | Comma-separated tickers to restrict search (e.g. `"NVDA,AMD"`) |
| `minProceedsM` | number | `0` | Minimum gross proceeds in millions USD |
| `maxResults` | number | `50` | Maximum records to return |

***

### Output

```json
{
  "entity_name": "Palantir Technologies Inc.",
  "filing_date": "2026-08-19",
  "form_type": "424B4",
  "offering_type": "underwritten",
  "shares_offered": 50000000,
  "proceeds_usd": 1750000000,
  "accession_no": "0001321732-26-000089",
  "edgar_url": "https://www.sec.gov/Archives/edgar/data/..."
}
```

```json
{
  "entity_name": "Sorrento Therapeutics Inc.",
  "filing_date": "2026-08-15",
  "form_type": "S-3",
  "offering_type": "atm",
  "shares_offered": null,
  "proceeds_usd": 150000000,
  "accession_no": "0001379785-26-000044",
  "edgar_url": "https://www.sec.gov/Archives/edgar/data/..."
}
```

#### Output fields

| Field | Type | Description |
|-------|------|-------------|
| `entity_name` | string | Issuing company name |
| `filing_date` | string | SEC filing date (YYYY-MM-DD) |
| `form_type` | string | SEC form: `S-3`, `424B3`, `424B4`, `424B5`, etc. |
| `offering_type` | string | `underwritten`, `atm`, `convertible`, `pipe`, `shelf`, `rights_offering` |
| `shares_offered` | integer | Number of shares offered (null if not parseable from text) |
| `proceeds_usd` | float | Gross proceeds in USD (null if not parseable) |
| `accession_no` | string | SEC EDGAR accession number |
| `edgar_url` | string | Direct link to the SEC filing |

***

### Offering types explained

| Type | SEC Form | Description |
|------|----------|-------------|
| Underwritten | 424B4, 424B5 | Investment bank–managed offering, priced at discount |
| ATM | S-3 + prospectus | Continuous drip selling at market price |
| Convertible | 424B2, 424B3 | Debt that converts to equity, often with hedging |
| PIPE | S-3 | Private investment in public equity — often strategic |
| Shelf | S-3 | Registers shares for future sale (no immediate dilution) |
| Rights offering | 424B3 | Existing shareholders offered pro-rata new shares |

***

### Cost estimation

**Pay-Per-Event: $0.005 per actor start + $0.01 per offering returned.**

| Use case | Records | Estimated cost |
|----------|---------|----------------|
| 2-week underwritten deals | ~20–40 | $0.20–$0.40/run |
| 30-day all types | ~100–200 | $1.00–$2.00/run |
| Daily ATM monitoring | ~5–15/day | $0.05–$0.15/day |
| Specific 5 tickers | 5–20 | $0.05–$0.20/run |

***

### FAQ

**Can this detect an offering before it prices?**
Often yes — the S-3 shelf registration and preliminary prospectus (424B3) are filed before the final pricing. The final pricing prospectus (424B4) appears the day of pricing.

**Does it cover SPACs?**
SPAC units and warrants are registered differently (S-1 not S-3). This actor focuses on follow-on offerings by operating companies.

**What's the difference between a shelf and an ATM?**
A shelf (S-3) registers shares for potential future sale without selling immediately. An ATM is an active selling program under a shelf — shares are sold daily into the market at prevailing prices.

**Does it cover biotech/pharma secondaries?**
Yes — biotech is the most active sector for follow-on equity offerings. Filter by `offeringTypes: "underwritten"` and small `minProceedsM` values to catch small-cap biotech dilution.

***

### Related actors

- [IPO Calendar Tracker](https://apify.com/gochujang/ipo-calendar-tracker) — IPOs (primary offerings) vs. secondaries (follow-ons)
- [Short Interest Tracker](https://apify.com/gochujang/short-interest-tracker) — Secondaries often coincide with short interest spikes
- [Corporate Bond Issuance Tracker](https://apify.com/gochujang/bond-issuance-tracker) — Debt alternative to equity issuances

### Feedback

If this actor is useful, a quick review helps other traders find it: [Leave a review on Apify Store](https://apify.com/gochujang/secondary-offering-tracker#reviews)

***

**Keywords:** secondary offering tracker, follow-on offering SEC, shelf registration monitor, ATM equity program tracker, PIPE financing tracker, convertible note offering, rights offering SEC, dilution monitor stocks, equity issuance tracker, SEC S-3 filing, SEC 424B filing, underwritten secondary offering, public offering dilution alert, capital raise tracker

# Actor input Schema

## `tickers` (type: `string`):

Filter by specific ticker symbols.

## `offeringTypes` (type: `string`):

Comma-separated types: all, underwritten, atm, convertible, shelf, pipe, rights_offering, secondary.

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

Number of days back to search.

## `minProceedsM` (type: `number`):

Only show offerings above this amount in millions USD.

## `keyword` (type: `string`):

Filter by keyword in the filing.

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

Maximum number of offerings to return.

## Actor input object example

```json
{
  "tickers": "",
  "offeringTypes": "all",
  "daysBack": 30,
  "minProceedsM": 0,
  "keyword": "",
  "maxResults": 50
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/secondary-offering-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/secondary-offering-tracker").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 '{}' |
apify call gochujang/secondary-offering-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/secondary-offering-tracker"
        }
    }
}
```

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/QxjX2r6cp10NGfxqy/builds/ZBwT8IUHiX2UNxglC/openapi.json
