API ドキュメント

シンプル、高速、無料の使い捨てメール検出API。認証不要、HTTPステータスコードをチェックするだけで即座に結果を取得。

クイックスタート

シンプルなREST APIで数秒で開始。APIキー不要、登録不要、複雑な設定不要 - GETリクエストを送信してHTTPステータスコードをチェックするだけで結果を取得。

GETリクエスト
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
使い捨て(ステータス: 403)
これは使い捨てメールアドレスのようです
正当(ステータス: 200)
このメールは正当なもののようです

動作原理

APIはHTTPステータスコードを使用して結果を示すため、統合が極めて簡単です。レスポンスボディには追加のコンテキスト用の人間が読める形式のメッセージが含まれています。

ステータスコードロジック

200
メールは正当 - 登録を許可
403
メールは使い捨て - 登録をブロック
4xx/5xx
エラーが発生 - 詳細はレスポンスボディを確認

APIエンドポイント

1. メールチェックエンドポイント

完全なメールアドレスが使い捨てかどうかをチェック。これはユーザー登録検証の最も一般的な使用例です。

メソッド:GET
レスポンス:text/plain
URL:/api/check?email={email}

2. ドメインチェックエンドポイント (プライバシー重視)

より良いプライバシーのために、完全なメールアドレスの代わりにドメイン部分のみをチェックできます。これにより個人情報の送信や記録を防げます。

プライバシーのヒント

ドメインのみのチェックを使用することで、個人のメールアドレスがサーバーに送信されることがなく、正確な使い捨てメール検出を得ながら最大限のプライバシーを提供します。

メソッド:GET
レスポンス:text/plain
URL:/api/check?domain={domain}

コード例

人気のプログラミング言語での実用的な例です。結果にはHTTPステータスコードに注目し、オプションで人間が読める形式のメッセージのためにレスポンスボディを読んでください。

JavaScript / Node.js

JAVASCRIPT
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

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
<?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コマンドライン

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統合のヘルプが必要ですか、または誤って分類されたドメインを見つけましたか?私たちはお手伝いし、常に検出精度の向上を目指しています。

技術サポート

統合に問題がありますか?特定の使用例でヘルプが必要ですか?技術チームにお問い合わせください。

技術サポートを受ける

ドメインフィードバックを送信

偽陽性や偽陰性を見つけましたか?ドメインフィードバックを送信して改善にご協力ください。すべての送信を24時間以内に確認します。

フィードバックを送信