API Документация
Простой, быстрый и бесплатный API для обнаружения одноразовых email. Аутентификация не требуется, просто проверьте HTTP код состояния для мгновенных результатов.
Быстрый Старт
Начните за секунды с нашим простым REST API. Никаких API ключей, никакой регистрации, никакой сложной настройки - просто отправьте GET запрос и проверьте HTTP код состояния для результата.
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
Это похоже на одноразовый email-адрес
Этот email выглядит легитимным
Как Это Работает
Наш API использует HTTP коды состояния для указания результата, делая интеграцию крайне простой. Тело ответа содержит читаемое человеком сообщение для дополнительного контекста.
Логика Кодов Состояния
API Конечные Точки
1. Конечная Точка Проверки Email
Проверьте, является ли полный email-адрес одноразовым. Это наиболее распространенный случай использования для проверки регистрации пользователя.
/api/check?email={email}
2. Конечная Точка Проверки Домена (Дружественная к Приватности)
Для лучшей приватности вы можете проверить только часть домена вместо полного email-адреса. Это предотвращает передачу или запись любой личной информации.
Использование проверки только домена означает, что никакие личные email-адреса не передаются на наши серверы, обеспечивая максимальную приватность при получении точного обнаружения одноразовых email.
/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
Лучшие Практики
Используйте Проверку Домена для Приватности
Когда возможно, извлекайте домен из 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 часов.
Отправить Обратную Связь