Website Contact Scraper
Contact details are rarely on one page. An email sits in the footer, a phone number on the contact page, the LinkedIn link in a header icon, the office address three clicks deep. Website Contact Scraper crawls the site and collects all of it into a column.
Point it at a domain and it returns the emails, phone numbers, social profiles and addresses published anywhere it reaches — at 0.2 credits per page scraped.
What it does
- Crawls from your start URL, following internal links up to the depth and page limit you set
- Extracts emails, phone numbers, social media profiles and physical addresses
- Filters the output to one contact type when you only want part of that
- Costs 0.2 credits per page, so the cost of a row is the number of pages it actually reads
It is an Action column like any other: reads a column, writes its own, supports dynamic variables and Auto Run.
Configuration
Required
| Field | What to put in it |
|---|---|
| Start URLs | The site or page the crawl begins from. Map it to a domain or website column with {{ }} so each row scrapes its own site |
Optional
| Field | Default | What it does |
|---|---|---|
| Contact type | All contacts | Which detail to return — see the options below |
| Max pages | — | Ceiling on how many pages the crawl may read. Every page costs 0.2 credits |
| Max crawl depth | — | How many links deep from the start URL it may follow |
Contact type options
| Option | Returns |
|---|---|
| All contacts | Emails, phones, socials and addresses together |
| Emails only | Email addresses |
| Phone numbers only | Phone numbers |
| Social media profiles only | LinkedIn, X, Instagram, Facebook and other profile links |
| Physical addresses only | Street and office addresses |
How to use it
- Click Add Action and search “Website Contact Scraper”
- Set Start URLs — usually a
{{website}}or{{company domain}}column - Choose the contact type you want back
- Set max pages and max crawl depth to bound the cost
- Test on the first row and check what came back before running the column
- Run the whole column from the ▶️ in the column header
Max pages and crawl depth
These two fields are your cost control, and they do different jobs.
- Max pages caps the total spend on a row. Ten pages is 2 credits.
- Max crawl depth caps how far from the start URL it wanders. Depth 1 is the start page and what it links to directly.
Contact details cluster shallow — footer, contact page, about page. A depth of 1–2 with a small page cap finds most of what a site publishes. Deep crawls mostly buy you blog posts.
Common use cases
- Fill in emails and phones for a list of local businesses scraped from Google Maps
- Get a generic inbox for small companies where no person-level work email exists
- Collect social profiles for accounts you want to warm up before outreach
- Pull office addresses for territory or routing decisions
- Enrich a directory or marketplace import where you only captured the website
Best practices
- Run person-level enrichment first and use this for the rows it could not fill — a named contact beats an
info@address - Start at depth 1 with a low page cap, look at the output, then widen only if it came back thin
- Point the start URL at
/contactor/aboutwhen the site has one; it is the cheapest page to find details on - Split types across columns — emails in one, socials in another — instead of parsing a combined blob downstream
- Verify scraped emails before sending; published addresses are often stale or role-based
- Watch the credit maths on large tables: 100 rows at 10 pages each is 200 credits
Where to next
| You want to | Go to |
|---|---|
| Extract anything else from a site, described in plain English | AI Web Scraper |
| Find a named person’s work email | Find Work Email |
| Check a scraped email is deliverable | Verify Email |
| See what a run costs | Credits |