Official Python SDK for the EmailProbe disposable email detection API
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file emailprobe_sdk-0.1.1.tar.gz.
File metadata
- Download URL: emailprobe_sdk-0.1.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0f49b3222b40e2dc2a6a4b4388587e586ec4fca583f261a3ce85755e1b1f5e
|
|
| MD5 |
7bde77fcf75390505713fab83f69d165
|
|
| BLAKE2b-256 |
2cb1ee41d3bb5e364f86b270d8bddf2bf22a423b4eaf004bd73bbb94ea8f6520
|
File details
Details for the file emailprobe_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: emailprobe_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e811cd9806da6b0db057648b286d8b8aedb11e7d8b7fbc1cbbeeb8d76fe41537
|
|
| MD5 |
653a7688391e1567e7396b2ace650e1c
|
|
| BLAKE2b-256 |
302d02dffd1f13a8c1b89282f987d3d84183d02b26c7ca10e9b054636188f394
|