The Problem
Every automation project hits the same wall: OTP verification.
You're building a bot, a scraper, an automation tool — and then you need to verify an account. GitHub, Google, Discord, OpenAI... they all want a code sent to your email.
Your options:
- SMS gateways — cost money, rate limited
- Third-party APIs — another dependency, another failure point
- Manual copy-paste — defeats the purpose of automation
The Solution: otp-gateway
otp-gateway reads OTP codes directly from your inbox via IMAP.
pip install otp-gateway
No API keys. No external services. Just IMAP.
Quick Start
from otp_gateway import OTPGateway, OTPConfig
config = OTPConfig(
imap_email="you@gmail.com",
imap_password="your-app-password",
domain="yourdomain.com",
)
gw = OTPGateway(config)
# Generate an alias for the platform
alias = gw.generate_alias("github")
print(alias) # "github-a7k2m3@yourdomain.com"
# Use this email to sign up, then wait for the OTP
result = gw.wait_for_otp(alias, timeout=90)
print(result["value"]) # "847291"
Features
- 13 OTP extraction patterns — digits, alphanumeric, multi-language
- 30+ platform support — GitHub, Google, Discord, OpenAI, Anthropic, AWS, Azure, and more
- Verification link extraction — not just codes, but links too
- Alias generation — create unique emails for each platform
- Smart dedup — never returns the same OTP twice
-
CLI included —
otp-gateway wait user@domain.com - Zero dependencies — only Python stdlib
Why Zero Dependencies?
In automation, every dependency is a risk:
- Version conflicts break your pipeline
- Supply chain attacks compromise your system
- Deployment complexity slows you down
otp-gateway uses only Python's standard library. Copy the otp_gateway/ folder into your project and it works.
CLI Usage
# Wait for an OTP
$ otp-gateway wait github@yourdomain.com
⏳ Waiting for OTP at github@yourdomain.com...
✅ OTP found: 847291 (GitHub)
# Check for recent OTPs
$ otp-gateway check --email user@domain.com --since 5m
# Generate an alias
$ otp-gateway alias github
github-a7k2m3@yourdomain.com
Supported Platforms
GitHub, Google, Discord, OpenAI, Anthropic, DeepSeek, AWS, Azure, Vercel, Netlify, Cloudflare, DigitalOcean, HuggingFace, Stripe, and 15+ more. The pattern library is easily extensible.
Get Started
pip install otp-gateway
- GitHub: github.com/fajardev-tech/otp-gateway
- PyPI: pypi.org/project/otp-gateway
- Landing page: fajardev-tech.github.io/otp-gateway
MIT licensed. PRs welcome.
If you build automation tools, give it a try. If you find it useful, a star on GitHub means a lot.
Top comments (0)