# Startup Funding Tracker: Recently Funded Companies & Signals (`zaiq/funding-rounds-tracker`) Actor

Find recently funded companies from public funding announcements and SEC Form D filings. One evidence-backed verdict per company, with amounts, rounds, investors, filing details and optional open jobs. Daily monitoring returns only new companies.

- **URL**: https://apify.com/zaiq/funding-rounds-tracker.md
- **Developed by:** [Zaiq](https://apify.com/zaiq) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $16.00 / 1,000 companies

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Recently Funded Companies: Funding Rounds & Buying Signals

![Recently Funded Companies: Funding & Buying Signals](https://api.apify.com/v2/key-value-stores/4VJNANhwKgqPpXtAi/records/hero-funding-rounds-tracker.jpg)

Get **one sourced verdict per company**: the announced raise, the amount sold in Form D, named investor firms and optional advertised jobs. Start with **`{"maxCompanies": 5}`** for the last seven days.

**Default sources: $0.02 per delivered company, or $0.04 total with a returned hiring count.** Optional Google News discovery changes those totals to **$0.14 and $0.16**. One row can combine announcement and filing evidence. Unavailable sources produce free notes.

### What you get

| Field | What it holds |
|---|---|
| verdict | One plain sentence summarising the evidence, shown as the first column. |
| company, website, country, state, city, industry | Company identity and public location evidence. Announcement locations are datelines, not verified headquarters; industry classifications state their method. |
| roundType, amount, currency, amountUsd, fx | Announced stage and amount. Non-USD amounts retain their currency, with a dated ECB conversion when available. |
| formD, formDFilings, filingHistory | Latest filing, accession number, amount sold and offered, investor count, securities, first sale, revenue range, minimum investment and issuer business address. Earlier filing references are retained, never summed. |
| investors, relatedPersons | Named investor firms and their extracted lead/participant role. Related persons come only from Form D: names and structured roles. |
| sources, matchMethod, notes | Evidence URLs, source dates, company matching method and material limitations. |
| hiring, websiteTitle, websiteDescription | Optional public ATS job count and website metadata. Capped counts are explicitly lower bounds. |
| SUMMARY | Source coverage, SEC daily-index comparison, free notes, bytes, timings, route changes and charged events. |

### What people use it for

- **Sales prospecting:** Prioritise recently funded accounts using funding evidence and advertised hiring.
- **Recruiting:** Find companies with announced capital and open roles.
- **Company monitoring:** Schedule a named monitoring store to receive only companies not previously delivered.
- **Market research:** Export sourced funding and exempt-offering records with explicit amount definitions.

### How to use it

1. Keep the seven-day window or choose dates. Select sources and optional country, industry, amount and stage filters.
2. Start with five companies. Leave hiring off for the smallest run.
3. Open the Funded companies table. Review the verdict, source links and any free notes.
4. For daily alerts, turn on New companies only, choose a monitoring store name and schedule sequential runs.

### Input

| Field | Example | Notes |
|---|---|---|
| maxCompanies | 5 | 1–1,000 unique companies. |
| startDate, endDate | blank | Inclusive dates; blank means the last seven days. Up to 91 days. |
| sources | \["pressWires", "formD"] | Default press-wire/SEC sources: $0.02/company. Optional news discovery: $0.14/company before hiring. |
| countries, usStates | \["US"], \["TX"] | Known locations only; unknown values do not match filters. |
| industries, keywords | \["software"] | Any matching phrase. Industry labels preserve their classification method. |
| minAmount, maxAmount | 1000000, 50000000 | USD; announced amount, or cumulative sold amount for filing-only rows. Unknown amounts do not match. |
| roundTypes | \["seed", "series-a"] | Form D alone has unknown stage. |
| includeAmendments | true | Use the latest D/A as an update to the company, not another raise. |
| includeFundsAndRealEstate | false | Excludes SEC fund and real-estate industries by default. |
| includeHiringSignal | false | A returned ATS count changes the total company price to $0.04, or $0.16 with news discovery. |
| includeWebsiteMetadata | false | Public website title and description when a website is identified. |
| monitoringMode, monitorStoreName | true, "daily-funding" | Only companies new to this named key-value store. The first run delivers matching companies. |
| announcementUrls | \["https://news.example.org/funding-release"] | Optional direct release URLs. Replaces press/news discovery; the date and filters still apply. |
| maxFilings, maxPressPages, maxNewsPages | 1500, 5, 2 | Safety limits; SUMMARY identifies limited coverage. |

### Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

```json
{
  "verdict": "Announced $27.0M Seed (2026-10-22) · Form D: $27.0M sold of $27.0M · Other Technology · Example City, MN",
  "recordType": "company",
  "company": "Example Systems, Inc.",
  "country": "US",
  "state": "MN",
  "city": "Example City",
  "industry": "Other Technology",
  "roundType": "seed",
  "amount": 27000000,
  "currency": "USD",
  "dateAnnounced": "2026-10-22",
  "formD": {
    "filingDate": "2026-10-23",
    "amountSold": 26999969,
    "amountOffered": 26999969,
    "investorsSoFar": 13,
    "securitiesType": [
      "isEquityType"
    ],
    "firstSaleDate": "2026-08-21",
    "revenueRange": "Decline to Disclose",
    "isAmendment": false
  },
  "investors": [
    {
      "name": "Example Investor 1",
      "role": "lead"
    },
    {
      "name": "Example Investor 2",
      "role": "lead"
    }
  ],
  "sources": [
    {
      "type": "formD",
      "url": "https://sources.example.org/evidence-1",
      "date": "2026-10-23"
    },
    {
      "type": "press-release",
      "url": "https://sources.example.org/evidence-2",
      "date": "2026-10-22"
    }
  ],
  "hiring": null
}
```

This example comes from real announcement and Form D data tested on 25 October 2026. Company and investor names, city, site addresses and identifiers have been replaced or omitted. The numeric values and source dates are retained. SUMMARY is saved in the run’s key-value store.

### Pricing

- **Default press-wire/SEC sources: $0.02 per delivered company, or $0.04 total with a returned hiring count.**
- **With optional Google News discovery enabled: $0.14 per delivered company, or $0.16 total with a returned hiring count.** The price covers the selected discovery budget, up to ten news pages per run. It applies to delivered companies even when their evidence comes from another selected source.
- Only one company event is charged per row; these prices are not added together. Confirmed zero hiring counts and labelled lower bounds qualify as returned hiring data.
- Unavailable hiring falls back to the company-only price for the selected sources. Source failures, invalid inputs and explanatory notes have no result charge. If no companies are delivered, no company event is charged.
- Monitoring adds no check fee. Already seen companies have no result charge.
- The same price on every Apify plan. Apify’s **$0.00005 start charge** counts towards the buyer’s **Maximum cost per run**.

What typical jobs cost at the list price:

| Job | Cost |
|---|---|
| 5 companies without hiring | $0.10005 including the start charge |
| 100 companies without hiring | $2.00005 including the start charge |
| 10 companies, all with hiring counts | $0.40005 including the start charge |
| A monitoring run with no new companies | $0.00005 start charge; no company events |
| 3 companies with news discovery, without hiring | $0.42005 including the start charge |

Set Maximum cost per run to control spending. If there is room for the company-only event but not hiring, hiring is skipped. Explicit announcementUrls replace news discovery and use the default-source prices.

### Tips

- Use a broad first run before applying location and amount filters; undisclosed fields do not match those filters.
- Schedule each monitoring store sequentially. Use separate store names for independent prospect lists.
- Use a rolling window with overlap so late filings or announcements can be picked up. Monitoring suppresses previously delivered companies.
- Treat advertised roles as evidence of hiring activity. A single count does not establish headcount growth or purchasing intent.

### Use it through the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/funding-rounds-tracker").call(run_input={"maxCompanies": 5})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/funding-rounds-tracker').call({"maxCompanies": 5});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**HTTP (one call, results back)**

```bash
curl -X POST 'https://api.apify.com/v2/acts/zaiq~funding-rounds-tracker/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"maxCompanies": 5}'
```

### Integrations and schedules

- **Schedules:** run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
- **Make, Zapier, n8n, Google Sheets, Slack, Airtable:** connect it through Apify's integrations, or send each finished run to a **webhook**.
- **Datasets:** results stay in the run's dataset; export them or read them by API whenever you need them.

### Use it with AI agents (MCP)

Add Apify's MCP server (`https://mcp.apify.com`) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "find recently funded software companies from the last seven days with funding evidence and optional open jobs". AI agents can also pay for runs directly through Apify's agentic payments.

### Limits

- Default announcement discovery uses public PR Newswire RSS and archive pages. It is not a complete worldwide funding database. RSS is a recent snapshot; archive and news page limits restrict coverage.
- SEC Form D covers exempt offerings and includes entities other than startups. Amount sold is cumulative, can be zero, and does not establish a new venture round, cash balance or buying intent.
- Company matching uses exact normalised names or compatible website evidence. Ambiguous legal entities stay separate. A company match does not prove that a filing and announcement describe the same financing.
- The parser reads explicit headline and release-text facts in English. Ambiguous recipients are skipped. Investor firms with unclear identities may be omitted; no people are looked up.
- Dates on announcements and filings are different concepts. Unknown fields remain empty. Exchange-rate conversion can be unavailable.
- Hiring supports public Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable and Recruitee boards linked from a company website. Custom or browser-only careers pages can remain unavailable. Workday’s clipped 2,000 count is labelled as a lower bound.
- No logins or CAPTCHA solving. Blocked or cut-short sources are reported. A partial run can still deliver useful companies.
- Monitoring remembers delivered companies, not each subsequent round. Later amendments and further raises from an already seen company are suppressed. Named stores need sequential runs; concurrent runs are not locked.
- No AI model is called. Verdicts are deterministic summaries of the returned evidence.

### FAQ

**Does one company produce several paid rows?**

No. Matched announcements and filings are combined into one company row per run. Free note rows have recordType note.

**Is every Form D a new funding round?**

No. Filings can describe ongoing offerings, amendments or funds. The row labels sold and offered amounts and leaves the venture stage unknown.

**Can I get only new companies each day?**

Yes. Enable monitoringMode and reuse monitorStoreName. The first run establishes the delivered-company history; later runs suppress those companies.

**What happens after a restart?**

The Actor reuses its saved plan and reconciles stable result IDs against the dataset. Already delivered rows are not charged again.

**What is included in the hiring price?**

The company result plus a public ATS count in the same row: $0.04 total with default sources, or $0.16 when news discovery is enabled. Unavailable hiring uses the corresponding company-only price.

### Related Actors from Zaiq

- [sec-edgar-scraper](https://apify.com/zaiq/sec-edgar-scraper): detailed public SEC filing data
- [ats-jobs-scraper](https://apify.com/zaiq/ats-jobs-scraper): individual public ATS job listings
- [google-news-scraper](https://apify.com/zaiq/google-news-scraper): broader public news discovery

### Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's **Issues** tab: we answer there, usually within a day.

***

Also found as: recently funded companies, startup funding tracker, funding rounds, Form D tracker, sales buying signals, new company alerts.

# Actor input Schema

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

Inclusive YYYY-MM-DD. Blank starts six days before the end date, giving a seven-day window.

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

Inclusive YYYY-MM-DD. Blank uses today in UTC. Up to 91 days per run.

## `countries` (type: `array`):

Two-letter country codes, such as US or GB. Unknown locations do not match a country filter.

## `usStates` (type: `array`):

Two-letter US state codes. Filters require a known US location.

## `industries` (type: `array`):

Case-insensitive text matches against the SEC industry or announcement keyword classification.

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

Any listed phrase may match the company name, industry or announcement opening text.

## `announcementUrls` (type: `array`):

Optional public release URLs to validate directly; no login-only sources. Up to 100.

## `sources` (type: `array`):

Public SEC indexes and filings, press-wire RSS and archives, or Google News discovery. News requires the cloud SERP route. With news discovery enabled, each delivered company costs $0.14, or $0.16 with a returned hiring count. The default sources cost $0.02, or $0.04 with a returned hiring count.

## `roundTypes` (type: `array`):

Select funding stages. SEC-only records have unknown stage; offering size never determines stage.

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

Use the latest Form D or D/A per issuer in the date window. Amendments are updates, never added raises.

## `includeHiringSignal` (type: `boolean`):

Count supported public ATS roles. Total company price: $0.04 with hiring ($0.16 when news discovery is enabled). Unavailable hiring falls back to $0.02 ($0.14 with news discovery).

## `includeWebsiteMetadata` (type: `boolean`):

Fetch the company website for its title and description when its URL is present in the funding evidence.

## `includeFundsAndRealEstate` (type: `boolean`):

Include SEC pooled investment fund and real estate industries. Press announcements about fund launches remain excluded.

## `monitoringMode` (type: `boolean`):

Use the named key-value store to suppress companies delivered in previous runs. Run each store sequentially. Amendments of an already seen company are suppressed.

## `convertToUsd` (type: `boolean`):

Use ECB reference rates on or before the announcement date when available. Keep the original amount and report the rate, date and URL. Unknown conversions stay empty.

## `monitorStoreName` (type: `string`):

Named key-value store owned by your account. Use a different name for an independent monitoring list. First run delivers the matching companies.

## `maxCompanies` (type: `integer`):

Stop after this many unique companies. One company may carry several announcements or filings.

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

Maximum Form D documents to inspect after discovery. SEC requests remain below 5 per second and 3,000 per run.

## `maxPressPages` (type: `integer`):

Maximum public archive pages. RSS feeds are recent snapshots and do not guarantee full historical coverage.

## `maxNewsPages` (type: `integer`):

Maximum Google News results pages through the SERP route. Articles are validated from their own pages.

## `minAmount` (type: `number`):

Filter the current announced amount, or cumulative amount sold for SEC-only rows. Unknown amounts or unavailable USD conversions do not match.

## `maxAmount` (type: `number`):

Filter the current announced amount, or cumulative amount sold for SEC-only rows. Unknown amounts or unavailable USD conversions do not match.

## Actor input object example

```json
{
  "startDate": "",
  "endDate": "",
  "countries": [],
  "usStates": [],
  "industries": [],
  "keywords": [],
  "announcementUrls": [],
  "sources": [
    "pressWires",
    "formD"
  ],
  "roundTypes": [],
  "includeAmendments": true,
  "includeHiringSignal": false,
  "includeWebsiteMetadata": false,
  "includeFundsAndRealEstate": false,
  "monitoringMode": false,
  "convertToUsd": true,
  "monitorStoreName": "funding-companies",
  "maxCompanies": 5,
  "maxFilings": 1500,
  "maxPressPages": 5,
  "maxNewsPages": 2
}
```

# Actor output Schema

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

Dataset: the results.

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

What each input returned, and notes.

# 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 = {
    "maxCompanies": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaiq/funding-rounds-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 = { "maxCompanies": 5 }

# Run the Actor and wait for it to finish
run = client.actor("zaiq/funding-rounds-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 '{
  "maxCompanies": 5
}' |
apify call zaiq/funding-rounds-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zaiq/funding-rounds-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/Vi2QFAIJarxfjuGkW/builds/aPSuCeskq6K05iCzC/openapi.json
