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.1.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.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

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

Hashes for emailprobe_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ac0f49b3222b40e2dc2a6a4b4388587e586ec4fca583f261a3ce85755e1b1f5e
MD5 7bde77fcf75390505713fab83f69d165
BLAKE2b-256 2cb1ee41d3bb5e364f86b270d8bddf2bf22a423b4eaf004bd73bbb94ea8f6520

See more details on using hashes here.

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

Hashes for emailprobe_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e811cd9806da6b0db057648b286d8b8aedb11e7d8b7fbc1cbbeeb8d76fe41537
MD5 653a7688391e1567e7396b2ace650e1c
BLAKE2b-256 302d02dffd1f13a8c1b89282f987d3d84183d02b26c7ca10e9b054636188f394

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