# Funding Round Tracker - Company Funding Signal Detector (`fetchcraft/funding-round-tracker`) Actor

Detect recent funding signals on company URLs. Regex + AI extraction returns latest stage, amount, lead investor, announcement date, and source. Useful for B2B sales to recently-funded startups. Bring your own LLM key. $0.01 detector, $0.03 with AI extraction.

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

## Pricing

$1.00 / 1,000 company funding signal checkeds

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Funding Round Tracker

> Drop in a list of company URLs. Get back: latest funding round (stage, amount, lead investor, year, evidence quote), full funding history, recency rating, soft stage proxies (founded year + customer count + team size + revenue signals), and an AI-generated runway estimate + buying-window assessment.
>
> Just-funded companies are the #1 B2B sales target because they have a 60 to 90 day aggressive procurement window.

### What you get per URL

```json
{
  "input_url": "https://linear.app/",
  "company_name": "Linear",
  "mode": "ai",
  "has_funding_signal": true,
  "latest_stage": "series-c",
  "latest_stage_source": "explicit",
  "latest_amount_usd_m": 82,
  "latest_lead_investor": "Accel",
  "latest_year_hint": 2024,
  "latest_evidence_quote": "Linear closed an $82M Series C led by Accel...",
  "latest_confidence": "high",
  "recency": "recent",
  "funding_history": [
    { "stage": "series-c", "amount_usd_m": 82, "lead_investor": "Accel", "year_hint": 2024, "evidence_quote": "...", "confidence": "high" },
    { "stage": "series-b", "amount_usd_m": 35, "lead_investor": "Sequoia", "year_hint": 2022, "evidence_quote": "...", "confidence": "high" }
  ],
  "total_raised_usd_m": 117,
  "stage_proxies": { "founded_year": 2019, "company_age_years": 7, "customer_count_signal": 25000 },
  "pages_scanned": ["https://linear.app/", "https://linear.app/about", "https://linear.app/press"],
  "ai_insights": {
    "estimated_stage": "series-c",
    "total_raised_usd_m": 117,
    "runway_assessment": "Strong, ~24-36 months on current burn given last round",
    "buying_window": "active, just past 12 months from last round so most aggressive procurement done but still spending",
    "sales_pitch_angle": "Pitch tools that scale with multi-region distributed engineering team they're building",
    "key_investor_signals": "Accel + Sequoia signal sustained product-led growth trajectory",
    "reasoning": "Series C with strong VCs and product-led growth metrics suggests medium-term steady spend"
  }
}
```

### Why this matters for B2B sales

Just-funded companies behave predictably:

- **60-day window:** Aggressive net-new procurement (your highest close-rate window)
- **6-month window:** Active vendor evaluation continues, often replacing tools they've outgrown
- **12-month window:** Spend tightens as runway calculations kick in

This actor's `recency` field tells you which window each prospect is in. The `buying_window` field (AI mode) gives nuance.

### Modes

#### Preview (free)

1 URL only, not charged. For testing.

#### Regex (A$0.20 per result)

- Fetches homepage + 11 common press / about / investors paths
- Detects funding signals using sentence-level pattern matching (stage + amount/investor/verb)
- Extracts soft stage proxies: founded year, customer count, team size, revenue signals
- Computes `latest_stage` from explicit signals OR inferred stage from proxies
- Computes recency (very\_recent / recent / within\_2\_years / old / unknown)
- Computes total\_raised\_usd\_m across all detected rounds

**Honest limitations:**

- Most modern SaaS companies don't publish funding details on their /about pages. Funding announcements typically live on separate press subdomain pages (press.notion.so), on TechCrunch / Forbes, or on Crunchbase.
- Regex mode catches sites that DO publish funding signals (older companies with press pages, recently-funded companies that announce on their own blog, companies with /investors pages).
- For sites that don't publish funding explicitly, the soft stage proxies (founded year, customer count, team size) give you a calibration anyway.
- AI mode dramatically expands coverage by reasoning across whatever signals are visible.

#### AI-enhanced (A$0.60 per result)

- Everything in regex mode, plus:
- Sends combined press/about content to Claude Sonnet 4.6 with a senior VC analyst prompt
- Returns: estimated stage, total raised, structured funding rounds list (with verbatim evidence quotes), runway assessment, buying-window classification, sales pitch angle, investor signal interpretation, reasoning

