# SEC Form D Funding Tracker: Newly Funded Companies (`halos_ai_main/sec-form-d-funding-tracker`) Actor

Every new SEC Form D filing parsed into clean JSON: issuer, industry, amount raised/offered, 506(b)/(c) exemption, investors, executives and EDGAR links. Filter by industry, state and amount.

- **URL**: https://apify.com/halos_ai_main/sec-form-d-funding-tracker.md
- **Developed by:** [Halos AI](https://apify.com/halos_ai_main) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 form d filings

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

## SEC Form D Funding Tracker: Newly Funded Companies

Track **every new private fundraising filing (SEC Form D)** as clean JSON: startups, private companies, real-estate syndications and investment funds. Each record gives you who raised, how much, under which exemption, their industry, investor count and executives, with direct EDGAR links.

- ✅ **Official SEC EDGAR data.** It reads EDGAR's daily form indexes and each filing's structured `primary_doc.xml`. No HTML scraping, no API key.
- 💸 **The fields that matter:** total offering, amount sold, amount remaining, date of first sale, exemption in plain English ("Rule 506(b)", "Rule 506(c)", "Rule 504(b)(1)"), securities type, minimum investment, number of investors, sales commissions and finder's fees, broker-dealer recipients, revenue range, year of incorporation.
- 🚀 **Startups-only switch.** One checkbox keeps operating companies incorporated within the last 5 years and drops funds, real-estate syndications, banking/insurance vehicles and business combinations.
- 🎯 **Filters:** date range, official EDGAR industry group (dropdown), issuer state, minimum amount sold, minimum offering size, name contains, exclude pooled funds, include or exclude amendments (D/A).
- 🔔 **Monitoring mode.** `onlyNewSinceLastRun` outputs only filings you haven't seen. Schedule it daily for a funding-alert feed.
- 🤝 **Fair access.** It respects SEC's fair-access policy: a declared User-Agent and ≤5 requests/second.

### Who it's for

- **B2B sales and agencies**: freshly funded companies are buying (SaaS, recruiting, banking, insurance, legal, accounting)
- **VCs, angels and scouts**: deal flow and competitive intelligence
- **Journalists and researchers**: private-market activity by sector and state
- **Fund admins, lawyers and placement agents**: monitor 506(c) raises and broker-dealer activity

### How to use it

1. Click **Try for free**, pick a date window (default: last 3 days) and your filters.
2. For a startup lead list, tick **Startups only** and set **Minimum amount sold** (e.g. 1000000).
3. Click **Start**. Export from the **Output** tab as CSV/Excel/JSON or read the results through the API.

### Input example (startup leads recipe)

```json
{
  "daysBack": 3,
  "startupsOnly": true,
  "industryGroups": ["Other Technology", "Biotechnology", "Pharmaceuticals", "Other Health Care"],
  "minAmountSold": 1000000,
  "includeRelatedPersons": true,
  "maxResults": 500
}
```

`industryGroups` uses the official EDGAR Form D values. Technology: `Computers`, `Telecommunications`, `Other Technology`. Health care: `Biotechnology`, `Pharmaceuticals`, `Health Insurance`, `Hospitals and Physicians`, `Other Health Care`. Others: `Business Services`, `Manufacturing`, `Retailing`, `Restaurants`, `Energy Conservation`, `Oil and Gas`, `Agriculture`, `Pooled Investment Fund`, `Residential`, `Commercial`, `REITS and Finance`, `Other`, and more in the dropdown.

### Output example (one item)

```json
{
  "submissionType": "D",
  "issuerName": "1921 Technologies Inc.",
  "cik": "2159256",
  "entityType": "Corporation",
  "jurisdictionOfIncorporation": "DELAWARE",
  "yearOfIncorporation": "2026",
  "incorporatedWithinFiveYears": true,
  "street": "282 11TH AVENUE",
  "city": "NEW YORK",
  "state": "NY",
  "zip": "10001",
  "issuerPhone": "555-010-0000",
  "industryGroup": "Other Technology",
  "investmentFundType": null,
  "revenueRange": "Decline to Disclose",
  "aggregateNetAssetValueRange": null,
  "exemptions": [
    "Rule 506(b)"
  ],
  "exemptionCodes": [
    "06b"
  ],
  "isAmendment": false,
  "dateOfFirstSale": "2026-10-02",
  "yetToOccur": null,
  "moreThanOneYear": false,
  "securitiesOffered": [
    "Equity"
  ],
  "isBusinessCombination": false,
  "minimumInvestment": 0,
  "totalOfferingAmount": 10000000,
  "totalOfferingIndefinite": false,
  "totalAmountSold": 3000000,
  "totalRemaining": 7000000,
  "hasNonAccreditedInvestors": false,
  "totalNumberAlreadyInvested": 3,
  "salesCommissions": 0,
  "findersFees": 0,
  "useOfProceedsToInsiders": 0,
  "salesCompensationRecipients": [],
  "relatedPersons": [
    {
      "name": "Jane Doe",
      "relationships": [
        "Executive Officer",
        "Director"
      ],
      "clarification": null,
      "city": "New York",
      "state": "NY"
    },
    {
      "name": "John Roe",
      "relationships": [
        "Executive Officer",
        "Director"
      ],
      "clarification": null,
      "city": "New York",
      "state": "NY"
    }
  ],
  "formType": "D",
  "accessionNumber": "0002159256-26-000001",
  "filedDate": "2026-10-16",
  "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2159256/000215925626000001/0002159256-26-000001-index.htm",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2159256/000215925626000001/primary_doc.xml",
  "edgarCompanyUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=2159256&type=D",
  "scrapedAt": "2026-10-18T13:06:42.429849+00:00"
}
```

### How much does it cost?

**$4.00 per 1,000 Form D filings returned, plus a $0.005 start fee per run.** Platform compute is included. Filters are applied before you're charged, so you only pay for matches.

Worked example: a daily startup-leads run returning 40 filings costs 40 × $0.004 + $0.005 = **$0.165**, or about **$3.60/month** if run every business day (~22 per month). `maxResults` caps how much a single run can cost.

### Daily funding alerts in 3 steps

1. Save your filters as a **Task** with `onlyNewSinceLastRun: true` and `daysBack: 3`.
2. In **Schedules**, run it every weekday morning (EDGAR publishes the previous business day's index overnight).
3. Under **Integrations**, send new filings to **Email**, **Slack**, **Google Sheets**, **HubSpot** (via Zapier/Make) or a **webhook**.

### Use it via API

```bash
curl -X POST "https://api.apify.com/v2/acts/halos_ai_main~sec-form-d-funding-tracker/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"daysBack":3,"startupsOnly":true,"minAmountSold":1000000,"maxResults":200}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("halos_ai_main/sec-form-d-funding-tracker").call(
    run_input={"daysBack": 3, "startupsOnly": True, "minAmountSold": 1_000_000}
)
for f in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f["filedDate"], f["issuerName"], f["industryGroup"], f["totalAmountSold"], f["exemptions"])
```

### Notes

- EDGAR publishes each day's index after the business day closes, so filings appear here the next morning. Weekends and holidays have no index.
- Results are ordered newest day first, then alphabetically within each day.
- Runtime: each candidate filing's XML is downloaded at ≤5 requests/second (SEC fair access) before filters run. Narrow filters over long windows take longer (a 5-day tech/health window returning 40 filings took about 2.5 minutes); a 3-day unfiltered window returning 25 filings takes about 25 seconds.
- `exemptions` is human-readable ("Rule 506(b)"); `exemptionCodes` keeps the raw EDGAR codes ("06b").
- `relatedPersons` lists the executives, directors and promoters named on the filing, with city and state only (no street addresses). Set `includeRelatedPersons: false` to omit them. If you use this data for outreach, you're responsible for complying with CAN-SPAM, GDPR and other applicable laws.
- Form D data is self-reported by issuers and isn't verified by the SEC. A Form D is a notice of an exempt offering, not an endorsement or an offer to sell securities. This Actor is a data tool, not investment advice.
- Not affiliated with or endorsed by the U.S. Securities and Exchange Commission.

### FAQ

**What counts as a startup?** With `startupsOnly`, an issuer must be incorporated within the last 5 years (as declared on the filing) and must not be a pooled fund, real-estate, banking/insurance/investing vehicle or business combination.
**Do I need an SEC API key?** No. EDGAR is public.
**Something broke or a field is missing?** Open an issue on the Actor's Issues tab. We monitor runs daily.

# Actor input Schema

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

Looks back this many calendar days from the end date. EDGAR publishes each day's index after the business day closes, so today's filings appear tomorrow. Weekends and holidays have no filings.

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

YYYY-MM-DD. Overrides 'Filed within last N days' when set. The window is capped at 92 days.

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

YYYY-MM-DD. Defaults to yesterday (the latest published EDGAR day).

## `startupsOnly` (type: `boolean`):

Keeps only operating companies incorporated within the last 5 years. Drops pooled investment funds, real estate (Residential, Commercial, Construction, REITS and Finance, Other Real Estate), banking, insurance and investing vehicles, and business combinations.

## `excludePooledFunds` (type: `boolean`):

Drops hedge, private equity and VC fund vehicles so only operating companies remain. 'Startups only' already does this.

## `industryGroups` (type: `array`):

Only these EDGAR industry groups (official Form D values, case-insensitive contains match). Leave empty for all industries.

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

Two-letter state or country code of the issuer's principal place of business, as written on the filing.

## `minAmountSold` (type: `integer`):

Only offerings that have already sold at least this much (Form D 'total amount sold'). For example, 1000000 keeps raises of $1M and up.

## `minTotalOffering` (type: `integer`):

Only offerings whose total size is at least this much. Offerings marked 'Indefinite' are kept only when this is 0.

## `nameContains` (type: `array`):

Case-insensitive substrings of the issuer name, e.g. AI, Robotics, Therapeutics. Applied before downloading filings, so it also makes runs faster.

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

Also returns amended filings (form D/A), e.g. updated amounts sold on an earlier raise. Off returns only new raises (form D).

## `includeRelatedPersons` (type: `boolean`):

Names and roles as listed on the filing (city and state only, no street addresses). Turn it off to omit personal names.

## `onlyNewSinceLastRun` (type: `boolean`):

Remembers the filings already returned for these filters and outputs only new ones. Turn it on for a daily schedule so you get each filing once.

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

Stops after this many matching filings. You're billed per result, so this also caps the cost of a run.

## Actor input object example

```json
{
  "daysBack": 3,
  "startupsOnly": false,
  "excludePooledFunds": false,
  "minAmountSold": 0,
  "minTotalOffering": 0,
  "includeAmendments": false,
  "includeRelatedPersons": true,
  "onlyNewSinceLastRun": false,
  "maxResults": 100
}
```

# Actor output Schema

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

Parsed SEC Form D filings matching your filters, one item per filing, stored in the run's default dataset.

# 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("halos_ai_main/sec-form-d-funding-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("halos_ai_main/sec-form-d-funding-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 halos_ai_main/sec-form-d-funding-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,halos_ai_main/sec-form-d-funding-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/qs5m3Js0QVgi3gm9R/builds/owx8JNS1AwGAaqGsp/openapi.json
