Find Business Contacts
Emails, phone numbers, WhatsApp contacts, social profiles - if a business publishes it publicly on its website or social media, DataMint’s AI can find it. This guide covers every finding tool: the Email Finder, Phone Number Finder, Deep Website Scrape, Facebook Page Scraping, and the playbook for hunting decision-makers (not just info@).
Found contacts → verify them before outreach: see Business Contacts Verification.
Email Finder
Run Email Finder (Have Website category) on your Website column:
- DataMint crawls each site - the homepage first, then up to 2 contact-type subpages (
/contact,/contact-us,/about,/team…) only if the homepage has no email. - It reads the fetched pages, extracting addresses from text,
mailto:links, and rendered JavaScript content (browser-rendered fetch). - Placeholder and asset junk (template strings, image filenames) is filtered out.
- Results land in a new column - hover a filled cell’s (i) icon to see what the finder actually saw.
Requirements: desktop app running + LLM API key.
What you get:
- Found emails per row, straight from public pages
- “None” when the site was checked but publishes nothing
- Empty cells when the run failed - retry those (Run Controls)
- Works on any website column: Maps scrapes, Epic Scraper imports, pasted data
Phone Number Finder
Finds phone and WhatsApp numbers from each site - more than just what’s printed in the footer:
| Source | What it catches |
|---|---|
tel: links | Click-to-call numbers |
wa.me links | WhatsApp contact buttons |
| Page text | Numbers written anywhere on the page |
Every number is normalized to E.164 international format (e.g. +8801712345678) and tagged by type - MOBILE or FIXED_LINE - so you know which numbers can even be on WhatsApp.
- Malformed numbers are dropped; numbers whose region can’t be determined are kept as unverified rather than thrown away.
- Region is guessed from the site’s content, the address country, or the domain’s country code (
.bd,.co.uk…).
Requirements: desktop app running + LLM API key.
Deep Website Scrape
The deep option - extracts everything useful from each site in one pass:
| Extracts | Examples |
|---|---|
| Emails | Contact addresses found anywhere on the fetched pages |
| Phone numbers | Normalized to E.164 international format |
| Social profiles | Facebook, Instagram, LinkedIn links |
| Founder/owner info | Names mentioned in about/team contexts |
| Meta | Site title, description, and other metadata |
How it fetches each site
- Browser-rendered fetch (default): DataMint opens the site in your Chrome - JavaScript runs, then the fully rendered page is sent to the backend for extraction. This catches content that raw HTML never sees.
- Static fetch fallback: if the browser fetch isn’t possible, the backend fetches the page server-side directly.
- Sub-page crawl: if the homepage has no email, it checks up to 2 likely contact pages (
/contact,/contact-us,/about,/team, …) - only when needed.
Requirements: desktop app running · no LLM key required (extraction is deterministic - no AI guessing) · source column must contain website URLs.
Live Status Checker (bonus)
Before spending API credits, check which sites are even alive. The simplest enrichment - and the only one that needs nothing (no backend, no keys):
- Sends an HTTP request to each website and records Active or Not Active (with the HTTP status code).
- Perfect first pass on a scraped list: kill dead-site rows first.
The Decision-Maker Playbook
Role addresses (info@, contact@) are what most businesses publish. For founder/owner contacts, combine three strategies - usually best in sequence.
Strategy 1: Finders + Deep Scrape (the base pass)
Start with extraction (above) - whatever is publicly listed lands in the columns.
Strategy 2: Google Search (Serper) for the person
When the site only has info@, search for the human:
- Run Google Search on the business name with the
foundertemplate (default) - oremail,linkedin,social,phone, or acustomquery with{name}/{city}placeholders. - Up to 10 results per row, optionally summarized by the AI.
- Follow up with the Facebook Scraper on any Facebook/LinkedIn link you find.
Requirement: backend + Serper key (+ LLM for the AI answer) - details: Google Search.
Strategy 3: Custom Prompt for pattern matching
The AI agent can reason about names + domains:
Find the owner or founder of {{Name}} from {{Website}}.
Look for their full name and any direct email address.
If no direct email exists but a name is found, suggest
the most likely pattern (e.g. first.last@domain) and mark
it as "pattern" instead of "verified".
Paste this into a Custom Prompt (mentions become {{Column}} chips) and run it on the Name + Website columns. See Use Custom Prompts.
Where Contacts Come From
DataMint only reads public data - what any visitor (or its AI) could see:
| Source | Used by |
|---|---|
| Business websites (+ contact subpages) | Email Finder, Phone Finder, Deep Scrape |
| Google search results | Google Search preset |
| Facebook pages | Social Media Scraper |
Troubleshooting
| Problem | Solution |
|---|---|
| Deep Scrape returns little | Site may be JS-heavy or contact info absent - try Website Workflow with a custom prompt |
| FB scraping returns empty everywhere | You’re logged out of Facebook - log in and retry |
| Some FB profiles return little | They’re private/locked - that’s expected |
| Empty cells after a run | Run failed/was skipped - use Retry skipped results (Run Controls) |
| Many rows say “Not Active” | The sites are genuinely down or blocking - spot-check a few in your browser |
Related
- Business Contacts Verification - WhatsApp + email verification
- Google Map Scraper - build your lead list first
- Manage Data Table - how the columns fill in
- Cold Email Templates