# 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:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fetchcraft/funding-round-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Funding Round Tracker - Company Funding Signal Detector",
        "description": "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.",
        "version": "0.1",
        "x-build-id": "8zIyf1PR96RyNfCfT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetchcraft~funding-round-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetchcraft-funding-round-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fetchcraft~funding-round-tracker/runs": {
            "post": {
                "operationId": "runs-sync-fetchcraft-funding-round-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fetchcraft~funding-round-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-fetchcraft-funding-round-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "Company URLs",
                        "type": "array",
                        "description": "List of company URLs. The actor auto-discovers /about, /press, /news, /investors pages.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "preview",
                            "regex",
                            "ai"
                        ],
                        "type": "string",
                        "description": "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.",
                        "default": "regex"
                    },
                    "only_funded": {
                        "title": "Only return companies with funding signal",
                        "type": "boolean",
                        "description": "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'.",
                        "default": false
                    },
                    "max_concurrency": {
                        "title": "Max parallel requests",
                        "minimum": 1,
                        "maximum": 15,
                        "type": "integer",
                        "description": "How many URLs to process in parallel.",
                        "default": 5
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
