Build a funding-research list: who raised money, how much, and which investors the announcement names

One run gives you the past week's financings from three sources in one list: SEC Form D filings (amount sold and offered), TechCrunch funding news (headline round size) and PR Newswire funding releases, where the release names them, with the investor organisations and which of them led. Every amount says what it means. The same round reported twice arrives once. It is for sales teams, service providers, investors and analysts who track companies that just raised money.

What you get

Five of the 25 rows from a run on 1 October 2026 with the default settings (last 7 days, technology and health filings, PR Newswire on):

date company_name source amount_display round_stage investor_organizations
2026-09-30 Varda prnewswire $251,000,000 Series D Lux Capital (lead); Natural Capital (lead); Founders Fund (participant); Khosla Ventures (participant); …
2026-09-30 Miter prnewswire $40,000,000 Series B Battery Ventures (lead); Bessemer Venture Partners (participant)
2026-09-30 Astrocyte Pharmaceuticals prnewswire $9,500,000 Series B DeepWork Capital (lead); MintPharma Capital (participant); …
2026-09-30 RunLoyal, Inc. sec_edgar $1,167,339 sold of $1,267,339 offered
2026-09-29 EliseAI techcrunch $350,000,000

That run delivered 9 SEC filings, 8 TechCrunch stories and 8 PR Newswire releases, and folded 5 duplicate reports into the rows they belonged to (not charged). Investor names come only from PR Newswire releases; SEC and TechCrunch rows leave those columns empty.

The Funding tab gets 23 columns: record_id (used to avoid duplicates), date, company_name, source, event_type, raise_status, financing_type, amount, currency, amount_type (what the amount means, e.g. round size or amount sold so far), amount_display, round_stage, lead_investors, investor_organizations (name and role), investor_info_status, industry, location, issuer, title, url, other_reports (the same financing in another source), cik and last_seen. A Run log tab gets one row per run.

Get it in one click

Two ready-made searches; open one, press Start, then change the inputs:

Or open the Actor, Startup Funding Tracker — SEC Form D & Funding News, with:

{"mode": "all_sources", "daysBack": 7, "includePrNewswire": true, "maxResults": 25}

Get it from code

curl -X POST "https://api.apify.com/v2/acts/nexgensignal~funding-round-intelligence-api/run-sync-get-dataset-items?maxTotalChargeUsd=1" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"mode": "all_sources", "daysBack": 7, "includePrNewswire": true, "maxResults": 10}'

For a weekly list, use the Python script under Downloads; it keeps one CSV row per financing:

export APIFY_TOKEN=your_apify_token          # Windows: set APIFY_TOKEN=your_apify_token
python funding_to_research_csv.py --days 7 --max 25

It writes funding_research.csv (one row per financing, matched on record_id) and funding_research.csv.runlog.csv. Options: --min-amount 5000000, --query "robotics", --all-industries, --no-prnewswire, --cap 2.50. Python 3.8+ and nothing else.

Put it in a Google Sheet every Monday (n8n)

  1. Get the workflow. In n8n choose Import from URL and paste the workflow link under Downloads (or download it and use Import from File).
  2. Add your Apify token. In Apify Console copy your API token (Settings → API & Integrations). In n8n create a Header Auth credential named Apify API token: Name Authorization, Value Bearer followed by your token. Select it in the five HTTP Request nodes (Get saved run, Start Apify run, Check run, Get run receipt, Get records).
  3. Make the sheet. Create a Google Sheet with tabs Funding and Run log and paste the header rows from the header files under Downloads into row 1.
  4. Point the workflow at it. Paste the sheet URL into both Google Sheets nodes and choose your Google credential.
  5. Choose what to track. Open Settings (edit me): days back, PR Newswire on or off, SEC industry groups (empty = all), a minimum amount, an optional company or keyword, the most records per run and a spending cap per run.
  6. Run it once, check the sheet, then switch the workflow to Active (Mondays 08:00 New York time; change the schedule node if you like).

Google Sheets delivery: not yet verified

The workflow's Google Sheets nodes follow n8n 2.41.4's own Google Sheets node definition (append-or-update on record_id; values are written as plain text so numbers such as 00445790 keep their leading zeros), and the file imports into n8n. They have not yet been run against a real Google Sheet. Everything before the sheet has been tested in n8n, including scheduled runs, with a local stand-in that applies the same append-or-update rule. Try it on a copy of your sheet first.

If something is interrupted

What it costs

Existing prices: a $0.02 start fee per run ($0.01 per GB of memory, 2 GB), charged even when nothing matches, plus each financing delivered.

Apify plan Per financing One run at the default maximum (25) Four weekly runs
Free $0.08 up to $2.02 up to $8.08
Bronze $0.072 up to $1.82 up to $7.28
Silver $0.064 up to $1.62 up to $6.48
Gold / Platinum / Diamond $0.0536 up to $1.36 up to $5.44

The test run on 1 October filled all 25, so a busy week can have more than your maximum: raise it, or narrow with a minimum amount, industry groups or a keyword. A week with nothing new costs the $0.02 start fee. Duplicates folded into another row within one run are not charged.

De-duplicated rows are not de-duplicated charges. Every financing a run delivers is charged, even if it is already in your sheet: for example when two runs' date windows overlap (a run started late, an extra manual run, or a daysBack longer than the schedule's gap). The sheet updates that row instead of adding it, but the run still pays for it. Keep daysBack equal to the time between scheduled runs to keep overlaps small.

When things don't go to plan

Run log outcome What it means What the workflow does
complete Financings added or updated Nothing else to do
no_match Every selected source was read and nothing matched Only the $0.02 start fee
partial Something stopped the search early: your maximum or spending cap was reached, PR Newswire hit its time or page limit (PARTIAL SEARCH / INCOMPLETE SEARCH), or one source did not answer Rows received are saved; the run's own message says what was missed. Treat it as incomplete, not as "nothing happened"
source_unavailable No selected source answered Nothing charged beyond the start fee; the workflow stops with an error
failed The run failed (for example invalid input) Stops with an error naming the run

Know before you rely on it

Downloads

Published by NexGen Signal (official-source data products on Apify). Prices are the Actors' existing pay-per-record prices on 1 October 2026; check the Actor page for current prices.