# US Securities Filings Feed (Form D, 8-K, S-1, 13F) (`plainsourcedata/us-securities-filings-feed`) Actor

Daily feed of new US securities filings from official public filings data: Form D raises (offering size, industry), 8-K events (item codes), S-1 IPOs, 13F reports. Filter by form, ticker, 8-K item, state, SIC, offering size; new-since-last-run mode. Company data only. Unofficial.

- **URL**: https://apify.com/plainsourcedata/us-securities-filings-feed.md
- **Developed by:** [Ihtisham Mian](https://apify.com/plainsourcedata) (community)
- **Categories:** Business, Lead generation, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 results

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

## US Securities Filings Feed (Form D, 8-K, S-1, 13F)

**A structured daily feed of new US securities filings, built from the U.S. SEC's public filings data (unofficial; not affiliated with or endorsed by the SEC).** Track startup and fund raises (Form D), material company events (8-K), IPO registrations (S-1) and institutional holdings reports (13F). Each filing comes back as one clean row with company details and direct links to the filing.

- **Form D:** private fundraises, with offering size, amount sold, industry, exemptions and number of investors.
- **8-K:** material events with item codes. One-click shortcuts cover earnings, executive changes, M\&A and cybersecurity incidents.
- **S-1:** IPO and registration filings.
- **13F-HR:** institutional holdings reports.
- Company-level data only (see *Privacy*). For information only; not investment advice.

### What data can I get from US securities filings?

| Field | What it holds |
|---|---|
| `form`, `filingDate`, `acceptedAt`, `reportDate` | Form type and timing |
| `companyName`, `cik`, `tickers`, `exchanges` | Who filed |
| `sic`, `sicDescription`, `stateOfIncorporation`, `businessCity`, `businessState`, `filerCategory` | Company profile |
| `items`, `itemDescriptions` (8-K) | Event codes and plain-English names, e.g. 5.02 "Departure/Election of Directors or Officers…" |
| `formD` (Form D) | Offering amount, amount sold, remaining, minimum investment, industry, fund type, exemptions, date of first sale, investor count, fees |
| `filingIndexUrl`, `primaryDocumentUrl` | Direct links to the filing |

#### Sample output

A real Form D filing from a test run on 20 October 2026, shortened:

```json
{
  "accessionNumber": "0002159248-26-000001",
  "form": "D",
  "filingDate": "2026-10-20",
  "companyName": "Atlis Health, LLC",
  "cik": "0002159248",
  "businessCity": "GREENWOOD",
  "businessState": "IN",
  "formD": {
    "industryGroup": "Other Technology",
    "revenueRange": "$1 - $1,000,000",
    "federalExemptions": ["06b"],
    "dateOfFirstSale": "2026-09-11",
    "minimumInvestmentAccepted": 50000,
    "totalOfferingAmount": 1000000,
    "totalAmountSold": 250000,
    "totalRemaining": 750000,
    "totalNumberAlreadyInvested": 1
  },
  "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2159248/000215924826000001/0002159248-26-000001-index.htm"
}
```

### How do I track new filings in 5 steps?

1. Click **Try for free** (or **Start**) on this page and sign in to Apify. A free account is enough to try it.
2. Pick **Form types** (e.g. Form D for funding rounds) and, optionally, **8-K event shortcuts** such as *Earnings releases*.
3. Optionally add **Tickers** (e.g. `AAPL`, `MSFT`) and enter **your own contact e-mail** (recommended; it makes runs faster).
4. Click **Start**. Results appear in the **Output** tab.
5. Download as Excel, CSV or JSON, or open **Schedules** to run it daily with **Only new since last run** switched on.

### Who uses it?

- **VC, private equity and B2B sales:** companies that just raised money (Form D), filtered by industry, state and size.
- **Investors and analysts:** event alerts for a watchlist or a whole sector (earnings, leadership changes, deals, cyber incidents). Rows describe the company and filing, not the people named in it.
- **IPO pipeline tracking (S-1)** and **institutional manager tracking (13F)**.

### How much does it cost to get filings data?

You pay only for the filings returned: **$3.00 per 1,000 filings** ($0.003 each).

- There is no separate platform-usage charge, and no charge when nothing matches.
- **Apify's free plan includes $5 of monthly credit**, which covers about **1,660 filings a month**.
- Example: a daily Form D alert returning about 100 raises costs about $0.30 a day.
- Set **Maximum cost per run** in Apify, and the actor stops cleanly when it reaches it.

### Input options

- **Form types:** D, 8-K, S-1, 13F-HR. The default is D + 8-K.
- **8-K event shortcuts:** earnings (2.02), executive and board changes (5.02), M\&A and major agreements (1.01, 2.01), cybersecurity incidents (1.05). Choosing any shortcut limits results to 8-K filings with those items.
- **Filed from / to:** YYYY-MM-DD. The default window is the last 4 days, which covers weekends and holidays.
- **Tickers:** restrict the feed to a watchlist.
- **Max results:** default 100 (newest first), so a default run costs at most $0.30.
- **Fast mode:** up to 20 newest filings, typically in about 30 seconds (see *AI agents* below).
- **Your SEC contact:**
  - The SEC's fair-access policy asks automated tools to declare who they are. By default the actor identifies itself as `PlainSourceData US Securities Filings Feed plainsourcedata@mail.grokbot.com`.
  - **Please enter your own contact e-mail.** It lets the SEC reach you about your own usage, and it raises the request rate from 2/s (default contact) to 5/s (the maximum). Your name and e-mail are sent only to sec.gov, in the User-Agent header.
- **More filters:** CIKs, exact 8-K item codes, business state codes, SIC code prefixes, minimum Form D offering amount, include amendments.
- **Daily alerts:** *Only new since last run*, with a state key for each saved search.
- **Advanced:** today's filings from the SEC's Latest Filings feed (the daily index is built overnight), company enrichment, request rate, and the throttling wait budget.

### Integrations: Google Sheets, Slack, Zapier, Make, n8n

Like every Apify actor, this one works with Apify's built-in integrations:

- **Schedules:** run it every morning or every hour.
- **Google Sheets, Slack and email:** send new results automatically after each run.
- **Zapier, Make and n8n:** use the Apify app or node to start runs and pick up the dataset.
- **Webhooks and API:** start runs and fetch results from your own code.

### Can AI agents use it (MCP)?

Yes. AI assistants can find and run this actor through **Apify's MCP server** and the Apify API.

- For quick answers, use **fast mode**. It returns up to 20 of the newest filings, typically in about 30 seconds with the default contact and faster with your own e-mail: `{"fastMode": true, "formTypes": ["D"]}`
- Event filters scan more filings, so `{"fastMode": true, "eightKCategories": ["earnings"]}` can take closer to a minute.
- Set a **maximum cost per run** (`maxTotalChargeUsd`) so an agent can never spend more than you intend.

### FAQ

**Is this affiliated with the SEC?**
No. It is an independent, unofficial tool that reads the SEC's public filings data; it is not affiliated with, endorsed by or approved by the SEC. Check the filing itself (`filingIndexUrl`) before relying on it.

**Does it include people's names?**
No. Insider filings by individuals (Forms 3/4/5, 144) are not supported, Form D "related persons" are not extracted, and filers that look like natural persons are skipped.

**Why do you ask for my e-mail?**
The SEC asks automated tools to identify themselves. Your e-mail is sent only to sec.gov, in the User-Agent header; apart from that it stays in your own run input on Apify, like any other input. It's optional; without it, runs use our contact and a slower rate.

**What if a ticker doesn't exist?**
Unknown tickers are reported. If none of your tickers exist, the run stops instead of returning unrelated filings, and nothing is charged.

**Why did I get "partial results"?**
If sec.gov throttles requests, the actor backs off (up to 150 s in total by default), then stops politely. It returns what it has, flagged in the status message and `RUN_SUMMARY`. If nothing was returned, the run fails with a clear message and nothing is charged.

**Something isn't working?**
Open an issue on the **Issues** tab and include the run link; we aim to reply within a few days.

### Speed

- Company enrichment costs one sec.gov request per company, and Form D details one more per filing.
- With your own contact e-mail at 5 requests/second, a full market day of Form D + 8-K (about 300–700 filings) takes roughly 1–3 minutes. Ticker-restricted runs finish in seconds.

### Data source

- **Source:** U.S. Securities and Exchange Commission, EDGAR public filings (sec.gov). The SEC states that information presented on sec.gov "is considered public information and may be copied or further distributed … without the SEC's permission."
- **Endpoints used:** the SEC's documented access points (daily form index, Latest Filings feed, data.sec.gov submissions API, company ticker file, Form D XML). The actor follows the SEC's fair-access rules: a declared User-Agent, no more than 5 requests per second (2 when the default contact e-mail is used), and automatic back-off.
- **For information only; not investment advice.**
- **Unofficial:** this actor is not affiliated with, endorsed by or approved by the SEC. EDGAR® is the SEC's registered trademark and is mentioned here only to describe the data source.
- Data is provided as filed. Check the filing itself (`filingIndexUrl`) before relying on it.

### Privacy

This actor outputs **company data only**:

- Insider filings by individuals (Forms 3/4/5, 144) are not supported.
- Form D "related persons" (executives and directors) and sales-compensation recipients are **not** extracted.
- Filers that appear to be natural persons are skipped.

# Actor input Schema

## `formTypes` (type: `array`):

Form types.

## `eightKCategories` (type: `array`):

Pick event types instead of item codes. Selecting any shortcut limits results to 8-K filings with those items (combined with any item codes under 'More filters').

## `dateFrom` (type: `string`):

Default: 4 days before 'Filed to' (covers weekends and holidays). Ignored in 'new since last run' mode after the first run.

## `dateTo` (type: `string`):

Default: today (UTC).

## `tickers` (type: `array`):

Optional. Restrict to these companies (e.g. AAPL, GPRO).

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

Maximum filings returned (newest first). Default 100; raise it for a full daily feed.

## `fastMode` (type: `boolean`):

Returns at most 20 newest filings with a short throttling wait. Typically finishes in under 30 seconds, so AI agents get results without polling.

## `contactEmail` (type: `string`):

The SEC's fair-access policy requires automated clients to declare a User-Agent with a contact e-mail. By default the actor declares the publisher's dedicated contact address (plainsourcedata@mail.grokbot.com). You may enter your own e-mail instead; it is sent only to sec.gov in the User-Agent header. We encourage you to enter your own e-mail so the SEC can reach you about your own usage; runs with the default contact are limited to 2 requests/second.

## `contactName` (type: `string`):

Sent with the e-mail in the User-Agent header, e.g. 'Acme Research'. Default: 'PlainSourceData US Securities Filings Feed' (with the default e-mail) or 'Apify user' (with your own e-mail).

## `ciks` (type: `array`):

Optional. Restrict to these SEC Central Index Keys.

## `eightKItems` (type: `array`):

e.g. 1.01 (material agreement), 2.02 (results), 5.02 (officer/director changes), 1.05 (cyber incident).

## `businessStates` (type: `array`):

Two-character state or country codes as used in SEC filings, e.g. CA, NY, TX, or foreign codes like K3 (Hong Kong).

## `sicCodes` (type: `array`):

e.g. 73 (business services/software), 2834 (pharma).

## `minOfferingAmount` (type: `integer`):

Minimum Form D offering amount (USD).

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

Include amendments (/A).

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

Remembers accession numbers already returned (per state key). Ideal for scheduled daily runs.

## `stateKey` (type: `string`):

State key.

## `includeTodayFromLatestFeed` (type: `boolean`):

The official daily filing index is built overnight; this adds filings accepted today from the latest-filings feed.

## `enrichCompany` (type: `boolean`):

Add company details (ticker, SIC, state, 8-K items).

## `maxRequestsPerSecond` (type: `integer`):

SEC limit is 10/s per user across all machines. Default and hard cap: 5. Runs using the default contact e-mail are capped at 2/s; enter your own contact e-mail for faster runs.

## `maxRateLimitWaitSecs` (type: `integer`):

If sec.gov throttles requests, we back off up to this total, then stop and return what we have (flagged as partial).

## Actor input object example

```json
{
  "formTypes": [
    "D",
    "8-K"
  ],
  "maxResults": 100,
  "fastMode": false,
  "contactEmail": "plainsourcedata@mail.grokbot.com",
  "includeAmendments": true,
  "onlyNew": false,
  "stateKey": "default",
  "includeTodayFromLatestFeed": true,
  "enrichCompany": true,
  "maxRequestsPerSecond": 5,
  "maxRateLimitWaitSecs": 150
}
```

# Actor output Schema

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

One item per filing (Form D, 8-K, S-1, 13F etc.) with company-level metadata and links to the filing.

## `runSummary` (type: `string`):

JSON summary of the run (counts, date window, items output).

# 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 = {
    "maxResults": 100,
    "contactEmail": "plainsourcedata@mail.grokbot.com"
};

// Run the Actor and wait for it to finish
const run = await client.actor("plainsourcedata/us-securities-filings-feed").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 = {
    "maxResults": 100,
    "contactEmail": "plainsourcedata@mail.grokbot.com",
}

# Run the Actor and wait for it to finish
run = client.actor("plainsourcedata/us-securities-filings-feed").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 '{
  "maxResults": 100,
  "contactEmail": "plainsourcedata@mail.grokbot.com"
}' |
apify call plainsourcedata/us-securities-filings-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,plainsourcedata/us-securities-filings-feed"
        }
    }
}
```

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/WhFsWeKoahn9p41f4/builds/y6RFmqTj7yn1gC4MG/openapi.json
