# Company Funding Data API - Startup, Investor and Round Search (`nabeelbaghoor/company-funding-data-api`) Actor

Search startups and private companies and export company funding data - investors, funding rounds, total funding, employee counts, categories and locations. Pay per result. Bring your own API key.

- **URL**: https://apify.com/nabeelbaghoor/company-funding-data-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Business, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$15.00 / 1,000 company results

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 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

## Company Funding Data API - startups, investors and funding rounds

**Company Funding Data API** turns private-company and startup funding data into a clean, structured export. Search companies by keyword, category, location, employee count, founded date and total funding, and export every match - company name, description, website, categories, locations, employee bucket, founded date, operating status, total funding, last funding type and round count, plus social profiles - as JSON, CSV or Excel.

Bring your own API key and pay only for the records you keep.

### Why use this actor?

- **Funding and firmographic data** - total funding, last funding type, number of rounds, employee-count buckets, categories, locations and founded date in one record.
- **Real filters** - keyword, category identifiers, location identifiers, employee buckets, founded-date range, minimum and maximum total funding, and last funding type, all as proper fields.
- **Advanced escape hatch** - drop in raw query predicates for any filter not surfaced as a field.
- **Pay per result** - you are charged only for the records actually returned, up to 5,000 per run.
- **Keyset pagination** - stable cursor paging under the hood, so large exports stay consistent.
- **No proxies, no blocks** - data comes through a stable API, so runs are fast and reliable.

### Use cases

- **Investor and market research** - build lists of funded startups by category, stage or geography.
- **Sales and lead generation** - target private companies by size, funding and location.
- **Competitive intelligence** - track who raised, how much and what round type.
- **Data enrichment** - append funding totals, categories and employee ranges to your company records.
- **Sourcing and deal flow** - surface recently founded or recently funded companies in a space.

### Input

Configure everything from the visual editor - every filter is a proper field, no code needed. Example JSON input:

```json
{
  "keyword": "payments",
  "categories": "fintech, financial-services",
  "locationIdentifiers": "united-states",
  "numEmployeesEnum": "c_00051_00100, c_00101_00250",
  "foundedOnFrom": "2018-01-01",
  "fundingTotalMin": 1000000,
  "lastFundingType": "seed, series_a",
  "sortField": "funding_total",
  "sortDirection": "desc",
  "maxResults": 200,
  "apiKey": "YOUR_API_KEY"
}
```

#### Input fields

- **keyword** - match companies whose name contains this text.
- **categories** - comma-separated category identifiers/permalinks to include.
- **locationIdentifiers** - comma-separated location identifiers/permalinks to include.
- **numEmployeesEnum** - comma-separated employee buckets. Allowed: `c_00001_00010`, `c_00011_00050`, `c_00051_00100`, `c_00101_00250`, `c_00251_00500`, `c_00501_01000`, `c_01001_05000`, `c_05001_10000`, `c_10001_max`.
- **foundedOnFrom / foundedOnTo** - founded-date range (YYYY-MM-DD).
- **fundingTotalMin / fundingTotalMax** - total funding range in US dollars.
- **lastFundingType** - comma-separated last-round types, e.g. `seed, series_a`.
- **rawQuery** - advanced array of raw predicate objects appended verbatim to the query.
- **sortField / sortDirection** - sort field (default company rank) and direction.
- **pageSize** - records requested per API call (1-1000, default 100).
- **maxResults** - stop after this many records (1-5,000).
- **apiKey** - your own API key (see below).

### Output

One clean JSON object per company (raw arrays kept, with convenience display fields added):

```json
{
  "uuid": "e1a2b3c4-d5e6-7890-abcd-1234567890ef",
  "name": "Acme Payments",
  "permalink": "acme-payments",
  "profile_url": "https://www.crunchbase.com/organization/acme-payments",
  "short_description": "Acme Payments builds developer-first payment infrastructure.",
  "website_url": "https://acmepayments.example",
  "categories": [{ "value": "FinTech", "permalink": "fintech", "uuid": "..." }],
  "category_names": ["FinTech", "Financial Services"],
  "location_identifiers": [{ "value": "San Francisco", "permalink": "san-francisco-california", "uuid": "..." }],
  "location_names": ["San Francisco", "California", "United States"],
  "num_employees_enum": "c_00051_00100",
  "founded_on": { "value": "2019-04-01" },
  "operating_status": "active",
  "funding_total": { "value_usd": 12500000, "currency": "USD" },
  "last_funding_type": "series_a",
  "last_funding_at": "2022-06-15",
  "num_funding_rounds": 3,
  "rank_org_company": 5421,
  "linkedin": { "value": "https://www.linkedin.com/company/acme-payments" }
}
```

### Do I need an API key?

Yes. This actor wraps the Crunchbase Data API and calls it on your behalf using your own key (BYOK). A paid key is required because the free self-serve tier has been retired. Get a Crunchbase Data API key from the provider, paste it into the **API key** input field, and run. Your key is stored securely and never logged. You can also provide it through the `DATA_API_KEY` environment secret.

### Pay per result

You pay only for the records the actor actually returns - no subscriptions, no minimums. Set **Maximum results** to cap each run's spend exactly. A run that returns nothing costs almost nothing. Standard Apify platform usage and your own API usage against your key still apply.

