This scraper transforms company domains into rich, export-ready contact lists complete with validated professional emails and company intelligence. Designed for operators, sales teams, and data pipelines, it gathers people, organization metadata, and email statuses from multiple trusted sources—cleaned, deduped, and ready for immediate action.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Company Contact Scraper you've just found your team — Let's Chat. 👆👆
The Company Contact Scraper (Waterfall Contact Enricher) scans the web for people associated with a given domain and consolidates findings into a unified dataset. Alongside professional emails, it captures detailed company context such as industry, size, founding year, and digital footprint. Built for scale, it removes duplicates, caps per-domain results, and ensures high-signal output for enrichment workflows.
- Enrich domain lists with real company contacts and validated emails.
- Assemble accurate datasets for outreach, analytics, or CRM ingestion.
- Expand market knowledge with company-level metadata and technologies.
- Run high-volume enrichment without micromanagement.
| Feature | Description |
|---|---|
| Multi-Source Contact Discovery | Searches across multiple trusted sources to find high-signal matches. |
| Professional Email Enrichment | Provides validated email addresses with status indicators (verified, risky, unknown). |
| Company Metadata Extraction | Adds website, LinkedIn, founding year, industries, headcount, phone, and tech stack. |
| Deduped Clean Output | Removes duplicates and normalizes all fields for analytics and CRM systems. |
| Per-Domain Result Caps | Allows max result limits to control cost and signal quality. |
| Scalable Automation | Efficiently handles large domain arrays with steady, reliable performance. |
| Field Name | Field Description |
|---|---|
| fullName | Contact’s name. |
| title | Job title or role. |
| Professional email address. | |
| emailStatus | Validity indicator (verified/risky/unknown). |
| linkedinUrl | Contact’s LinkedIn profile. |
| phone | Phone number when found. |
| domain | Source domain used to locate the contact. |
| companyName | Organization’s name. |
| companyWebsite | Official company URL. |
| companyLinkedIn | Company LinkedIn page. |
| industries | Industry tags for the company. |
| headcount | Company size estimate. |
| foundingYear | Year the company was founded. |
| socials | Additional social links (Twitter, Facebook, etc.). |
| technologies | Detected technologies used by the organization. |
[
{
"fullName": "Sarah Thompson",
"title": "Head of Product",
"email": "sarah.thompson@acme.com",
"emailStatus": "verified",
"linkedinUrl": "https://www.linkedin.com/in/sarahthompson",
"phone": "+1 555 291 8834",
"domain": "acme.com",
"companyName": "Acme Inc.",
"companyWebsite": "https://acme.com",
"companyLinkedIn": "https://linkedin.com/company/acme",
"industries": ["Software", "Cloud"],
"headcount": 450,
"foundingYear": 2012,
"socials": ["https://twitter.com/acme"],
"technologies": ["AWS", "React", "HubSpot"]
}
]
Company Contact Scraper/
├── src/
│ ├── main.js
│ ├── enrichers/
│ │ ├── domain_discovery.js
│ │ ├── email_enricher.js
│ │ ├── company_info_extractor.js
│ │ └── dedupe_and_merge.js
│ ├── utils/
│ │ ├── validator.js
│ │ ├── formatter.js
│ │ └── normalizer.js
│ └── config/
│ └── settings.example.json
├── data/
│ ├── sample_input.json
│ └── sample_output.json
├── package.json
└── README.md
- Sales Teams generate targeted outreach lists enriched with verified emails.
- RevOps Teams clean and enrich CRM accounts with missing company and contact data.
- Agencies build detailed industry contact lists for campaigns and client work.
- Market Analysts map segments and study people + company relationships.
- Automation Engineers integrate domain-based enrichment into larger workflows.
How many contacts can I get per domain?
You can set maxResults from 1 to 100000; defaults to 50 to maintain high signal and cost efficiency.
Are emails validated?
Yes, each email includes a validation status to control risk in outreach.
Does it return company details too?
Yes, including industries, headcount, founding year, tech stack, socials, and core profile information.
Does it dedupe results?
Absolutely—duplicate contacts and companies are removed before final output.
Primary Metric:
Processes 1,000 contacts for under a dollar in compute runtime while maintaining stability.
Reliability Metric:
Consistently >98% accuracy in domain-to-contact matching across varied industries.
Efficiency Metric:
Uses waterfall discovery logic to reduce unnecessary lookups and prioritize highest-quality sources.
Quality Metric:
Produces normalized, clean, deduped datasets ready for CRM ingestion or analytics pipelines.
