Startup Breakout & Growth Radar
Pricing
$30.00 / 1,000 qualified company profiles
Startup Breakout & Growth Radar
Research up to 50 company domains for startup growth signals: ATS hiring intent, Google Ads Transparency, website technologies and public business contacts. Evidence-backed breakout scores with reasons. Pay only for profiles with at least two data sections.
Pricing
$30.00 / 1,000 qualified company profiles
Rating
0.0
(0)
Developer
HirePulse
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

Research startup growth signals across hiring, Google Ads Transparency, website technologies and public business contacts in one run. Submit a company domain or up to 50 domains and get structured company profiles with a 0–100 breakout score, plain-language reasons and source statuses.
Built for investor screening, venture scouting, startup research, sales prioritization and company watchlists. No external API key is required. This Actor checks public sources directly and does not call other paid Actors.
What you get
| Section | Public evidence |
|---|---|
| Hiring intent | Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards; open roles, recent dated postings, job functions and intent score |
| Google Ads | Up to 40 relevant creatives from Google Ads Transparency, advertiser and creative identifiers, last-shown dates and source links |
| Tech stack | Website signatures for analytics, advertising pixels, CMS, frameworks, payment systems and hosting; MX, SPF and DMARC signals |
| Contacts | Published emails, LinkedIn, X and GitHub profiles, explicit telephone links and page-level source evidence |
| Breakout summary | Signal, score, reasons and the documented gateway v12 method |
Quick start
- Click Try for free, enter
linear.appor paste your company domains. - Run the Actor. Each company's four sections are scanned in parallel.
- Open the Startup growth signals dataset table or download JSON, CSV or Excel.
{"domains":["linear.app","ramp.com"],"include_jobs":true,"max_jobs_per_company":10,"max_ads_per_company":40,"max_concurrency":3}
Use domain for a single company when domains is omitted. Duplicate domains are removed. Default input is linear.app. Submit public company homepages without paths, custom ports or credentials. Maximum 50 domains per run; concurrency 1–5.
Pricing and fair billing
$0.03 per qualifying company profile ($30 per 1,000). Pay per event, with no separate Actor-start fee and no platform-usage surcharge. A profile qualifies only when at least two of the four sections contain usable data. Contacts qualify only with a published email or social link, matching gateway v12; MX records and phones alone do not qualify.
Only qualifying profiles enter the charged dataset. Incomplete profiles are available free as DIAGNOSTIC-<domain> records in the run's key-value store. OUTPUT lists every processed domain, source status and billing eligibility. A source timeout or block is reported as unavailable rather than converted to a zero count. A run with no qualifying profiles can succeed with an empty dataset and no result events.
Use Apify's maximum charge setting to cap each run. The Actor stops scheduling batches after the SDK reports the limit. A batch already in flight may finish scanning; you are charged only within your configured event budget.
How the score works
The breakout_summary is a faithful port of HirePulse gateway version 12 for /v1/company-profile, including thresholds and reason text:
| Component | Formula | Maximum |
|---|---|---|
| Hiring | Round half of the public job-board intent_score | 50 |
| Google Ads | 15 + min(15, creatives in sample), when the section is ok | 30 |
| Site maturity | min(20, 4 × (pixels + analytics tools) + 8 if at least 10 technologies) | 20 |
Strong ≥70; moderate ≥45; weak ≥20; none <20. Fewer than two successful scoring sections (hiring, ads and tech) yields insufficient_data with a null score. Contacts contribute to profile completeness and billing, but never add score points. A billable profile can therefore have a null score, for example hiring plus contacts.
Hiring intent uses the same v12 formula: min(50, log2(1 + open roles) × 7) + min(35, dated roles posted in 30 days × 3.5) + min(15, sales/marketing/customer-success roles × 3), rounded and capped at 100. Undated roles are not counted as recently posted. Greenhouse update timestamps and reposted jobs may not represent original opening dates; review individual job evidence.
The breakout score is an estimate based on public signals and is not investment advice. It does not establish revenue growth, funding, valuation, financial performance or future returns. Google does not disclose ad spend here. The v12 formula's “Active Google Ads” wording refers to the returned relevance sample; creatives can be historical. Review last-shown dates before concluding a campaign is currently active. A tech signature shows public site maturity, not the completeness of internal infrastructure.
Output
Each dataset item includes domain, status, checked_at, sections_status, sections_with_data, tech_stack, hiring_intent, google_ads, contacts, breakout_summary and flat columns for spreadsheet workflows. JSON retains the detailed nested evidence. The run summary is linked in the Output tab.
Real output from cloud validation
These are unmodified field excerpts from live Apify runs; omitted evidence remains in the complete JSON dataset. Source availability and scores can change on later runs.
Run z9QyzlpHjbjxawx37:
{"domain": "linear.app","checked_at": "2026-10-25T21:19:16.726466+00:00","status": "ok","sections_with_data": ["tech_stack","hiring_intent","google_ads","contacts"],"breakout_summary": {"signal": "strong","score": 73,"reasons": ["Hiring: active_hiring, 10 roles posted in the last 30 days (+43).","Active Google Ads: 26 ads in the sample (+30).","Site maturity: 0 ad/analytics tools, 3 technologies (+0)."],"method": "score = half of the hiring intent_score (max 50) + Google Ads activity (max 30) + site ad/analytics maturity (max 20). strong >= 70, moderate >= 45, weak >= 20. Estimate from public signals only; not investment advice."},"open_roles": 34,"ads_count": 26}
Run Kvb1bZTfQCW0un7CB:
{"domain": "ramp.com","checked_at": "2026-10-25T21:21:35.331023+00:00","status": "ok","sections_with_data": ["tech_stack","hiring_intent","contacts"],"breakout_summary": {"signal": "moderate","score": 50,"reasons": ["Hiring: hypergrowth, 40 roles posted in the last 30 days (+50).","Site maturity: 0 ad/analytics tools, 4 technologies (+0)."],"method": "score = half of the hiring intent_score (max 50) + Google Ads activity (max 30) + site ad/analytics maturity (max 20). strong >= 70, moderate >= 45, weak >= 20. Estimate from public signals only; not investment advice."},"open_roles": 167,"ads_count": null}
Integrations
Apify MCP
Connect your MCP client to https://mcp.apify.com and authorize your Apify account. Ask: “Run hirepulse/startup-breakout-radar for linear.app and ramp.com, then return domain, breakout_summary, hiring and contact evidence.” Discover the Actor input schema first, call the Actor using the MCP server's Actor execution tool, then retrieve its dataset. Tool names vary with your MCP client/server tool selection. The same input JSON above works through MCP.
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("hirepulse/startup-breakout-radar").call(run_input={"domains": ["linear.app", "ramp.com"]},max_total_charge_usd=0.10,)for company in client.dataset(run["defaultDatasetId"]).iterate_items():print(company["domain"], company["breakout_summary"])
cURL
curl --request POST \'https://api.apify.com/v2/acts/hirepulse~startup-breakout-radar/run-sync-get-dataset-items?maxTotalChargeUsd=0.10' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data '{"domains":["linear.app"]}'
For larger lists, start an asynchronous run with /runs, poll its status, and fetch /v2/datasets/{defaultDatasetId}/items; synchronous endpoints have a time limit.
n8n
Use an Apify → Run Actor node with hirepulse/startup-breakout-radar and {"domains":["{{$json.domain}}"]}. Wait for completion, use Get Dataset Items, then filter breakout_summary.signal for strong or moderate. Map the score, reasons, open roles and public email fields into your research sheet or CRM. Use the OUTPUT summary to handle nonqualifying companies. Set an Apify maximum-charge budget.
Clay
In Clay's Apify integration, choose a saved task for this Actor or use an HTTP API enrichment. Map your company-domain column into domain, wait for the asynchronous run, and retrieve the dataset. Map breakout_score, breakout_reasons, open_roles, ads_count and contact_emails into columns. Avoid sending 50 domains through a short synchronous HTTP enrichment; use an asynchronous workflow for batches.
Coverage and limitations
- This Actor researches a supplied company list. It does not discover every startup, investors, funding rounds or cap tables from the open web.
- A one-time scan measures current public observations, not a longitudinal growth rate. Schedule repeated runs and compare results to build a history.
- Six supported ATS families do not cover every hiring site. Missing or inaccessible boards produce an explicit status. A board matched only by name is marked
unverifiedand can belong to a different company; review it before using the signal. At most 300 jobs are returned for scoring, with truncation flagged. - Google can rate-limit, block or change its public response format. That section may be unavailable while other sections still return evidence. Up to 40 relevance-ranked creatives are a sample, not an exhaustive campaign inventory or proof of current spend.
- Only public homepage and common contact/about/team/careers pages are checked for contacts. No private records, inferred email addresses, authentication or individual mailbox tests are used.
- DNS and technology signatures can be stale, incomplete or hidden behind consent controls. Absence of a signature is not proof that a technology is unused.
- Input URLs and redirects to private/reserved addresses are rejected. No customer-provided target is used as a paid upstream service.
FAQ
Why is my company missing from the dataset? It did not have two usable sections. Read the OUTPUT summary and its free DIAGNOSTIC record.
Why is a profile charged with no breakout score? Two sections can qualify for billing while fewer than two of hiring, Google Ads and tech are available. Contacts improve research coverage without adding score points.
Can I monitor companies? Save a task, schedule it in Apify, and compare datasets across runs. This Actor does not automatically retain previous job or revenue history.
Can I export or integrate the results? Yes: JSON, CSV, Excel, API, MCP, n8n and Clay.
For support, use the Actor's Issues tab and include your run ID and affected domain, without posting credentials.