# Startup Funding Tracker: Who Just Raised Money (`precious_bathmat/startup-funding-signals`) Actor

US companies that just raised money, read from SEC Form D filings and filtered down to real operating companies rather than the investment funds that file most of them. Each is matched to its website and checked for whether it is now hiring. No API key.

- **URL**: https://apify.com/precious\_bathmat/startup-funding-signals.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 funding 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

## Startup Funding Tracker: Who Just Raised Money

Find **US companies that just raised money**, straight from the SEC's own records, with the investment funds stripped out and each company matched to its website and checked for whether it has started hiring.

No API key, no login, no proxy.

### What does this do?

When a company raises money privately it files a **Form D** with the SEC, usually within fifteen days. That filing is public the moment it lands — long before a funding announcement, a press release, or a database entry.

The problem is that most Form D filings are not startups. In a measured sample of 60 consecutive filings, **37 were pooled investment funds and 6 were property partnerships**. Ship "recent Form D filings" as a funding feed and you are mostly shipping fund paperwork.

This Actor reads the filings, throws away the funds and the property deals, matches what is left to a real company website, and then checks whether that company has started hiring.

```mermaid
flowchart LR
    A[SEC Form D filings] --> B[Drop funds, property<br/>and listed companies]
    B --> C[Match to the company's<br/>own website]
    C --> D[Hiring check on its<br/>careers board]
    D --> E[Ranked: who is worth a call]
```

### Who is it for?

| You are | You use it to |
|---|---|
| **A sales team selling to startups** | Reach companies in the weeks after the money lands, when budget exists |
| **A recruiter** | Find funded companies before they publish the roles |
| **An investor or scout** | See raises that never get announced anywhere |
| **An agency** | Catch companies at the moment they start spending |
| **A journalist** | Spot a raise from the filing, not the press release |

### What data do you get?

| Field | What it is |
|---|---|
| `company`, `website`, `industry` | Who filed, their site, and the industry they chose |
| `amountRaised`, `amountBand` | Dollars actually sold, not just registered |
| `offeringAmount`, `percentOfOfferingSold` | How big the round is and how much has closed |
| `filedAt`, `stateOrCountry`, `yearOfIncorporation` | When, where, and how old |
| `officers` | How many people signed the filing |
| `entityKind` | Operating company, or a likely deal vehicle |
| `signalScore`, `band`, `evidence` | How much evidence there is, and exactly what it was |
| `hiringSignal`, `openRoles`, `careersBoard` | Whether they are hiring since the raise |
| `whyUnknown` | Every check that could not be made, in words |
| `secFilingUrl`, `cik` | A link straight back to the filing |

### Example: two weeks of filings, 24 September 2026

A live run read **283 of 2,777 filings, kept 40** operating companies, and took 119 seconds.

| Company | Band | Raised | Why |
|---|---|---|---|
| **Titan OS Inc** | **worth a call (5)** | $4,000,000 | Raise plus open roles (moderate hiring) |
| **GridX, Inc.** | **worth a call (5)** | $7,500,000 | Raise, some hiring, 8 officers |
| **Mojave Energy Systems, Inc.** | **worth a call (5)** | $24,976,722 | Large raise, 6 officers |
| **Caspian Therapeutics, Inc.** | worth a look (4) | $50,000,000 | Very large raise, nothing else visible yet |
| **Travel Curious Group Inc.** | worth a look (4) | $2,020,591 | Raise, 6 officers |

**Most young companies have no public careers board yet.** In that run, 24 companies had a confirmed website and 2 of them had a findable board. The other 22 are reported as hiring `unknown`, never as "not hiring".

### What it refuses to do

- **It does not pretend a fund is a startup.** Funds and property partnerships are removed before anything else. That single filter is most of the value here.
- **It does not let listed companies flatter the ranking.** Public companies file Form D too, and they almost always have an active careers board. In testing, NASDAQ-listed Lexaria filed for $113,000 and outranked a $7.8M private raise. Listed filers are now excluded by default.
- **It does not guess a website.** A domain is only accepted if the page actually mentions the company, with the name matched as whole words and the site's own address ignored — a placeholder whose entire content was its own domain name once confirmed itself. When nothing passes, the row says so instead of linking somewhere wrong. About 40% of filings get a confirmed website; the rest are honestly blank.
- **It does not treat "unknown" as "no".** A company with no findable careers board is not "not hiring", and when the hiring check is switched off its fields are left empty, never reported as a failed reading.
- **It flags deal vehicles.** SPACs and acquisition holdcos file large, real Form Ds — one in testing raised $117M — but they are not companies you can sell to. They are marked `likely deal vehicle` rather than silently dropped.
- **It stops when the SEC says stop.** EDGAR allows about ten requests a second. An early version went faster and was refused for several minutes, grinding through a thousand filings and keeping none. It now paces well under the limit, backs off on a refusal, and tells you plainly if the service is closed rather than returning an empty list.

