DEV Community

Cover image for Venture Capital Data from Crunchbase: How to Pull Funding and Investors as JSON in 2026
Truffle Pig Data
Truffle Pig Data

Posted on

Venture Capital Data from Crunchbase: How to Pull Funding and Investors as JSON in 2026

Venture capital data has one natural habitat: Crunchbase, where funding rounds, investors, and firmographics sit on public organization pages. Getting that data out in bulk is the annoying part, because official access is priced for enterprises and copy-paste dies at about ten companies. I'll walk the manual route, show where it breaks, and then use the Crunchbase Company API on Apify, which turns a list of organization URLs into one clean JSON row per company.

Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.

Does Crunchbase have an API?

Yes, which surprises people. Crunchbase sells official API access, but it is tied to enterprise licensing: you talk to sales, sign a contract, and the price is not posted anywhere public. For a data team with budget, that is the right product. For a one-off enrichment batch, a side project, or an agent that looks up a company now and then, it is a wall. That is why searches for a Crunchbase API mostly land on scrapers you consume like an API: send organization URLs, get structured company records back.

What the Crunchbase Company API returns

The Crunchbase Company API returns one flat row per company: firmographics, a funding summary, investor names, acquisitions, rank and growth signals, and a plain-language summary, all as structured JSON.

Data point Example Notes
Company name and overview OpenAI plus a plain-language summary
Industry tags Artificial Intelligence with company type
Headquarters San Francisco, California region and country included
Employee-count band 1001-5000 a band, not an exact headcount
Funding summary total funding, round count with distinct investor names
Status Active operating and IPO status

Contact email, social links, and a web-traffic signal ride along too, and companies that fail to load come back as per-URL error records, so one dead link does not sink a 500-company batch.

Who this is for

VC and PE analysts pulling funding totals and investor names for target lists, sales teams enriching accounts with industry, HQ, and funding stage, and anyone giving an AI agent the ability to look up a company mid-conversation.

The manual way, and where it breaks

The DIY version is a spreadsheet with a URL column and an afternoon of copying fields off profile pages. The scripted version fetches those pages yourself, and that is where it gets ugly: Crunchbase blocks automated traffic aggressively, profiles render through JavaScript, and the markup shifts often enough that selectors rot. Ten companies by hand is fine. Five hundred means proxies, retries, and normalizing funding strings, and now you own a pipeline instead of a dataset.

The faster way: run the Crunchbase Company API

Apify Console

  1. Open the Crunchbase Company API and click Try for free.
  2. Paste your organization URLs into companyUrls.
  3. Run it and export the dataset as JSON, CSV, or Excel.

REST

curl -X POST "https://api.apify.com/v2/acts/johnvc~crunchbase-company-api/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "companyUrls": ["https://www.crunchbase.com/organization/openai"] }'
Enter fullscreen mode Exit fullscreen mode

Endpoint details live in the Apify API docs.

Pull Crunchbase company data in Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("johnvc/crunchbase-company-api").call(
    run_input={
        "companyUrls": [
            "https://www.crunchbase.com/organization/openai",
            "https://www.crunchbase.com/organization/anthropic",
        ]
    }
)

for company in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(company)
Enter fullscreen mode Exit fullscreen mode

Each printed row is one company; the fields worth reaching for first are the funding summary, the investor names, and the employee-count band. A runnable version lives in the task Crunchbase company data API for Python.

Build a venture capital dataset

The task Collect venture capital data from Crunchbase collects funding totals, round counts, and investor names across a target list, which is the core VC research loop.

Bulk-collect companies from a URL list

Bulk collect Crunchbase companies from a URL list runs a whole sheet of organization URLs in one batch, up to 1,000 per run.

Enrich the accounts already in your CRM

Enrich accounts with Crunchbase company data appends firmographics and funding stage to an account list you already have.

Extract funding rounds and investors

Extract funding investor data from Crunchbase narrows the output to the money: rounds, investor counts, and who participated.

Get raw structured JSON

Scrape Crunchbase company data to structured JSON is the minimal version: URLs in, standardized rows out.

Use it from Claude via MCP

Apify exposes the Actor over the Model Context Protocol, so Claude, Claude Code, and Cursor can pull a company profile mid-conversation: ask about a startup and the agent fetches funding and investors instead of guessing. The worked setup is in Get Crunchbase company data in Claude via MCP, and claude.ai is the place to start if you do not have Claude yet.

FAQ about scraping Crunchbase

Is there a free Crunchbase scraper, and what does this one cost?

Billing is per company returned: just under a cent each on the free tier, so a 1,000-company batch lands around nine dollars. New Apify accounts include free platform credit, which usually covers the first runs. That is cheaper than any licensed option I am aware of, and you only pay for rows that arrive.

Does Crunchbase have an official API, or do I need a scraper?

Both exist. The official API comes with enterprise licensing and unpublished pricing, which makes sense for large data teams. A scraper consumed as an API covers the public profile fields, pay as you go, with no contract.

Can I run the Crunchbase scraper from Claude or Cursor?

Yes. Connect the Apify MCP server and the Actor shows up as a callable tool; the agent passes organization URLs and reads the rows back.

Can I schedule the scraper to keep funding data fresh?

Yes. Save your URL list as a task, attach an Apify schedule, and re-run weekly or monthly; each run appends fresh rows so you can diff funding totals over time. Start from the Crunchbase Company API.

What can't a Crunchbase scraper see?

Anything that is not on the public organization page. Employee counts arrive as bands rather than exact numbers, and data behind a Crunchbase login stays there. Treat the output as the public slice, collected cleanly.

More from Truffle Pig Data

The same shelf holds related Actors for company and investor research: the PitchBook Company API for private-company profiles, the Startup Investors Data Scraper for investor lists, and SEC Investment Advisor Contacts for registered advisor records.

Wrapping up

Venture capital data does not need an enterprise contract when the fields you want sit on public pages. Point the Crunchbase Company API at your URL list and you will have structured rows before a sales call could even be scheduled.

Top comments (0)