< back to directory
email qualification api
classify any email as b2b, personal, education, government, or disposable
// what it does
send an email address, get back a verdict with confidence score. handles batch requests too. built for lead qualification pipelines.
// verdicts
private_b2b
personal
education
government
disposable
unknown
// endpoints
POST/v1/qualify-email
classify a single email address
POST/v1/qualify-email/batch
classify up to 50 emails at once
GET/health
health check + redis status
GET/docs
swagger ui documentation
// example request (ofc it's not a real endpoint, I keep it for me)
curl -X POST http://localhost:3000/v1/qualify-email \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key" \
-d '{"email": "ceo@acmecorp.com"}'
// example response
{
"email": "ceo@acmecorp.com",
"verdict": "private_b2b",
"confidence": 0.85,
"is_business_email": true,
"is_private_b2b": true,
"domain": "acmecorp.com",
"flags": [],
"checks": {
"syntax_valid": true,
"has_mx_record": true,
"is_disposable": false,
"is_free_provider": false
}
}
// stack
typescript
fastify
redis
vitest
zod
psl
// features
- 1500+ domain lists (personal, disposable, edu, gov)
- mx record validation with redis caching
- redis-backed rate limiting with in-memory fallback
- api key authentication
- swagger ui documentation
- batch endpoint (up to 50 emails)
- 171 passing tests