I built burner-bouncer: a zero-dependency disposable email detector for JavaScript and Python
Source: Dev.to
Overview
Ever had users sign up with test@mailinator.com or fake@guerrillamail.com?
Disposable email addresses are a headache for any app that relies on real user contact.
I built burner‑bouncer to solve this—a zero‑dependency library that detects disposable/burner email domains instantly, with no API calls and no external requests.
- 🚫 629 real disposable domains blocked out of the box
- ⚡ Zero runtime dependencies
- 🟦 TypeScript‑first (ESM + CJS)
- 🐍 Python 3.8+ support
- 🔁 Identical API in both languages
JavaScript / TypeScript
npm install burner-bouncer
import { isDisposable, check } from 'burner-bouncer';
isDisposable('test@mailinator.com'); // true
isDisposable('user@gmail.com'); // false
const result = check('test@mailinator.com');
// {
// email: 'test@mailinator.com',
// domain: 'mailinator.com',
// isDisposable: true,
// reason: 'blocklist'
// }
Python
pip install burner-bouncer
from burner_bouncer import is_disposable, check
is_disposable('test@mailinator.com') # True
is_disposable('user@gmail.com') # False
result = check('test@mailinator.com')
print(result.to_dict())
# {'email': 'test@mailinator.com', 'domain': 'mailinator.com',
# 'is_disposable': True, 'reason': 'blocklist'}
The blocklist is a JSON file of 629 known disposable domains bundled at install time. No network requests, no API keys, no rate limits—just a fast Set lookup.
Links
- GitHub:
- npm:
- PyPI:
PRs to add more domains are always welcome!