A fast, free, and accurate email classification and validation service that distinguishes between legitimate corporate (employees), personal, and disposable email addresses.
- Validates email syntax and deliverability (MX/A records)
- Distinguishes personal, disposable, and corporate emails
- Detects common providers (Google, Microsoft, Yandex, etc.)
- Optional AI verification for higher accuracy using Perplexity Sonar
- Web UI and JSON API
- The service is rate-limited to 5 requests per second per IP in normal mode
- Ensure B2B customers in your project use real company emails
- Identify genuine business leads
- Block disposable emails from signups (fraud prevention)
- Maintain clean email databases
- Target corporate vs personal emails in your marketing campaigns
cp .env.example .envThen, enable or disable AI mode by setting ENABLE_AI_CHECK=true or ENABLE_AI_CHECK=false in .env.
Add your PERPLEXITY_API_KEY if you enable AI mode.
git clone https://github.com/yourusername/workemailchecker.git
cd workemailchecker
docker compose up -d --build
# http://localhost:8080git clone https://github.com/yourusername/workemailchecker.git
cd workemailchecker
go mod download
go build -o workemailchecker .
./workemailcheckerPOST /api/check
Content-Type: application/json
{
"email": "user@example.com"
}AI mode:
POST /api/check
Content-Type: application/json
{
"email": "user@example.com",
"mode": "ai"
}{
"email": "employee@google.com",
"valid": true,
"syntax_valid": true,
"domain_valid": true,
"mx_records_found": true,
"provider_name": "Google",
"provider_type": "corporate",
"is_disposable": false,
"is_corporate": true,
"is_personal": false,
"corporate_domain": "google.com",
"message": "Corporate email detected"
}- API: 5 requests/sec per IP (burst 10)
- AI: 0.5 requests/sec per IP (burst 1)
- Exceeding returns
429withretry_after
Visit http://localhost:8080 to access the web interface:
- Email input with validation results
- Toggle for “Slow, higher‑accuracy check (AI)”
- Documentation at
/docs
Environment variables:
PORT: server port (default: 8080)RATE_LIMIT_RPS: API requests per second (default: 5)RATE_LIMIT_BURST: API burst (default: 10)FREE_PROVIDERS_URL: free provider domains JSONENABLE_AI_CHECK: enable AI verification (default: false)PERPLEXITY_API_URL:https://api.perplexity.ai/chat/completionsPERPLEXITY_MODEL:sonarPERPLEXITY_API_KEY: your API keyAI_RATE_LIMIT_RPS: 0.5AI_RATE_LIMIT_BURST: 1CORPORATE_OVERRIDES: CSV of domains to force corporatePERSONAL_OVERRIDES: CSV of domains to force personal
The service includes intelligent corporate domain mappings, just for example:
- Google:
@google.com - Microsoft:
@microsoft.com - Yandex employees:
@yandex-team.ru,@yandex-team.com(consumer@yandex.ru,@ya.comare personal) - ByteDance:
@bytedance.com - Meta:
@meta.com,@fb.com
And many more tech and non-tech companies!
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GPL License - see the LICENSE file for details.
- Free Email Domains for the free provider list, which is used in our quick check.
Made with ❤️ for the community