Skip to main content

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: httpx for async support

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emailprobe_sdk-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emailprobe_sdk-0.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file emailprobe_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: emailprobe_sdk-0.1.0.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

Hashes for emailprobe_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 990accef6237825495bed6d48be945192c2e9580baea4f0fa280f208047566df
MD5 87858098ad5cf7c90cdd2353c106d66a
BLAKE2b-256 86bdaa7a71051e18bff076694e9254d8c9f89febd6638178c55fc975860f7c94

See more details on using hashes here.

File details

Details for the file emailprobe_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: emailprobe_sdk-0.1.0-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

Hashes for emailprobe_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09253355a455d3fa3929fc50a820dc57c4d96193f1a8efcc1eeff250b5f68379
MD5 418bec0bdd409e02d1a91495327dbf63
BLAKE2b-256 10168950287a6d0834b79ce7066c4800729ab9901bf82a316680b43c42c22945

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page