English | 中文
A website email address extraction tool based on Next.js and Firecrawl.
- 🌐 Enter any website URL to automatically extract email addresses
- 🔍 Intelligent filtering of invalid email formats
- 📊 Dual extraction modes: Fast mode and Deep mode for different needs
- 📋 One-click copy for individual or all email addresses
- 💾 Export email list as TXT file
- 📱 Responsive design with mobile support
- 🎨 Modern UI interface
- Next.js 15 - React full-stack framework
- TypeScript - Type safety
- Tailwind CSS - Modern styling
- Firecrawl - Web content scraping
- React Icons - Icon library
npm install
Create a .env.local
file and add the necessary API keys:
# Firecrawl API Configuration
FIRECRAWL_API_KEY=your_firecrawl_api_key_here
# Cloudflare Turnstile Configuration
NEXT_PUBLIC_TURNSTILE_SITE_KEY=your_turnstile_site_key_here
TURNSTILE_SECRET_KEY=your_turnstile_secret_key_here
Getting API Keys:
Firecrawl API Key:
- Visit Firecrawl website
- Register an account and obtain API key
Cloudflare Turnstile Keys:
- Visit Cloudflare Dashboard
- Go to "Turnstile" section
- Create a new site and get Site Key and Secret Key
- Site Key is for frontend (NEXT_PUBLIC_TURNSTILE_SITE_KEY)
- Secret Key is for backend verification (TURNSTILE_SECRET_KEY)
npm run dev
Open http://localhost:3000 in your browser to view the application.
- Enter the website URL you want to analyze in the input field
- Select extraction mode:
- 🚀 Fast Mode: Analyze current page only, faster (recommended)
- 🔍 Deep Mode: Analyze current page and related linked pages for more comprehensive coverage
- Click "Extract Email Addresses" button
- Wait for analysis to complete and view the extracted email list
- You can:
- Click copy button to copy individual emails
- Click "Copy All" button to copy all emails
- Click "Download as TXT" button to download the email list
Extract email addresses from a website.
Request Body:
{
"url": "https://example.com",
"crawlMode": "fast",
"turnstileToken": "turnstile_response_token"
}
Parameters:
url
(required): Website URL to analyzecrawlMode
(optional): Extraction mode, defaults to "fast""fast"
: Fast mode, analyze current page only"deep"
: Deep mode, analyze current page and related linked pages (max 10 pages, depth 2)
turnstileToken
(required): Cloudflare Turnstile verification token
Response:
{
"success": true,
"url": "https://example.com",
"emails": ["contact@example.com", "info@example.com"],
"count": 2,
"title": "Example Website",
"crawlMode": "fast",
"pagesCrawled": 1
}
This tool uses the following methods to extract emails:
- Web Scraping: Use Firecrawl to get HTML and Markdown content from web pages
- Regex Matching: Use regex pattern
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g
to match email formats - Smart Filtering: Filter out image files, spam emails, and other invalid addresses
- Deduplication & Sorting: Remove duplicate emails and sort alphabetically
# 1. Create environment variables file
cp .env.example .env.local
# 2. Edit environment variables
nano .env.local
# 3. Start application
docker-compose up -d
# 4. View logs
docker-compose logs -f
- Push your project to a GitHub repository
- Visit Vercel and import your project
- Add environment variables in project settings:
FIRECRAWL_API_KEY
NEXT_PUBLIC_TURNSTILE_SITE_KEY
TURNSTILE_SECRET_KEY
- Click deploy
MIT License
Issues and Pull Requests are welcome!
For questions or suggestions, please contact us through GitHub Issues.