### Popular funding reports

Ready-made runs you can open and start, or copy as a starting point:

- [Companies That Just Raised Money](https://apify.com/precious_bathmat/startup-funding-signals/examples/companies-that-just-raised-money)
- [Startup Funding This Week](https://apify.com/precious_bathmat/startup-funding-signals/examples/startup-funding-this-week)
- [Tech Startup Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/tech-startup-funding)
- [Biotech and Pharma Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/biotech-funding-rounds)
- [Seed and Early Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/seed-funding-rounds)
- [Large Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/large-funding-rounds)
- [Funded Startups That Are Hiring](https://apify.com/precious_bathmat/startup-funding-signals/examples/funded-startups-hiring)
- [California Startup Funding](https://apify.com/precious_bathmat/startup-funding-signals/examples/california-startup-funding)
- [New York Startup Funding](https://apify.com/precious_bathmat/startup-funding-signals/examples/new-york-startup-funding)
- [Texas Startup Funding](https://apify.com/precious_bathmat/startup-funding-signals/examples/texas-startup-funding)
- [AI Startup Funding](https://apify.com/precious_bathmat/startup-funding-signals/examples/ai-startup-funding)
- [Fintech Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/fintech-funding-rounds)
- [SEC Form D Filings](https://apify.com/precious_bathmat/startup-funding-signals/examples/sec-form-d-filings)
- [Massachusetts Startup Funding](https://apify.com/precious_bathmat/startup-funding-signals/examples/massachusetts-startup-funding)
- [Healthcare Funding Rounds](https://apify.com/precious_bathmat/startup-funding-signals/examples/healthcare-funding-rounds)

### Pricing

**$0.005 per filing** and **$0.005 per company checked for hiring**. A filing with no confirmed website is only charged the first, because only the first was done.

A two-week run over 40 filings, 24 of them checked, costs about **$0.32**. Turn the hiring check off for a plain funding feed and the same run is $0.20.

### Input

| Setting | What it does |
|---|---|
| **How many days back** | 1 to 90. About 1,200 Form Ds are filed a week |
| **Which companies to keep** | Operating companies by default; or technology only, health only, or everything including funds |
| **Minimum raised** | Skip anything below a dollar figure actually sold |
| **Only these states** | Two-letter codes, for example CA, NY, TX |
| **Only companies matching these words** | Filter by name or industry |
| **Find each company's website** | On by default; the confirmed-match rule above applies |
| **Check whether the company is hiring** | Open roles and recent postings on its careers board. Off for a cheaper, plain feed |
| **Include publicly listed companies** | Off by default, for the reason above |
| **Include amended filings** | Off by default, so one round is not counted twice |

### Integrations

Runs on a schedule and connects to Google Sheets, Slack, Zapier, Make or your own code through the Apify API. A weekly run turns Form D into a feed of companies in the first weeks of having money to spend.

# Actor input Schema

## `days` (type: `integer`):

Read Form D filings from the last N days. About 1,200 are filed each week, of which roughly a quarter are operating companies.

## `industries` (type: `string`):

Most Form D filings come from investment funds and property partnerships, not startups. 'Operating companies' removes them, which is almost always what you want.

## `maxFilings` (type: `integer`):

How many filings to keep. Each costs $0.005, plus $0.02 if the company is qualified.

## `minAmountRaised` (type: `integer`):

Skip filings below this much actually sold. 0 keeps everything, including offerings where nothing has closed yet.

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

Optional two-letter codes, for example CA, NY, TX. Leave empty for all.

## `keywords` (type: `array`):

Optional. Keeps filings whose company name or industry contains one of these words.

## `findWebsite` (type: `boolean`):

Form D never carries a website. This looks one up from the company name and only accepts it if the page actually mentions the company.

## `qualify` (type: `boolean`):

Check each company's public careers board for open roles and recent hiring, when a website is confirmed. Turn off for a plain, cheaper funding feed.

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

Form D/A filings update an earlier raise. Off by default so the same round is not counted twice.

## `includePublicCompanies` (type: `boolean`):

Off by default. Listed companies file Form D too, and because they almost always have an active careers board they crowd out the private raises you are looking for.

## Actor input object example

```json
{
  "days": 7,
  "industries": "operating",
  "maxFilings": 40,
  "minAmountRaised": 0,
  "states": [],
  "keywords": [],
  "findWebsite": true,
  "qualify": true,
  "includeAmendments": false,
  "includePublicCompanies": false
}
```

# Actor output Schema

## `companies` (type: `string`):

Every filing kept, ranked by how much evidence there is that the company is worth contacting.

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

What was read and what was filtered out.

# 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("precious_bathmat/startup-funding-signals").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("precious_bathmat/startup-funding-signals").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 precious_bathmat/startup-funding-signals --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,precious_bathmat/startup-funding-signals"
        }
    }
}
```

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/1gmQTec1s9jr8W32K/builds/1GW0ObkZAomQR143d/openapi.json
