API Документация

Простой, быстрый и бесплатный API для обнаружения одноразовых email. Аутентификация не требуется, просто проверьте HTTP код состояния для мгновенных результатов.

Быстрый Старт

Начните за секунды с нашим простым REST API. Никаких API ключей, никакой регистрации, никакой сложной настройки - просто отправьте GET запрос и проверьте HTTP код состояния для результата.

GET ЗАПРОС
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
ОДНОРАЗОВЫЙ (Статус: 403)
Это похоже на одноразовый email-адрес
ЛЕГИТИМНЫЙ (Статус: 200)
Этот email выглядит легитимным

Как Это Работает

Наш API использует HTTP коды состояния для указания результата, делая интеграцию крайне простой. Тело ответа содержит читаемое человеком сообщение для дополнительного контекста.

Логика Кодов Состояния

200
Email легитимный - Разрешить регистрацию
403
Email одноразовый - Заблокировать регистрацию
4xx/5xx
Произошла ошибка - Проверьте тело ответа для деталей

API Конечные Точки

1. Конечная Точка Проверки Email

Проверьте, является ли полный email-адрес одноразовым. Это наиболее распространенный случай использования для проверки регистрации пользователя.

Метод:GET
Ответ:text/plain
URL:/api/check?email={email}

2. Конечная Точка Проверки Домена (Дружественная к Приватности)

Для лучшей приватности вы можете проверить только часть домена вместо полного email-адреса. Это предотвращает передачу или запись любой личной информации.

Совет по Приватности

Использование проверки только домена означает, что никакие личные email-адреса не передаются на наши серверы, обеспечивая максимальную приватность при получении точного обнаружения одноразовых email.

Метод: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

Лучшие Практики

Используйте Проверку Домена для Приватности

Когда возможно, извлекайте домен из email-адресов на стороне клиента и отправляйте только домен в наш API. Это предотвращает передачу или запись любых личных email-адресов, обеспечивая максимальную защиту приватности.

Сосредоточьтесь на Кодах Состояния

HTTP код состояния говорит вам все, что нужно знать. 200 = разрешить, 403 = заблокировать. Вы можете опционально читать тело ответа для читаемых человеком сообщений, но код состояния достаточен для большинства случаев использования.

Обрабатывайте Ошибки Изящно

Всегда реализуйте резервную логику когда API недоступен. В случае ошибок (коды состояния 4xx/5xx) рассмотрите возможность разрешить регистрации продолжаться вместо блокировки легитимных пользователей. Установите разумные таймауты (3-5 секунд).

Реализуйте Кэширование

Кэшируйте результаты для общих доменов чтобы уменьшить вызовы API и улучшить производительность. Большинство доменов одноразовых email не меняют статус часто, поэтому кэширование на 24-48 часов обычно безопасно и уменьшает нагрузку на сервер.

Умная Блокировка в Продакшене

В продакшен средах не блокируйте пользователей немедленно когда обнаружен одноразовый email. Вместо этого комбинируйте результат API с другими факторами: проверьте, используют ли уже более 5 пользователей этот домен, или произошло ли более 3 регистраций с этого домена за последние 24 часа. Только тогда просите пользователей использовать другой email. Этот подход улучшает пользовательский опыт и уменьшает влияние ложных срабатываний.

Ограничения Скорости и Справедливое Использование

Наш API бесплатный и не применяет строгие ограничения скорости, но мы просим вас использовать его ответственно для обеспечения хорошей производительности для всех.

Руководящие Принципы Справедливого Использования

  • Разумные объемы запросов для нормального использования приложения
  • Реализуйте кэширование чтобы избежать повторных запросов для тех же доменов
  • Не используйте API для массового сканирования доменов или исследовательских целей
  • Свяжитесь с нами если вам нужны более высокие лимиты для легитимных случаев использования

Поддержка и Обратная Связь

Нужна помощь с интеграцией нашего API или нашли неправильно классифицированный домен? Мы здесь чтобы помочь и всегда стремимся улучшить точность нашего обнаружения.

Техническая Поддержка

Проблемы с интеграцией? Нужна помощь с конкретным случаем использования? Обратитесь к нашей технической команде.

Получить Техническую Помощь

Отправить Обратную Связь по Домену

Нашли ложное срабатывание или пропуск? Помогите нам улучшиться отправив обратную связь по домену. Мы рассматриваем все заявки в течение 24 часов.

Отправить Обратную Связь