Website Lead Intelligence — Find the Right Person, Verified
Pricing
from $100.00 / 1,000 results
Website Lead Intelligence — Find the Right Person, Verified
Website Lead Intelligence turns company websites into send-ready B2B leads — find the right person, verified emails, decision-makers, buying committee, lead scoring and a clear next action for cold email outreach, CRM enrichment and sales prospecting.
Pricing
from $100.00 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Website Lead Intelligence: Find the Right Person, Verified Emails & Send-Ready Leads
Turn a list of company websites into a scored, send-ready outreach list — verified emails, named decision-makers, a mapped buying committee, and one clear next action for every lead.
🔗 Paste URLs → Start → watch verified contacts stream into Output in real time.
📑 Table of Contents
- What Is Website Lead Intelligence?
- What Data Can You Extract From Company Websites?
- How It Works
- How to Use (Apify Console)
- Input Parameters
- Output Example
- Related Actors & Workflows
- Frequently Asked Questions
- Support & Contact
🎁 What Is Website Lead Intelligence?
Website Lead Intelligence is an Apify Actor built for B2B lead generation and sales prospecting: you give it company domains (or business names), and it returns a prioritized outreach list with the right person to contact — not just a generic info@ inbox.
It is a purpose-built website lead intelligence and find the right person tool: every domain becomes one scored lead with website contact extraction, email finder results, optional email verification, lead scoring, and a plain-English send decision (SEND_NOW, VERIFY_FIRST, ENRICH_MORE, or SKIP). Because it runs on the Apify platform, you get scheduling, run monitoring, a REST API for every dataset, webhooks, and export to JSON/CSV/Excel — so your sales intelligence pipeline stays automated instead of manual copy-paste from websites.
This is not a static contact database and not a generic dump of every email on a page. It is a send-decision engine for account-based sales and cold email leads: each website comes back with who to contact, how confident the data is, and what to do next.
📊 What Data Can You Extract From Company Websites?
For CRM enrichment, lead enrichment, and building a target account list, one run gives you six layers of data per website:
- 🌐 The company itself — domain, URL, company type, company meta, addresses, business hours, social links, and whether a contact form was detected.
- 📧 Contact channels — personal emails, generic emails, phones, and verified emails with status and confidence so your email verification step is already done before you send.
- 🙋 Named contacts & decision-makers — people found on team/about pages, ranked by seniority, with titles, a best-contact pick, and a suggested first-touch opening line.
- 🤝 Buying committee & account intelligence — decision-makers vs influencers vs champions, department coverage, pain signals, “why now” timing, and account readiness for account-based sales.
- 🚦 Lead scoring & send decision — a 0–100 lead score, A/B/C decision tier, bounce-risk bucket, and one next action so your send-ready leads are obvious at a glance.
- 🛟 Recovery when a site is thin or blocked — failed or sparse domains still return a full record with failure context and a recovery plan, instead of vanishing from your B2B lead scraper results.
Use it for sales prospecting, building a multi-threaded buying committee, turning domains into cold email leads, watching a target account list for changes, or feeding structured sales intelligence into Instantly, Smartlead, HubSpot, Salesforce, Notion, or Slack.
🔧 How It Works
- Add your targets. Paste company websites, or discover sites from business names / niche footer phrases.
- Pick a Goal (optional). Quick outreach, high deliverability, or max coverage — the Actor sets depth and verification dials for you.
- Each website is read for public signals. Home, about, team, contact, and related pages are checked for people, emails, phones, and company cues.
- Contacts are organized. Named people are ranked; personal vs generic inboxes are separated; optional gap-fill suggests likely emails for people without a published address.
- Emails can be verified. Turn on verification to confirm deliverability and flag catch-all domains before you put addresses into outreach.
- Every lead is scored and decided. You get a lead score, decision tier, buying-committee map, and one clear next action.
- Results stream live. Rows appear in the Output dataset as soon as each site is ready — with optional CRM webhook, ready-to-import CSVs, Notion, and Slack delivery.
- Optional watchlist mode. Re-run the same list later to spot new hires, new personal emails, or tier upgrades on your target account list.
🚀 How to Use (Apify Console)
- Open this Actor on Apify Console → Actors.
- Paste your website URLs (or business names / footer phrases).
- Optionally choose a Goal so presets and confidence mode configure themselves.
- Click Start and open the Output tab — send-ready leads appear as each site finishes.
- Switch dataset views (Overview, Contacts, Scoring, Decisioning, Account Intelligence, Monitoring).
- Export JSON / CSV / Excel, or enable Instantly / Smartlead / HubSpot / Salesforce / Notion / Slack delivery for the next run.
- Call the same run via the Apify API when you want website lead intelligence inside your own stack.
🤖 Quick API example
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["https://apify.com", "https://stripe.com", "https://notion.so"]}'
🧩 Input Parameters
Only Website URLs is truly required — everything else has a sensible default. Fields below are grouped the same way they appear in the input form.
🚀 Quick Start
| Field | Type | Description | Default |
|---|---|---|---|
goal | string (quick-outreach | high-deliverability | max-coverage) | Outcome dial that auto-sets depth + verification for lead generation runs. | unset |
preset | string (auto | fast | balanced | maximum) | How deep to scan each site. auto follows your Goal (or balanced). | auto |
confidenceMode | string (safe | balanced | aggressive) | Risk appetite for which emails keep — use safe for careful cold outreach. | follows Goal / balanced |
🔗 What to Process
| Field | Type | Description | Default |
|---|---|---|---|
urls | array of strings | Company websites to process (bulk paste, up to 500). Core input for this company website scraper. | [] |
knownNames | array of strings | Business names resolved to official websites via search when you do not have URLs. | [] |
footerPhrases | array of strings | Distinctive niche phrases (exact-match search) to discover similar businesses at once. | [] |
nameSuffix | string | Appended to name searches (e.g. "plumbing", "law firm") to disambiguate. | "" |
discoveryCountry | string (US | UK | CA | AU | EU) | Localizes discovery search / TLD filtering. | US |
maxResultsPerQuery | integer | Search results kept per footer-phrase query. | 50 |
maxDiscoveredDomains | integer | Cap on domains discovered from names/phrases (does not cap direct URLs). | 1000 |
excludeDomains | array of strings | Permanent skip list for domains you never want in results. | [] |
🕸️ Crawl Depth & Coverage
| Field | Type | Description | Default |
|---|---|---|---|
maxPagesPerDomain | integer (1–20) | Max pages read per website. Blank = use preset. | preset |
deepScan | boolean / unset | Also check legal / imprint / support-style pages (helpful for EU sites). | preset |
includeNames | boolean | Extract named contacts — the core find the right person job. | true |
includeSocials | boolean | Collect LinkedIn, X, Facebook, Instagram, YouTube and other social links. | true |
sitemapDiscovery | boolean | Use sitemap hints to find About / Team / Contact pages with unusual paths. | true |
customProbePaths | array of strings | Extra paths (e.g. /meet-the-team) checked on every site. | [] |
respectRobotsTxt | boolean | Honor each site’s robots.txt rules. | true |
crawlDelayMs | integer | Politeness delay between requests to the same domain. | 0 |
📧 Email Verification & Gap-Filling
| Field | Type | Description | Default |
|---|---|---|---|
verifyEmails | boolean / unset | Run email verification on found addresses and flag catch-all domains. | preset |
emailVerificationProvider | string (mx_smtp | zerobounce | none) | Built-in check by default, or ZeroBounce if you supply its API key. | mx_smtp |
fillMissingEmails | boolean / unset | For named people without a published email, suggest + verify likely pattern addresses. | preset |
maxEmailPatternsToVerify | integer | Cap on generated address checks per site. | 3 |
enableProFallback | boolean / unset | Re-render JS-heavy sites in a real browser when static HTML is empty. | preset |
📈 Change Monitoring
| Field | Type | Description | Default |
|---|---|---|---|
compareToPrevRun | boolean | Compare each domain to the previous run on the same watchlist. | false |
monitorStateKey | string | Name for the watchlist history (auto-derived if blank). | auto |
🗂️ Output Shaping
| Field | Type | Description | Default |
|---|---|---|---|
autoFilter | string (none | send-now-only | safe-only | max-leads) | Keep only the send-ready leads (or safe / non-skip) you care about. | none |
outputProfile | string (full | standard | minimal) | How many fields to keep per row. | full |
minLeadScore | integer (0–100) | Drop sites below this lead scoring threshold. | none |
requirePersonalEmail | boolean / unset | Keep only leads with a personal (non-generic) email. | confidence mode |
companyTypes | array | Restrict to industries (SaaS, agency, legal, healthcare, etc.). | [] |
outputFormat | string (json | ndjson | csv) | Format of the combined file in the key-value store. | json |
🚚 Delivery & Integrations
| Field | Type | Description | Default |
|---|---|---|---|
exportFormats | array | Ready-to-import CSVs: Instantly, Smartlead, Lemlist, Apollo, HubSpot, Salesforce, Mailshake, Outreach, Woodpecker, generic. | [] |
crmWebhookUrl | string | POST each lead live for CRM enrichment as it is produced. | none |
crmFormat | string (generic-json | hubspot | salesforce) | Shape of the webhook body. | generic-json |
crmOnlyTierA | boolean | Only push top-tier (A) leads to the CRM webhook. | false |
notionConnector | boolean | Post a digest / per-lead pages to Notion (NOTION_API_KEY required). | false |
notionDatabaseId | string | Target Notion database ID. | none |
notionArchiveProfile | string (summary | per-lead) | One summary page vs one page per lead. | summary |
slackConnector | boolean | Post a run digest to Slack (SLACK_BOT_TOKEN required). | false |
slackChannel | string | Channel for the digest (e.g. #sales-leads). | none |
deliverTopN | integer | How many top-ranked leads appear in Notion/Slack digests. | 10 |
⚡ Performance & Network
| Field | Type | Description | Default |
|---|---|---|---|
proxyConfiguration | object | Optional. Starts direct by default; can escalate automatically if a site pushes back. | no proxy |
concurrency | integer (1–50) | How many websites process in parallel. | 10 |
retryAttempts | integer | Retries per request before giving up on that attempt path. | 3 |
requestTimeoutSeconds | integer | Per-request timeout. | 20 |
searchProvider | string | Provider used only for name/phrase discovery. | duckduckgo |
dryRun | boolean | Validate input without outbound network calls. | false |
📦 Output Example
Each processed website becomes one JSON object in your dataset as soon as it is scored. Field names below match the Actor output.
{"recordType": "lead","domain": "apify.com","url": "https://apify.com","companyType": "saas","emails": ["hello@apify.com"],"personalEmails": [],"genericEmails": ["hello@apify.com"],"verifiedEmails": [{ "email": "hello@apify.com", "status": "valid", "confidence": 90 }],"generatedEmails": [],"phones": [],"contacts": [],"bestContact": null,"leadScore": 30,"decision": {"tier": "C","reason": "Generic emails only — use Email Pattern Finder for personal addresses"},"sendDecision": {"action": "ENRICH_MORE","riskLevel": "high","reasons": ["Only generic inboxes found on the public site"]},"isContactable": true,"isSendable": false,"companyIntelligence": {"maturityBand": "startup","trustScore": 40},"buyingCommittee": {"decisionMakers": [],"size": 0},"pipelineValue": {"rankInBatch": 1,"relativeScore": 1.0},"plainEnglishSummary": "No contact data found on apify.com's public website. The recovery plan suggests next-best tools.","firstTouch": null}
A final ranked list is also stored in the run’s key-value store as OUTPUT, with a RUN_SUMMARY and any CSV exports you requested.
🗂️ Dataset views (Output tab)
| View | What you see |
|---|---|
| 🔎 Overview | Domain, tier, lead score, best contact, next action — at a glance |
| 👤 Contacts & Company | Emails, phones, named contacts, socials, addresses, company info |
| 📊 Scoring & Confidence | Lead score, data quality, confidence, catch-all flags |
| 🚦 Send Decision & Recovery | Next action, bounce risk, recovery plan if the site was thin/blocked |
| 🧠 Account Intelligence | Buying committee, pain signals, timing, pipeline priority |
| 📈 Change Monitoring | What changed vs the previous watchlist run |
🧩 Nested field shapes
| Object / array | Useful fields | Notes |
|---|---|---|
verifiedEmails[] | email, status, confidence | Outcome of email verification for verified emails |
contacts[] / bestContact | name, title, email, score | Named people for decision-makers outreach |
decision | tier, reason | A / B / C priority for your outreach list |
sendDecision | action, riskLevel, reasons | SEND_NOW / VERIFY_FIRST / ENRICH_MORE / SKIP |
buyingCommittee | decisionMakers, influencers, size | Multi-threaded account-based sales map |
companyIntelligence | maturity, trust, intent-style signals | Context for sales intelligence messaging |
recoveryPlan | method, nextBestTool | What to try when website contact extraction was incomplete |
🔗 Related Actors & Workflows
If you need website lead intelligence — find the right person, verified emails, lead scoring, and a send decision from company websites — this Actor is the one you want.
It pairs well with:
| Need | How this Actor helps |
|---|---|
| B2B lead scraper for domains you already have | Paste urls and export send-ready leads |
| Email finder + email verification in one pass | Enable verifyEmails / fillMissingEmails |
| CRM enrichment into HubSpot / Salesforce / Instantly | Use exportFormats or crmWebhookUrl |
| Ongoing target account list monitoring | Turn on compareToPrevRun + an Apify Schedule |
| Niche discovery without a URL list | Use knownNames or footerPhrases as a company website scraper seed |
If you only need a raw dump of every email string on a page with no ranking, verification, or next action, a simpler contact scraper may be enough. This Actor is for teams that need sales prospecting quality: the right person, confidence, and a clear send decision.
❓ Frequently Asked Questions
🎯 What is Website Lead Intelligence used for?
Website Lead Intelligence turns company domains into a prioritized outreach list for B2B lead generation, cold email leads, and account-based sales. Each site returns contacts, optional verified emails, lead scoring, and one next action — so sales prospecting starts from decisions, not raw scrapes.
🙋 How does “find the right person” differ from a normal contact scraper?
A typical contact scraper lists every email it sees. This Actor ranks named contacts, separates personal vs generic inboxes, maps a buying committee, and picks a best contact with a first-touch suggestion — so find the right person is the product, not an afterthought.
📧 Does it provide email verification for verified emails?
Yes. When verification is on, addresses are checked and returned under verifiedEmails with status and confidence, and catch-all domains are flagged. That keeps email verification inside the same website lead intelligence run as discovery.
🧩 Can it work as an email finder when a person has no published address?
Optionally. With fill-missing enabled, the Actor can suggest likely pattern-based addresses for named people and (when verification is on) check them before you treat them as send-ready leads. Generated suggestions are labeled separately from published emails.
🏢 Can I run lead generation without a URL list?
Yes. Use business names or niche footer phrases to discover websites, then process them like a normal company website scraper / B2B lead scraper run. Direct urls remain the fastest path when you already have a target account list.
🤝 Does it map a buying committee for account-based sales?
Yes. Account intelligence groups people into decision-maker / influencer-style roles and reports department coverage so account-based sales teams can multi-thread instead of emailing a single generic inbox.
📊 How does lead scoring help sales intelligence?
Each website gets a lead score, data-quality signals, and an A/B/C tier. Combined with sendDecision, that sales intelligence layer tells you who is worth sending today vs who needs more enrichment.
🚚 Can I push results into my CRM or outreach stack?
Yes. Export ready-made CSVs for Instantly, Smartlead, Lemlist, Apollo, HubSpot, Salesforce, and more — or POST live rows to a CRM enrichment webhook. Notion and Slack digests are available for team visibility. Everything stays on the Apify Actor platform with scheduling and API access.
📈 Can I monitor a target account list for changes?
Yes. Enable change monitoring with a watchlist key and schedule the Actor. Repeat runs flag new hires, new personal emails, tier upgrades, and related momentum on the same target account list.
🚫 Why does a lead show thin data or a recovery plan?
Some sites publish almost no public contacts, rely heavily on client-side rendering, or block automated visits. Those domains still appear as full records with failureType / recoveryPlan guidance — nothing silently disappears from your website contact extraction results.
🛡️ Is scraping company websites for leads legal?
This Actor works with publicly available information on company websites — the same pages a visitor can open without logging in. You remain responsible for how you use the data, for respecting each site’s terms, and for handling personal data under GDPR/CCPA and similar rules. This is not legal advice.
🔌 Is there an API for website lead intelligence?
Yes — via Apify. Start runs and fetch dataset items with the Apify REST API, webhooks, or integrations. You get API-style access to lead enrichment without building and hosting your own crawler.
⏱️ Can I schedule ongoing sales prospecting runs?
Yes. Apify Schedules let you re-run hourly, daily, or on any cron — ideal for refreshing cold email leads, re-verifying contacts, or tracking changes on a fixed domain list.
🧹 How do I keep only send-ready leads?
Use autoFilter: "send-now-only" or "safe-only", optionally raise minLeadScore, and/or require a personal email. That filters the dataset down to the send-ready leads your team will actually touch.
🙋 Support & Contact
Found a bug, need a new field, or want a custom solution built around this Website Lead Intelligence / find the right person workflow for your stack?
Reach out via the Issues tab on this Actor’s Apify Store page, or email hello.dataminds@gmail.com for custom builds, integrations, and feature requests.
Feedback is welcome — this Actor is actively maintained for teams that need reliable B2B lead generation, verified emails, and sales intelligence from real company websites.