emailprobe-sdk
Official Python SDK for the EmailProbe disposable email detection API.
Install
pip install emailprobe-sdk
For async support:
pip install emailprobe-sdk[async]
Quick Start
from emailprobe import EmailProbeClient
client = EmailProbeClient(api_key="ep_live_your_api_key")
# Validate an email
result = client.validate("user@tempmail.com")
print(result["is_disposable"]) # True
print(result["verdict"]) # "disposable"
print(result["score"]) # 95
# Check a domain only
domain = client.check_domain("mailinator.com")
print(domain["is_disposable"]) # True
# Get usage stats
usage = client.usage()
print(f"{usage['used']}/{usage['monthly_limit']} used")
# Free API — no key needed
check = client.is_disposable("guerrillamail.com")
print(check["disposable"]) # True
Async Usage
from emailprobe.client import AsyncEmailProbeClient
async with AsyncEmailProbeClient(api_key="ep_live_your_api_key") as client:
result = await client.validate("user@tempmail.com")
print(result["is_disposable"])
Requires httpx: pip install emailprobe-sdk[async]
API Reference
EmailProbeClient(api_key, base_url=None, timeout=10)
| Param | Type | Default | Description |
|---|---|---|---|
api_key |
str |
required | Your API key from app.emailprobe.dev |
base_url |
str |
https://api.emailprobe.dev |
API base URL |
timeout |
int |
10 |
Request timeout in seconds |
Methods
validate(email: str) -> dict
Full email validation with disposable detection, MX records, DNS auth, and scoring.
check_domain(domain: str) -> dict
Domain-only check. Faster — skips local part analysis.
usage() -> dict
Returns your current plan, usage count, and remaining quota.
is_disposable(domain: str) -> dict
Free open API. Checks if a domain is disposable. No API key required.
Error Handling
from emailprobe import EmailProbeClient, RateLimitError, AuthenticationError
client = EmailProbeClient(api_key="ep_live_your_api_key")
try:
result = client.validate("test@example.com")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except AuthenticationError:
print("Invalid API key")
Requirements
- Python 3.8+
- No dependencies (uses
urllib) - Optional:
httpxfor async support
License
MIT
Metadata
Release files for emailprobe-sdk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| emailprobe_sdk-0.1.1.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| emailprobe_sdk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / emailprobe_sdk-0.1.1.tar.gz
| Download URL | emailprobe_sdk-0.1.1.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac0f49b3222b40e2dc2a6a4b4388587e586ec4fca583f261a3ce85755e1b1f5e
|
|
BLAKE2b-256 checksum How to use checksums |
2cb1ee41d3bb5e364f86b270d8bddf2bf22a423b4eaf004bd73bbb94ea8f6520
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / emailprobe_sdk-0.1.1-py3-none-any.whl
| Download URL | emailprobe_sdk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e811cd9806da6b0db057648b286d8b8aedb11e7d8b7fbc1cbbeeb8d76fe41537
|
|
BLAKE2b-256 checksum How to use checksums |
302d02dffd1f13a8c1b89282f987d3d84183d02b26c7ca10e9b054636188f394
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|