Lead Scraper & CRM
Verified leads, not scraped rows
Finding contact details is easy. Throwing away the ones that will waste your time is the product.
Buying a lead list gets you rows. Most of them are dead numbers, role addresses and businesses that stopped trading two years ago. SMAAI's scraper is built around the opposite assumption: finding contact details is the easy part, and the real work is throwing away the ones that will waste your time.
Two ways in
Scan a URL. Point it at a company site and it reads the page, then follows the links most likely to hold real contact details — contact, about, connect, reach and support pages — rather than stopping at the homepage.
Search by category and location. Describe who you want ("interior designers, Kochi") and it builds the list. Search runs through Serper where a key is configured, and falls back to DuckDuckGo otherwise — chosen deliberately, because Google blocks server IPs and a scraper that silently returns nothing from production is worse than no scraper.
A single query returns the same few dozen results however many times you ask, so the scraper fans each category across multiple cities and phrasings, then over-fetches a candidate pool three times the size of your requested cap before filtering down. Results can be scoped to India, India plus international, or international only.
It runs on plain HTTP and HTML parsing rather than a headless browser, which is why it runs server-side reliably instead of falling over in a container.
What it pulls out
- Emails, with asset filenames and image paths rejected — the usual source of junk rows that look like addresses but are not.
- Phone numbers, matched across international, Indian ten-digit and US formats.
- Six social profiles — Facebook, Instagram, LinkedIn, X, YouTube and WhatsApp.
- Company name, description and the page it came from, for context when you follow up.
The four-filter quality gate
This is where most of the value is. Every scraped contact passes four filters before it reaches your CRM.
1. Country-aware phone validation
Length rules per country — India, US, Canada, UK, Australia, UAE, Singapore, Germany and France — with country codes stripped first. Indian mobiles must start 6–9. Numbers that are all one digit, or a straight run like 1234567890, are discarded. These are the fake numbers businesses put on a site to satisfy a form field.
2. Is the business still alive?
A language model reads the page content, metadata and footer copyright year and judges whether the business has shown signs of activity in the last fourteen days. Dormant sites are dropped. A beautiful contact record for a company that closed in 2023 is not a lead.
3. Phone genuineness scoring
Each surviving number is scored from 0 to 1 on formatting, how close it sits to words like "contact", "call us" or "WhatsApp", whether the country matches the business, whether it pairs with a deliverable email, and whether it appears on spam blocklists. Anything below 0.6 is rejected.
4. Channel separation
Numbers are split into WhatsApp-reachable, voice-only, and Telegram handles — so a campaign never sends a WhatsApp message to a landline, which is the fastest way to damage a young sender's quality rating.
Rejected contacts are returned alongside the accepted ones with the reason attached. You can see what was thrown away and why, instead of trusting a black box.
The CRM: transparent lead scoring
Every lead carries a score from 0 to 100, and the breakdown is visible — you can always see why a lead is hot:
- +25 replied to you
- +20 opened three or more times
- +15 five or more touches with engagement
- +15 reachable on three or more channels
- +10 active in the last three days
- +10 came inbound rather than outbound
- +10 already qualified, demo booked or negotiating
- +5 fully enriched with company, title and industry
70 or above marks a hot lead. Leads move through lifecycle stages with the change timestamped, carry UTM attribution back to the campaign that produced them, and hold email, phone, WhatsApp and LinkedIn as separate channels so follow-up can pick the one most likely to land.
Contacts flagged do-not-contact are excluded from scoring and from every outbound cadence, permanently.
Limits
Up to 50 results per scan. Row limits by plan: 500 on Starter, 5,000 on Growth, unlimited on Scale. CRM contacts are capped at 1,000 on Starter and 10,000 on Growth. Re-scanning a source replaces its scraped rows but never touches leads you uploaded or that arrived through outreach.
Availability. Scraping and CRM read access are included from Starter. Writing to the CRM and lead scoring require Growth; automated follow-up cadences require Scale.
Step inside.
The platform reveals itself to those who enter.
Begin