Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Find email addresses for a domain by combining website scraping, search dorking, pattern guessing, DNS analysis, and SMTP verification. Use when prospecting...
Find email addresses for a domain by combining website scraping, search dorking, pattern guessing, DNS analysis, and SMTP verification. Use when prospecting...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Discover email addresses associated with a domain using multiple methods.
Website Scraping โ Fetches homepage, /contact, /about, /team pages and extracts emails via regex Search Dorking โ Searches for published emails in directories and search engines Pattern Guessing โ If a name is provided, generates common patterns (first@, first.last@, flast@, etc.) DNS Hints โ Checks MX/SPF/DMARC records to identify the email provider SMTP Verification โ Verifies all found/guessed emails using RCPT TO
pip3 install dnspython
python3 scripts/find_emails.py example.com
python3 scripts/find_emails.py example.com --name "John Smith"
python3 scripts/find_emails.py example.com --no-verify
--name "First Last" โ Enable pattern guessing for a specific person --no-verify โ Skip SMTP verification step --timeout SECONDS โ Connection timeout (default: 10)
JSON to stdout: { "domain": "example.com", "provider": "Google Workspace", "mx": ["aspmx.l.google.com"], "spf": "v=spf1 include:_spf.google.com ~all", "dmarc": "v=DMARC1; p=reject; rua=mailto:dmarc@example.com", "emails_found": 2, "emails": [ { "email": "info@example.com", "source": "scraped", "deliverable": "yes", "smtp_detail": "2.1.5 OK" }, { "email": "john.smith@example.com", "source": "guessed", "deliverable": "catch-all", "smtp_detail": "2.1.5 OK" } ] }
ValueMeaningscrapedFound on the domain's websitesearchedFound via search/directory lookupguessedGenerated from name patternsdnsFound in DNS records (DMARC reports, etc.)
ValueMeaningyesServer accepted the recipientnoServer rejected the recipient (invalid)catch-allServer accepts all addressesunknownCould not determinenot_checkedVerification was skipped
The script includes built-in rate limiting at every stage to protect your IP: # Defaults: 0.5s between page fetches, 2s between SMTP checks, max 15 SMTP checks python3 scripts/find_emails.py example.com --name "John Smith" # Conservative settings for sensitive environments python3 scripts/find_emails.py example.com --scrape-delay 1.0 --smtp-delay 4 --max-smtp-checks 8 # Just scrape, no SMTP (zero risk) python3 scripts/find_emails.py example.com --no-verify
--scrape-delay SECONDS โ Pause between website page fetches (default: 0.5) --smtp-delay SECONDS โ Pause between SMTP verification checks (default: 2.0) --max-smtp-checks N โ Max SMTP verifications per run (default: 15). Remaining emails get not_checked status.
This tool hits both web servers and mail servers. Without rate limiting: Web scraping โ Aggressive crawling gets your IP blocked by WAFs (Cloudflare, etc.) and makes you look like a bot. Respectful delays avoid this. SMTP verification โ Mail servers flag IPs making rapid RCPT TO requests. Your IP can get blacklisted, affecting your ability to send real email. Residential IPs are fragile โ Unlike datacenter IPs, your home/office IP is shared across all your internet activity. Getting it blacklisted affects everything.
ScenarioRecommended approachSingle domain lookupDefaults are fineDomain + name pattern guessingDefaults are fine (15 SMTP checks covers all patterns)Multiple domains in sequenceAdd 5-10s pause between domains. Don't run more than 20 domains/dayJust need the email providerUse --no-verify โ DNS-only, zero riskBulk prospecting (50+ domains)Use a paid service (Hunter.io, Apollo) or spread across multiple days Key principle: The script is designed for targeted lookups, not mass scraping. If you need to process hundreds of domains, use a dedicated service with proper IP reputation management.
Website scraping depends on emails being visible in page source (won't find obfuscated/JS-rendered emails) Search engines may block automated queries SMTP verification requires outbound port 25 access Catch-all domains accept all addresses โ can't confirm real inboxes Be respectful: the script adds delays between requests but don't run it in tight loops
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.