### FAQ

#### What data does this actor return?

For each matching company it returns funding and firmographic data: company name, short description, website, categories and category groups, locations, employee-count bucket, founded date, operating status, total funding, last funding type, last funding date, number of funding rounds, a company rank, and social profiles (LinkedIn, Twitter, Facebook) plus contact email and phone when available. Every raw field is kept, with convenience fields like `name`, `permalink`, `category_names` and `location_names` added.

#### How do I filter by category or location?

Categories and locations use the provider's identifiers/permalinks (for example `fintech` or `san-francisco-california`). Enter one or more, comma-separated, in the **Categories** and **Locations** fields. They are passed through as entered, so use the exact identifiers your account uses.

#### How do I filter by company size or funding?

Use **Employee count buckets** with the allowed bucket strings (for example `c_00051_00100`), and **Minimum/Maximum total funding** with plain US dollar amounts. You can also filter by **Last funding type** (for example `seed, series_a`) and by **Founded on or after/before** dates.

#### How many results can I get per run?

Up to 5,000 records per run, paged automatically with a stable keyset cursor (page size 1-1000, default 100). For larger sets, split the search by category, location, founded-date range or funding range across multiple runs.

#### How do I get an API key?

You need your own API key for the underlying provider (see "Do I need an API key?" above). The actor calls that API on your behalf; it does not include or resell access. Because the free self-serve tier has been retired, a paid key is required. Add the key in the **API key** field and run.

#### What is the raw query field for?

`rawQuery` is an advanced escape hatch. It accepts an array of raw predicate objects (`{ "type": "predicate", "field_id": "...", "operator_id": "...", "values": [...] }`) that are appended verbatim and AND-ed with the other filters. Use it for any filter not surfaced as a dedicated field.

#### Can I run this on a schedule?

Yes. Use Apify Schedules to run it daily or weekly and connect the dataset to Zapier, Make, n8n, webhooks or the API to push new or updated companies into your CRM, data warehouse or research pipeline.

### Keyword map

company funding data api, startup funding api, private company search api, investor data api, funding rounds api, venture capital data api, company firmographics api, employee count data, company categories api, company location search, total funding lookup, last funding type, seed and series a data, startup database api.

### Support and feedback

Found an issue or missing a filter? Open an issue in the **Issues** tab - it is monitored daily.

# Actor input Schema

## `keyword` (type: `string`):

Match companies whose name contains this text, e.g. `payments` or `acme`. Leave blank to match on the filters below only.

## `categories` (type: `string`):

Comma-separated category identifiers or permalinks to include, e.g. `artificial-intelligence, fintech`. These are Crunchbase category identifiers/permalinks and are passed through as entered.

## `locationIdentifiers` (type: `string`):

Comma-separated location identifiers or permalinks to include, e.g. `san-francisco-california, united-states`. These are Crunchbase location identifiers/permalinks and are passed through as entered.

## `numEmployeesEnum` (type: `string`):

Comma-separated employee-count buckets to include. Allowed values: c\_00001\_00010, c\_00011\_00050, c\_00051\_00100, c\_00101\_00250, c\_00251\_00500, c\_00501\_01000, c\_01001\_05000, c\_05001\_10000, c\_10001\_max.

## `foundedOnFrom` (type: `string`):

Only companies founded on or after this date (YYYY-MM-DD).

## `foundedOnTo` (type: `string`):

Only companies founded on or before this date (YYYY-MM-DD).

## `fundingTotalMin` (type: `integer`):

Only companies whose total funding is at least this many US dollars.

## `fundingTotalMax` (type: `integer`):

Only companies whose total funding is at most this many US dollars.

## `lastFundingType` (type: `string`):

Comma-separated last-funding-round types to include, e.g. `seed, series_a, series_b`.

## `rawQuery` (type: `array`):

Advanced escape hatch. An array of raw predicate objects appended verbatim to the query (AND-ed with the filters above). Each item must be { "type": "predicate", "field\_id": "...", "operator\_id": "...", "values": \[...] }. Use this for filters not surfaced as fields.

## `sortField` (type: `string`):

Field to sort results by. Sorting must stay stable across pages.

## `sortDirection` (type: `string`):

Ascending or descending. Company rank ascending puts the best-ranked companies first.

## `pageSize` (type: `integer`):

Records requested per API call (1-1000). Larger pages mean fewer API calls. Results are still capped by Maximum results.

## `maxResults` (type: `integer`):

Stop after this many records (1-5,000). Paged automatically. You are charged per result returned.

## `apiKey` (type: `string`):

Your own Crunchbase Data API key. Required. A paid key is needed because the free self-serve tier has been retired. Stored securely and never logged.

## Actor input object example

```json
{
  "sortField": "rank_org_company",
  "sortDirection": "asc",
  "pageSize": 100,
  "maxResults": 100
}
```

# 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 = {
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/company-funding-data-api").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 = { "maxResults": 100 }

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/company-funding-data-api").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 '{
  "maxResults": 100
}' |
apify call nabeelbaghoor/company-funding-data-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nabeelbaghoor/company-funding-data-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/hiVI5NRi3opcrvuN9/builds/amsJj8xOyeKdnzf1P/openapi.json
