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.
Features
- 🚫 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
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'}
How it works
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: https://github.com/grocerysushi/burner-bouncer
- npm: https://www.npmjs.com/package/burner-bouncer
- PyPI: https://pypi.org/project/burner-bouncer
PRs to add more domains are always welcome!
Top comments (0)