API ドキュメント
シンプル、高速、無料の使い捨てメール検出API。認証不要、HTTPステータスコードをチェックするだけで即座に結果を取得。
クイックスタート
シンプルなREST APIで数秒で開始。APIキー不要、登録不要、複雑な設定不要 - GETリクエストを送信してHTTPステータスコードをチェックするだけで結果を取得。
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
これは使い捨てメールアドレスのようです
このメールは正当なもののようです
動作原理
APIはHTTPステータスコードを使用して結果を示すため、統合が極めて簡単です。レスポンスボディには追加のコンテキスト用の人間が読める形式のメッセージが含まれています。
ステータスコードロジック
APIエンドポイント
1. メールチェックエンドポイント
完全なメールアドレスが使い捨てかどうかをチェック。これはユーザー登録検証の最も一般的な使用例です。
/api/check?email={email}
2. ドメインチェックエンドポイント (プライバシー重視)
より良いプライバシーのために、完全なメールアドレスの代わりにドメイン部分のみをチェックできます。これにより個人情報の送信や記録を防げます。
ドメインのみのチェックを使用することで、個人のメールアドレスがサーバーに送信されることがなく、正確な使い捨てメール検出を得ながら最大限のプライバシーを提供します。
/api/check?domain={domain}
コード例
人気のプログラミング言語での実用的な例です。結果にはHTTPステータスコードに注目し、オプションで人間が読める形式のメッセージのためにレスポンスボディを読んでください。
JavaScript / Node.js
async function checkEmail(email) { try { const response = await fetch( `https://disposableemailchecker.com/api/check?email=${encodeURIComponent(email)}` ); if (response.status === 200) { const message = await response.text(); console.log('✅ Valid email:', message); return true; // Allow registration } else if (response.status === 403) { const message = await response.text(); console.log('❌ Disposable email:', message); return false; // Block registration } else { const error = await response.text(); console.log(`⚠️ Check failed (${response.status}):`, error); return null; // Handle error } } catch (error) { console.error('❌ Request failed:', error); return null; } } // Domain check (privacy-friendly) async function checkDomain(domain) { try { const response = await fetch( `https://disposableemailchecker.com/api/check?domain=${encodeURIComponent(domain)}` ); return response.status === 200; // true = legitimate, false = disposable } catch (error) { console.error('❌ Request failed:', error); return null; } } // Usage examples checkEmail('user@gmail.com'); checkEmail('test@10minutemail.com'); checkDomain('gmail.com');
Python
import requests from urllib.parse import quote def check_email(email): """Check if email is disposable""" url = f"https://disposableemailchecker.com/api/check?email={quote(email)}" try: response = requests.get(url, timeout=5) if response.status_code == 200: print(f"✅ Valid email: {response.text}") return True # Allow registration elif response.status_code == 403: print(f"❌ Disposable email: {response.text}") return False # Block registration else: print(f"⚠️ Check failed ({response.status_code}): {response.text}") return None # Handle error except requests.RequestException as e: print(f"❌ Request failed: {e}") return None def check_domain(domain): """Check domain only (privacy-friendly)""" url = f"https://disposableemailchecker.com/api/check?domain={quote(domain)}" try: response = requests.get(url, timeout=5) return response.status_code == 200 # True = legitimate, False = disposable except requests.RequestException as e: print(f"❌ Request failed: {e}") return None # Usage examples check_email('user@gmail.com') check_email('test@10minutemail.com') check_domain('gmail.com')
PHP
<?php function checkEmail($email) { $url = 'https://disposableemailchecker.com/api/check?email=' . urlencode($email); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode === 200) { echo "✅ Valid email: " . $response . "\n"; return true; // Allow registration } elseif ($httpCode === 403) { echo "❌ Disposable email: " . $response . "\n"; return false; // Block registration } else { echo "⚠️ Check failed ({$httpCode}): " . $response . "\n"; return null; // Handle error } } function checkDomain($domain) { $url = 'https://disposableemailchecker.com/api/check?domain=' . urlencode($domain); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_NOBODY, true); // HEAD request for status only curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpCode === 200; // true = legitimate, false = disposable } // Usage examples checkEmail('user@gmail.com'); checkEmail('test@10minutemail.com'); var_dump(checkDomain('gmail.com')); ?>
cURLコマンドライン
# Check email with status code and response curl -w "HTTP Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?email=test@10minutemail.com" # Check domain only (privacy-friendly) curl -w "HTTP Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?domain=10minutemail.com" # Get only status code (for scripts) curl -s -o /dev/null -w "%{http_code}" \ "https://disposableemailchecker.com/api/check?email=user@gmail.com" # Batch check multiple emails for email in "user@gmail.com" "test@tempmail.org" "admin@yahoo.com"; do echo "Checking $email:" curl -w "Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?email=$email" echo "---" done
ベストプラクティス
プライバシーのためのドメインチェックを使用
可能な場合は、クライアント側でメールアドレスからドメインを抽出し、ドメインのみをAPIに送信してください。これにより個人のメールアドレスの送信や記録を防ぎ、最大限のプライバシー保護を提供します。
ステータスコードに注目
HTTPステータスコードが知る必要があることをすべて教えてくれます。200 = 許可、403 = ブロック。人間が読める形式のメッセージのためにレスポンスボディをオプションで読むことができますが、ほとんどの使用例ではステータスコードで十分です。
エラーを優雅に処理
APIが利用できない場合は常にフォールバックロジックを実装してください。エラーの場合(4xx/5xxステータスコード)、正当なユーザーをブロックするのではなく、登録を続行することを検討してください。合理的なタイムアウト(3-5秒)を設定してください。
キャッシュを実装
一般的なドメインの結果をキャッシュしてAPI呼び出しを減らし、パフォーマンスを向上させてください。ほとんどの使い捨てメールドメインは頻繁にステータスが変わらないため、24-48時間のキャッシュは通常安全でサーバー負荷を軽減します。
本番環境でのスマートブロッキング
本番環境では、使い捨てメールが検出されたときにユーザーを即座にブロックしないでください。代わりに、API結果を他の要因と組み合わせてください:5人以上のユーザーがすでにこのドメインを使用しているか、または過去24時間でこのドメインから3回以上の登録があったかを確認してください。その場合のみユーザーに別のメールを使用するよう促してください。このアプローチはユーザーエクスペリエンスを向上させ、偽陽性の影響を軽減します。
レート制限と公正使用
APIは無料で厳格なレート制限を課していませんが、すべての人に良いパフォーマンスを確保するために責任を持って使用することをお願いします。
公正使用ガイドライン
- 通常のアプリケーション使用のための合理的なリクエスト量
- 同じドメインへの繰り返しリクエストを避けるためのキャッシュ実装
- 大量ドメインスキャンや研究目的でのAPI使用禁止
- 正当な使用例でより高い制限が必要な場合はお問い合わせください
サポートとフィードバック
API統合のヘルプが必要ですか、または誤って分類されたドメインを見つけましたか?私たちはお手伝いし、常に検出精度の向上を目指しています。