Dealroom Power Law Company Profiles Scraper
Pricing
Pay per event
Dealroom Power Law Company Profiles Scraper
Filter 9,000+ companies from Dealroom public Power Law data by sector, country, tier, year, and valuation, with optional public profile enrichment.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Export startup and scale-up intelligence from Dealroom’s anonymous public Power Law index.
Filter more than 9,000 indexed companies by sector, country, tier, founding year, valuation, or profile URL.
Optionally enrich selected companies from their public dealroom.co profile pages.
The Actor uses direct HTTP requests—no login, browser, or proxy is required.
It intentionally does not access locked data from app.dealroom.co.
What does this Dealroom scraper do?
The Actor downloads Dealroom’s public Power Law index once per run, validates its structure, applies filters locally, and saves normalized company records to the default dataset.
You can use it to:
- build startup and scale-up market maps;
- refresh CRM company lists;
- compare valuation cohorts;
- find companies by sector, country, or Power Law tier;
- collect public IPO and exit labels;
- enrich selected profiles with public KPI ranges and investor groups;
- monitor changes by scheduling repeat runs and comparing datasets.
Optional enrichment adds only information rendered on anonymous public profile pages.
Ranges such as $10–50B remain ranges; the Actor does not invent or unlock exact premium values.
Who is it for?
- VC and PE analysts building sector, geography, and valuation cohorts.
- Startup scouts finding companies that match an investment thesis.
- Corporate development teams researching competitors, acquisitions, and market structure.
- B2B sales teams preparing targeted account lists for CRM import.
- Market researchers tracking public company, talent, footprint, and sentiment signals.
- Data teams feeding Dealroom’s public index into warehouses, spreadsheets, or BI tools.
Choose this Actor when the public Power Law company universe is the right source.
It is not a replacement for a licensed Dealroom account or the locked app.dealroom.co product.
Why use this Actor?
- HTTP-first: no browser overhead or browser-level anti-bot complexity.
- Large public universe: the observed index contains 9,052 company records.
- Local filtering: one index request supports multiple filters efficiently.
- Precise targeting: pass Dealroom company profile URLs for a bounded company list.
- Optional enrichment: avoid profile requests when index fields are enough.
- Typed output: stable field names for datasets, APIs, and integrations.
- Transparent gaps: unavailable profile enrichment is marked rather than silently fabricated.
- Conservative requests: profile enrichment concurrency defaults to 3 and is capped at 8.
What data can you extract?
| Field | Meaning |
|---|---|
name, slug | Company identity in Dealroom |
industries | Detailed industry labels from the index |
headquarters, country | Public headquarters location |
sector | Simplified Dealroom sector |
foundedYear | Founding year |
valuationUsd | Numeric valuation from the public index |
valuationLabel | Compact displayed valuation such as $13B |
tier | Power Law tier such as Unicorn or Decacorn |
exitStatus | Public IPO or exit label |
logoUrl | Public company logo URL |
profileUrl | Public dealroom.co company profile |
publishedLocally | Published-locally flag reported by the index |
description | Public JSON-LD description when enriched |
valuationRange | Public profile valuation range |
valuationDate | Caption or date attached to valuation |
revenueRange | Public profile revenue range |
headcountRange | Public profile team-size range |
investorsByStage | Public investor names grouped by entry stage |
ownershipSummary | Text from the public ownership section |
alumniSummary | Text from the public company-mafia section |
footprintSummary | Text from the public global-footprint section |
talentSummary | Text from the public talent-graph section |
patentSummary | Text from the public patent section |
dealsSummary | Text from public investments and acquisitions |
sentimentSummary | Text from the public market-sentiment section |
enrichmentStatus | not_requested, enriched, or unavailable |
sourceGeneratedAt | Timestamp reported by the source index |
scrapedAt | Timestamp when this Actor produced the record |
Fields may be null when Dealroom does not publish the corresponding value.
Section summaries are normalized public text and are capped to keep records practical.
Getting started
- Open the Actor input page.
- Leave company URLs empty to search the full public Power Law index.
- Add country, sector, tier, year, valuation, or text filters.
- Set
maxItemsto the maximum records you need. - Enable
enrichProfilesonly when public profile details are useful. - Start the run.
- Export the dataset as JSON, CSV, Excel, XML, or another supported format.
A small index-only run is the fastest way to test a new filter combination.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | empty | Dealroom company profile URLs or slugs |
searchTerms | string array | [] | Every term must match identity, industry, location, sector, or tier text |
countries | string array | [] | Exact country names, case-insensitive |
sectors | string array | [] | Exact simplified sectors, case-insensitive |
tiers | string array | [] | Exact Power Law tiers, case-insensitive |
foundedFrom | integer | unset | Earliest founding year |
foundedTo | integer | unset | Latest founding year |
valuationMinUsd | integer | unset | Minimum index valuation in USD |
valuationMaxUsd | integer | unset | Maximum index valuation in USD |
enrichProfiles | boolean | false | Fetch public company profile pages |
maxItems | integer | 100 | Maximum saved companies, up to 9,052 |
profileConcurrency | integer | 3 | Concurrent profile requests, from 1 to 8 |
All filters also apply to companies supplied through startUrls.
Unknown URLs are reported in the log and are not emitted as made-up records.
Duplicate profile URLs fail validation to prevent duplicate output.
Example: search for US AI unicorns
{"countries": ["United States"],"sectors": ["AI"],"tiers": ["Unicorn"],"maxItems": 100}
Example: enrich one public profile
{"startUrls": [{ "url": "https://dealroom.co/companies/openai" }],"enrichProfiles": true,"maxItems": 1}
Output example
A current enriched profile record has this shape:
{"name": "OpenAI","slug": "openai","industries": ["Enterprise Software"],"headquarters": "San Francisco, United States","country": "United States","sector": "AI","foundedYear": 2015,"valuationUsd": 852000000000,"valuationLabel": "$852B","tier": "Centicorn","exitStatus": null,"profileUrl": "https://dealroom.co/companies/openai","description": "Maker of ChatGPT. AI research and deployment focused on AGI and generative models","valuationRange": "$500B–1T","valuationDate": "Latest valuation · Mar/2026","revenueRange": "$10–50B","headcountRange": "5–10k","investorsByStage": [{ "stage": "Seed", "investors": ["Khosla Ventures", "Y Combinator"] }],"enrichmentStatus": "enriched","sourceGeneratedAt": "2026-05-01T11:32:57.142Z","scrapedAt": "2026-07-28T04:00:00.000Z"}
Source values can change between runs. The dataset schema includes every emitted field, including optional section summaries.
How much does it cost to scrape Dealroom company profiles?
The Actor uses pay-per-event pricing:
- a $0.005 start fee per run;
- one
itemevent for each company record saved; - no separate event charge for optional profile enrichment.
Current item pricing decreases by platform tier:
| Tier | Price per saved company |
|---|---|
| Free | $0.00115 |
| Bronze | $0.00100 |
| Silver | $0.00078 |
| Gold | $0.00060 |
| Platinum | $0.00040 |
| Diamond | $0.00028 |
At the Free-tier event price, 100 saved companies cost about $0.12, including the start fee. One thousand saved companies cost about $1.16. A one-company enriched profile costs about $0.0062.
You are charged for saved company records, not rejected filters, missing profiles, or failed records. Apify displays the exact charge estimate for your account and run.
Efficient and reliable runs
- Start with index-only output and enable enrichment only when needed.
- Use
startUrlsto bound a known account list. - Apply filters before raising
maxItems. - Keep
profileConcurrencyat 3 unless you have measured a larger workflow. - Schedule repeat runs at a cadence appropriate for the source snapshot.
- Use
sourceGeneratedAtto distinguish source freshness fromscrapedAt. - Treat an empty dataset as a valid no-match result when filters are restrictive.
The Actor retries transient network and server failures with bounded retries. Malformed input, unsupported domains, and structurally invalid source responses fail the run rather than returning misleading empty success.
Limitations
- Coverage is limited to Dealroom’s anonymous public Power Law index.
- The Actor does not log in or access
app.dealroom.co. - Public profiles can expose ranges instead of exact premium values.
- Profile sections vary by company; absent sections remain
nullor empty. - Dealroom may update field labels, HTML structure, records, or the index generation schedule.
maxItemsfollows source order after filtering; it is not a custom ranking algorithm.- Text search is a case-insensitive substring match, not semantic search.
- Profile enrichment is HTTP-based and does not execute client-side interactions.
Workflow ideas
VC market map
Filter by country, sector, tier, and founding year. Export CSV to a spreadsheet, then add internal thesis and owner columns.
CRM refresh
Supply known Dealroom profile URLs, enable enrichment, and map stable slug or profileUrl values to CRM company IDs.
Use scrapedAt for refresh auditing.
Valuation cohort monitor
Schedule a recurring run with valuation thresholds.
Compare valuationUsd, valuationLabel, and tier against the previous dataset.
Corporate development research
Enrich a bounded company list and inspect public investor, ownership, footprint, patent, deals, and sentiment sections. Treat these fields as research signals, not investment advice.
Data warehouse ingestion
Call the Actor through the API, wait for completion, and load the default dataset items endpoint into your warehouse.
Use the stable field names from dataset_schema.json.
API usage with cURL
Replace APIFY_TOKEN with your token:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~dealroom-power-law-company-profiles-scraper/runs?token=APIFY_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"countries": ["United States"],"sectors": ["AI"],"maxItems": 25}'
Fetch results from the run’s defaultDatasetId or use an Apify client.
API usage with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/dealroom-power-law-company-profiles-scraper').call({countries: ['United States'],sectors: ['AI'],enrichProfiles: false,maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/dealroom-power-law-company-profiles-scraper").call(run_input={"countries": ["United States"],"sectors": ["AI"],"maxItems": 25,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/dealroom-power-law-company-profiles-scraper"
Claude Desktop
Add this JSON to your Claude Desktop MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/dealroom-power-law-company-profiles-scraper"}}}
Cursor
Add the same mcpServers.apify entry to your Cursor MCP settings, then restart Cursor so the Actor tool is discovered.
VS Code
Add the same HTTP MCP server URL through your VS Code MCP extension or workspace MCP configuration.
Keep APIFY_TOKEN in the client environment when authentication is requested; never commit it.
Example prompts:
- “Find up to 50 US cybersecurity unicorns in Dealroom.”
- “Enrich these five public Dealroom company profile URLs.”
- “Build a CSV-ready list of UK fintech companies founded since 2020.”
Integrations
Send dataset results to:
- Google Sheets for analyst review;
- Airtable or a CRM for account enrichment;
- Slack or email for monitored cohort changes;
- BigQuery, Snowflake, or another warehouse;
- Zapier or Make for no-code workflows;
- custom applications through
apify-client.
Use stable URL or slug fields for deduplication. Do not use company names alone as identifiers because names can change or collide.
Responsible use and legality
This Actor accesses anonymous public pages at dealroom.co.
You are responsible for complying with Dealroom’s terms, applicable law, and your organization’s policies.
Do not use results for unlawful discrimination, harassment, spam, or misleading financial claims. Do not treat valuation ranges or sentiment indicators as verified investment advice. Store and share company data only for a lawful purpose. The Actor does not bypass authentication or unlock premium fields.
Troubleshooting
Why did my run return zero records?
Check exact country, sector, and tier spellings.
All searchTerms must match each company, and all filters are combined.
Start with one filter, inspect results, and then narrow the input.
Why is enrichmentStatus set to unavailable?
The index record was saved, but the corresponding public profile could not be parsed or fetched. Inspect the run log and retry later if the source had a transient problem. The Actor does not fabricate enrichment fields.
Why was my URL rejected?
Only dealroom.co/companies/{slug} profile URLs or plain company slugs are supported.
Locked app.dealroom.co URLs and unrelated domains are intentionally rejected.
Why are valuation or revenue values ranges?
That is how Dealroom renders those values publicly. The Actor preserves ranges instead of claiming unavailable precision.
How do I reduce runtime?
Disable enrichProfiles, lower maxItems, or provide a short startUrls list.
The full public index is fetched only once per run.
Related Automation Lab actors
- Craft.co Company Intelligence Scraper for another public company-intelligence source.
- Tracxn Startup & Company Intelligence Scraper for startup discovery from Tracxn’s public surface.
- LinkedIn Company Scraper for public company presence and profile fields on LinkedIn.
- SEC Company Facts API Scraper for official US public-company filing facts.
Use related Actors only when their source and output match your research objective.
FAQ
Does this Actor require a Dealroom account?
No. It targets the anonymous public Power Law index and public company profile pages.
Does it use a proxy or browser?
No by default. The current routes work with direct HTTP requests.
Can I scrape all indexed companies?
Yes. Set maxItems up to 9,052, subject to the current source size.
Start with a smaller run to verify the output and cost.
Does enrichment cost a separate event?
No. Each saved company emits one item event whether enrichment is disabled, successful, or unavailable.
Can I filter explicit profile URLs?
Yes. Country, sector, tier, year, valuation, and search filters are applied to explicit profile selections too.
Is the data real-time?
No guarantee is made. sourceGeneratedAt reports the source snapshot timestamp, while scrapedAt reports when the Actor emitted the record.
What happens if Dealroom changes the response format?
The Actor validates status, content type, and index shape. A structural index failure stops the run rather than returning a misleading empty dataset. Optional profile failures preserve valid index records and mark enrichment unavailable.