How to use it: 3 steps
- Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
- Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example:
https://www.crunchbase.com/organization/apifyin Company URLs or slugs. Each start is one run. - Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.
This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.
What it does
Crunchbase scraper for public company profiles, company search, funding signals and Crunchbase News: give it a company link or a search, and get clean JSON or CSV rows with no login or cookies. Use it to find leads, track target companies and get only new records on a schedule; one company takes 3 to 15 seconds and costs about $0.0092 on the Free plan.
- Company profiles: full public profile for each company link, slug or exact name.
- Company search: up to 15 companies by name, country, industry, size or status.
- Public funding signals: up to 15 funding rounds by name or round type.
- Crunchbase News: public articles with full text, by search, category, tag or date.
Good for
- You have a list of companies and want location, size, industries, website and public people in one table.
- You build a lead list by country, industry and size, and 15 matches per search are enough.
- You watch Crunchbase News or target companies and want only new records on a schedule.
Who uses it
Sales teams
Build a lead list by country, industry and size.
Investors and analysts
Watch target companies and their funding rounds.
PR and media teams
Follow Crunchbase News on a schedule and get only new articles.
Price
Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.
| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.002 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| Public page check | $0.0072 (from $0.00504 on paid Apify plans) | One public company page read, including a company that was already seen or was not found, or a company name with no single match. A company search without full profiles or a funding search counts as one search page. Failed source requests are not charged. |
| New article | $0.0072 (from $0.00504 on paid Apify plans) | One new Crunchbase News article saved to the dataset. No extra page fee when a page returns new articles. |
| News page with no new articles | $0.0013 (from $0.00091 on paid Apify plans) | A page of up to 25 existing articles checked during repeat monitoring, when no new article from that page is saved. Empty responses and failed requests are not charged. |
Examples
- One company: about $0.0092.
- 1,000 companies: about $7.20.
- Every day 100 companies, for 30 days: about $21.66 a month.
Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 690 companies.
Prices checked on 8 November 2026. See the current price on Apify.
Questions
Do I need a Crunchbase account or cookies?
No. The Actor reads public pages only. You need no login, cookies or API key.
Why are the founding date and funding total empty?
Crunchbase often hides them from visitors who are not logged in. These fields are null, and unavailableFields lists them.
Can I get more than 15 search results?
Not from one search. Run narrower searches, or list the companies by link.
Do I pay when a company is not found?
Yes, one page check, because the page was read. A link to a missing page gives a not_found row and the run succeeds. A name with no match goes to failedItems, and if no name in the list has a match, the run fails. A request that fails at the source has no page charge.
How fresh is the data?
Each row shows what the public page had at fetchedAt. The Actor reads the page live on each run. It does not use a saved copy.
Details
Step by step on Apify
- Open the Input tab. Keep What to collect on Company profiles (box 1 in the picture).
- In Company URLs or slugs, keep the sample link or paste your own companies, one per line (box 2).
- Keep Maximum results at 1000 or set a lower limit (box 3).
- Click Start.
- Open the Output tab and the Company profiles view. Check the location, size, industries and website columns (box 5).
Use cases
| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Enrich a list of target accounts | companyUrls or companyNames | Company | hq, employees, categories, website | CRM import through CSV or API |
| Find leads by market | mode: search with country, category, employeeRange | Company | name, website, operatingStatus, people | Lead list or sales sheet |
| Spot companies with recent funding news | mode: funding with roundType | Funding round | name, company, companyUrl, roundType | Alert to Slack or Notion |
| Monitor startup and venture news | mode: news with onlyNew and a schedule | News article | title, url, publishedAt, companyPermalinks | Digest in Slack or Notion |
Tips for better results
- Search shows at most 15 matches. Run several narrow searches for more.
- Use onlyNew with a history name to get only new records on each run.
- The default timeout fits about 50 companies. Raise it for a longer list.
Limits and good to know
- Only public data: fields hidden from anonymous visitors are
nulland listed inunavailableFields - Company search and funding show at most 15 matches per search. Split a large market into smaller filters
- A bad company does not stop the batch: it goes to
failedItems. Three failures in a row stop the run, and the rest goes tounprocessed. If every company fails, the run fails. A list of names where no name has a match also fails, and it still pays one check per name, because the lookup was made - Each request waits up to 25 seconds. A refused page (HTTP 403) gets up to 6 attempts. Rate limits, server errors and network errors get up to 3. A slow response or a retried refused page can make a one-company run longer than 15 seconds
- If the source asks to wait more than 10 seconds (
Retry-After), that request fails at once and the Actor does not wait - A response can be up to 4 MiB, or 8 MiB from Crunchbase News. One larger page stops the whole run at once with
RESPONSE_TOO_LARGE, even in a batch, and the rest of the list goes tounprocessed. If only an extra block of a company page is too large, the row is saved aspartialwithfieldErrors - A row with one unreadable block is saved as
partialwithfieldErrors - When the timeout is near, the run stops and keeps the rows it saved. With useful rows the run succeeds with
status: partial; with no rows it fails
For developers
Sample result
One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.
{
"recordType": "company",
"status": "complete",
"source": "crunchbase",
"name": "Apify",
"url": "https://www.crunchbase.com/organization/apify",
"foundedOn": null,
"hq": "Prague, Hlavni mesto Praha, Czech Republic, Europe",
"employees": "251-500",
"categories": ["Developer APIs", "E-Commerce", "Enterprise Software", "Information Technology", "Internet", "Software"],
"website": "https://apify.com",
"fundingTotal": null,
"operatingStatus": "active",
"unavailableFields": ["foundedOn", "fundingTotal"],
"fetchedAt": "2026-11-05T09:11:41.916Z"
}Use it from code
Actor ID: cliqtomedia/crunchbase-companies. You need your Apify API token from Apify Console → Settings → API & Integrations.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/crunchbase-companies").call(run_input={
"mode": "companies",
"companyUrls": [
"https://www.crunchbase.com/organization/apify"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~crunchbase-companies/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "companies", "companyUrls": ["https://www.crunchbase.com/organization/apify"]}'# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool
tool = ApifyActorsTool("cliqtomedia/crunchbase-companies")
result = tool.invoke({"run_input": {"mode": "companies", "companyUrls": ["https://www.crunchbase.com/organization/apify"]}})
print(result)The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.
Data fields (18)
| Field | Type | Meaning |
|---|---|---|
recordType | string | Company profile or news article. |
status | string | A public record was read, or the company page does not exist. |
name | string | Company name or article title. |
url | string | Public source URL. |
description | string | Full public company description or news summary. |
foundedOn | string | Founding date if the public page shows it. Null means not available. |
hq | string | Public headquarters location. |
employees | string | Employee count band, not an exact headcount. |
categories | array | Public industries or news categories. |
website | string | Company website if public. |
fundingTotal | number | Public total funding. A hidden amount is null, not zero. |
fetchedAt | string | Time this record was read, in UTC. |
aliases | array | Other public names of the company. Null means no value was returned. |
continent | string | Continent from the public headquarters location. |
offices | array | Public company offices without personal contact details. |
categoryDetails | array | Industry labels with Crunchbase identifiers. |
categoryRanks | object | Industry rankings indexed by Crunchbase category identifier. |
source | string | Public source used for this record. |
Input settings (21)
The main fields of the input form. With the API you send them as JSON.
| Setting | Name in the API | Type | Example value |
|---|---|---|---|
| What to collect | mode | string | "companies" |
| Company URLs or slugs | companyUrls | array | ["https://www.crunchbase.com/organization/apify"] |
| Exact company names | companyNames | array | |
| Maximum results | maxItems | integer | 1000 |
| Name contains | query | string | |
| Country | country | string | |
| Industry | category | string | |
| Employee range | employeeRange | string | "any" |
| Operating status | operatingStatus | string | "any" |
| Funding round type | roundType | string | "any" |
| Read full company profiles | includeDetails | boolean | true |
| Return only new records | onlyNew | boolean | false |
| History store name | stateName | string | |
| News search | newsQuery | string | |
| News categories | newsCategory | string | |
| News tags | newsTag | string | |
| News from date | newsDateFrom | string | |
| News through date | newsDateTo | string | |
| Include article text | newsFullText | boolean | true |
| Send results to (optional) | deliveryConnector | string | |
| Notion page or channel (optional) | deliveryTarget | string |