AI mode is the right pick when you're using funding signal for direct outreach personalisation. Regex mode is fine when you just need a triage signal.

### Inputs

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| urls | array of strings | required | Company URLs |
| mode | string | `regex` | `preview`, `regex`, or `ai` |
| only\_funded | boolean | false | If true, skip output for companies with no funding signal (still charged for the discovery work) |
| max\_concurrency | integer | 5 | Parallel URLs (1 to 15) |

### Use cases

- **B2B SDRs:** Build a "just-funded TAM" by running this on your prospect list weekly. Filter `recency=very_recent` or `recency=recent`, then prioritise those for outreach. Pair with the [AI Sales Personalizer](https://apify.com/fetchcraft/ai-sales-personalizer) for opener generation.
- **VC competitive monitoring:** Track your portfolio companies' competitors. Run weekly, diff the `funding_history` for new rounds.
- **M\&A scouts:** Identify late-stage companies (Series D+) that fit acquisition criteria.
- **PR agencies:** Find just-funded companies that need PR support immediately after announcement.
- **Recruiters:** Just-funded companies typically expand headcount 30 to 60 percent in the 12 months post-round. Use this signal to find clients.
- **Bankers / advisors:** Identify late-stage companies approaching IPO or M\&A windows.

### Cost economics

| You run | Regex mode | AI mode |
| --- | --- | --- |
| 10 URLs | ~A$2.00 | ~A$6.00 |
| 100 URLs | ~A$20.00 | ~A$60.00 |
| 1,000 URLs | ~A$200.00 | ~A$600.00 |

The Actor itself doesn't charge a subscription. You pay only per result.

### What this Actor does NOT do

- Scrape Crunchbase, PitchBook, or other paid funding databases (legally not allowed; their data is proprietary)
- Detect undisclosed / unannounced rounds
- Predict future fundraising
- Give you investor contact information

### The B2B sales intelligence suite

This actor is one of 4 in a connected suite by Emily Ward:

1. **[Hiring Signal Detector](https://apify.com/fetchcraft/hiring-signal-detector):** which companies are actively hiring (cleanest budget signal)
2. **[SaaS Spend Scanner](https://apify.com/fetchcraft/saas-spend-scanner):** what tools they currently pay for
3. **Funding Round Tracker (this actor):** capital availability and procurement window
4. **[AI Sales Personalizer](https://apify.com/fetchcraft/ai-sales-personalizer):** write a personalised opener per prospect

Used together, they turn a TAM list into a ranked, contextualised outreach queue.

### About the maintainer

Built by [Emily Ward](https://cancelcosts.com), Admitted Lawyer (NSW) turned AI builder, Founder of Cancel Costs.

Questions? emily@cancelcosts.com

# Actor input Schema

## `urls` (type: `array`):

List of company URLs. The actor auto-discovers /about, /press, /news, /investors pages.

## `mode` (type: `string`):

regex: pattern-match funding signals from press / about pages, ~A$0.20 per result. ai: regex + Claude structured extraction of full funding history with stage, amount, investors, runway estimate, ~A$0.60 per result. preview: 1 URL only, not charged.

## `only_funded` (type: `boolean`):

If true, skip companies where no funding signal is detected. Still charged (you paid for the discovery work). Set false to see all results including 'no signal found'.

## `max_concurrency` (type: `integer`):

How many URLs to process in parallel.

## Actor input object example

```json
{
  "urls": [
    "https://www.notion.so/",
    "https://www.figma.com/",
    "https://www.linear.app/"
  ],
  "mode": "regex",
  "only_funded": false,
  "max_concurrency": 5
}
```

# 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 = {
    "urls": [
        "https://www.notion.so/",
        "https://www.figma.com/",
        "https://www.linear.app/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetchcraft/funding-round-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 = { "urls": [
        "https://www.notion.so/",
        "https://www.figma.com/",
        "https://www.linear.app/",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fetchcraft/funding-round-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 '{
  "urls": [
    "https://www.notion.so/",
    "https://www.figma.com/",
    "https://www.linear.app/"
  ]
}' |
apify call fetchcraft/funding-round-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fetchcraft/funding-round-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/IO6JcXViPP1mQuUgX/builds/8zIyf1PR96RyNfCfT/openapi.json
