Меню
Доступный API временной почты

Ключи API временной почты для автоматического тестирования писем

Создавайте временные адреса, получайте сообщения и скачивайте вложения через REST API. Купите собственный ключ API с фиксированной квотой запросов для процессов QA и CI/CD. Один платёж, без подписки.

Купить API-ключ с разовым пакетом Документация API Проверить квоту

Доступный API временной почты

Цены на API временной почты

Купите новый API-ключ с фиксированным количеством запросов. Каждый ключ независим, не продлевается автоматически и не поддерживает пополнение.

Разовый пакет запросов · без подписки

Расход запросов: каждый запрос к защищённому API сразу после успешной аутентификации списывает 1 запрос из квоты. Учитываются создание адреса, проверка ящика (даже пустого), чтение письма, скачивание вложения, удаление писем, очистка ящика и обращения к статистике. Каждый повторный опрос считается отдельно. Проверка остатка квоты этого ключа и запросы, связанные с покупкой, квоту не расходуют.

Безопасная оплата через Stripe.

Правила возврата: API-ключи — разовые цифровые продукты, которые выдаются сразу после оплаты. После выдачи ключа покупка, как правило, не подлежит возврату, кроме случаев, предусмотренных законом, или подтверждённого технического сбоя, препятствующего выдаче ключа.

Ваш API-ключ

Проверка квоты API-ключа

Введите полный API-ключ. Он передаётся в заголовке X-API-Key и никогда не помещается в URL.

Добавьте проверку писем в свой рабочий процесс

Тесты регистрации и подтверждения

Создайте временный адрес для тестирования собственного приложения. Читайте письма подтверждения и извлекайте ссылки или коды из тестового ящика.

CI/CD и регрессионное тестирование

Используйте HTTP-запросы и JSON-ответы в тестовых скриптах, чтобы проверять доставку писем при выпуске версий и регрессионном тестировании.

Проверка писем и вложений

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

Вопросы о ценах и покупке ключей API

Можно попробовать API перед покупкой?

ct-test — общий ключ с ограниченной квотой для проверки примеров. Расход и остаток квоты общие для всех; их можно узнать через эндпоинт квоты. Для рабочих задач используйте купленный ключ.

Быстрый старт
Это подписка?

Купите новый API-ключ с фиксированным количеством запросов. Каждый ключ независим, не продлевается автоматически и не поддерживает пополнение.

Какие запросы расходуют квоту?

Запрос к защищённому эндпоинту списывает 1 запрос сразу после аутентификации API-ключа. Пустой ящик, повторный опрос и ошибки обработчика, например неверный параметр или отсутствующее письмо, также учитываются. Получение списка публичных доменов, проверка квоты и платёжные эндпоинты квоту не расходуют.

Как получить ключ API после оплаты?

После подтверждения платежа Stripe страница покупки покажет ваш новый ключ API. Сохраните его в безопасном месте. В течение 90 дней ключ можно восстановить по вашей приватной ссылке.

Можно получить возврат денег?

Правила возврата: API-ключи — разовые цифровые продукты, которые выдаются сразу после оплаты. После выдачи ключа покупка, как правило, не подлежит возврату, кроме случаев, предусмотренных законом, или подтверждённого технического сбоя, препятствующего выдаче ключа.

Купить API-ключ с разовым пакетом

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

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

Полное руководство по созданию адресов, получению писем, скачиванию вложений, управлению ящиками, статистике и квотам. Примеры можно копировать, подставляя свой API-ключ и полученные идентификаторы.

Тестовый ключ ct-test
Базовый URL https://cleantempmail.com/api

01 · Быстрый старт

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

Регистрация ящика не нужна. Бесплатно получите активные домены, составьте корректный адрес локально или используйте необязательный генератор, затем запрашивайте письма этого адреса и обрабатывайте результат. Примеры запросов и ответов приведены в справочнике эндпоинтов ниже.

1

Получить активные домены

Вызовите /api/domains без ключа. Этот публичный метод не расходует квоту.

2

Составить или сгенерировать

Бесплатно составьте корректный prefix@active-domain локально или потратьте 1 запрос на генератор.

3

Проверить ящик

Передайте полный адрес в /api/emails. Пустой список — успешный ответ, а не ошибка.

4

Прочитать или скачать

Для получения письма используйте emails[].id, для скачивания файла — attachments[].id.

02 · Аутентификация и квота

Аутентификация

Передавайте ключ в заголовке запроса X-API-Key. Храните платные ключи на сервере; не раскрывайте их в коде браузера, публичных репозиториях, строках запроса или журналах.

X-API-Key: YOUR_API_KEY
Общий тестовый ключ

ct-test — общий ключ с ограниченной квотой для проверки примеров. Расход и остаток квоты общие для всех; их можно узнать через эндпоинт квоты. Для рабочих задач используйте купленный ключ.

Когда расходуется квота

Запрос к защищённому эндпоинту списывает 1 запрос сразу после аутентификации API-ключа. Пустой ящик, повторный опрос и ошибки обработчика, например неверный параметр или отсутствующее письмо, также учитываются. Получение списка публичных доменов, проверка квоты и платёжные эндпоинты квоту не расходуют.

Структура JSON-ответа

JSON-эндпоинты возвращают success и либо data, либо error. Защищённые эндпоинты после аутентификации также возвращают обновлённый объект usage. При скачивании вложений вместо JSON возвращаются двоичные данные.

{
  "success": true,
  "data": { "...": "endpoint-specific data" },
  "usage": {
    "daily_limit": 100,
    "used_today": 7,
    "remaining_today": 93,
    "total_limit": 1000,
    "total_used": 42,
    "remaining_total": 958
  }
}

В полях квоты лимит 0 и остаток -1 означают отсутствие ограничений. У купленного разового ключа total_limit обычно положительный.

03 · Все эндпоинты

Основные эндпоинты

Эндпоинты сгруппированы по операциям. Метка показывает, расходуется ли квота после успешной аутентификации.

GET /api/domains Без API-ключа · без расхода квоты

Список активных публичных доменов

Возвращает доступные для создания адресов домены. Ключ не требуется, квота не расходуется. Приватные домены GPTMail исключены.

ПараметрОбязательныйОписание
qНеобязательныйФильтр имён доменов по подстроке без учёта регистра.
offsetНеобязательныйСколько подходящих доменов пропустить. По умолчанию 0.
limitНеобязательныйСколько доменов вернуть. По умолчанию 1000, максимум 2000.
curl -sS "https://cleantempmail.com/api/domains?limit=100"
{
  "success": true,
  "data": {
    "domains": ["domain-one.example", "domain-two.example"],
    "total": 1832,
    "offset": 0,
    "limit": 100
  }
}
GET POST /api/generate-email API-ключ · 1 запрос

Создать временный почтовый адрес

GET создаёт адрес со сгенерированным префиксом и случайным активным доменом. POST позволяет выбрать префикс, домен или оба. Итоговый адрес всегда возвращается в data.email.

Генератор необязателен — экономьте квоту, составляя адрес локально

Вызывать этот эндпоинт перед получением почты не нужно. Получите активный домен через /api/domains и локально соедините его с допустимым префиксом, например [email protected]. Письма на этот адрес доступны обычным способом, а составление адреса не расходует квоту. Используйте /api/generate-email, если хотите поручить сервису выбор или проверку адреса; каждый вызов расходует 1 запрос.

Поле JSONОбязательныйОписание
prefixНеобязательныйИмя ящика перед @. Допустимы буквы, цифры, точки, подчёркивания и дефисы в пределах длины, настроенной сервисом.
domainНеобязательныйТочный активный домен из /api/domains. Если не указан, сервис выбирает случайный.
Сгенерировать случайный адрес
curl -sS \
  -H "X-API-Key: ct-test" \
  "https://cleantempmail.com/api/generate-email"
Создать адрес со своим префиксом и доменом
curl -sS -X POST \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"prefix":"qa.user","domain":"your-active-domain.com"}' \
  "https://cleantempmail.com/api/generate-email"

Если запрошенный домен уже неактивен, API возвращает HTTP 409, а не подменяет его другим.

GET /api/emails?email={address} API-ключ · 1 запрос

Список писем в ящике

Возвращает до 500 последних писем публичного адреса CleanTempMail. Для нового или пустого ящика возвращаются emails: [] и count: 0.

ПараметрОбязательныйОписание
emailДаПолный адрес ящика с доменом. Используйте URL-кодирование значения.
curl -sS -G \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "[email protected]" \
  "https://cleantempmail.com/api/emails"
{
  "success": true,
  "data": {
    "emails": [
      {
        "id": "66c123example",
        "email_address": "[email protected]",
        "from_address": "[email protected]",
        "subject": "Your verification code",
        "content": "Your code is 123456",
        "html_content": "<p>Your code is <b>123456</b></p>",
        "has_html": true,
        "attachments": [
          {
            "id": "attachment-id",
            "filename": "receipt.pdf",
            "content_type": "application/pdf",
            "size": 48231
          }
        ],
        "timestamp": 1787702400,
        "raw_size": 51984,
        "created_at": "2026-08-25T12:00:00Z"
      }
    ],
    "count": 1
  },
  "usage": { "daily_limit": 100, "used_today": 2, "remaining_today": 98, "total_limit": 1000, "total_used": 2, "remaining_total": 998 }
}

Каждый опрос расходует 1 запрос, даже если писем нет. Начните примерно с одного запроса в 10 секунд и по возможности увеличивайте интервал; избегайте непрерывного частого опроса.

GET /api/email/{id} API-ключ · 1 запрос

Получить полное письмо

По id из /api/emails возвращает письмо: текст/HTML, заголовки, время и метаданные вложений. Содержимое вложений в JSON не включается.

curl -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example"
Основные поля письма
Поле JSONОписание
idИдентификатор письма для чтения, вложений и удаления.
email_addressАдрес ящика, получившего письмо.
from_addressРаспознанный адрес отправителя.
subjectРаспознанная тема письма.
content / html_contentОбычный текст и очищенный HTML для отображения. Перед выбором HTML проверьте has_html.
attachments[]Метаданные вложения: id, filename, content_type, size и необязательный content_id. Двоичные данные скачиваются отдельно.
timestamp / created_atМетка времени Unix и время создания в формате ISO 8601.
raw_content / headers / raw_sizeИсходные данные письма/заголовков, если сохранены, и исходный размер письма в байтах.
GET /api/email/{id}/attachment/{attachmentID} API-ключ · 1 запрос

Скачать вложение

Скачивает вложение как двоичный файл. Используйте id письма и attachments[].id из GET /api/email/{id}. Каждое скачивание расходует 1 запрос API.

curl -fL -OJ \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example/attachment/attachment-id"

Тело ответа — сам файл. Сервер задаёт Content-Type, Content-Length и Content-Disposition. curl -OJ сохраняет безопасное имя файла, указанное сервером. Ошибки вложений возвращаются обычным текстом.

DELETE /api/email/{id} API-ключ · 1 запрос

Удалить письмо

Безвозвратно удаляет письмо по id. Сначала получите ID через /api/emails. Отменить действие нельзя.

curl -sS -X DELETE \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example"
{"success":true,"data":{"message":"Email deleted"},"usage":{"daily_limit":100,"used_today":4,"remaining_today":96,"total_limit":1000,"total_used":4,"remaining_total":996}}
DELETE /api/emails/clear?email={address} API-ключ · 1 запрос

Очистить ящик

Безвозвратно удаляет все сохранённые письма указанного публичного ящика и возвращает число удалённых. Отменить действие нельзя.

curl -sS -X DELETE -G \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "[email protected]" \
  "https://cleantempmail.com/api/emails/clear"
{"success":true,"data":{"message":"Deleted 3 emails","count":3},"usage":{"daily_limit":100,"used_today":5,"remaining_today":95,"total_limit":1000,"total_used":5,"remaining_total":995}}
GET /api/stats · /api/statistics/* API-ключ · 1 на эндпоинт

Эндпоинты статистики

Возвращает кэшированную публичную статистику сервиса. Каждый путь — отдельный защищённый запрос, расходующий 1 запрос. Почта приватных доменов в статистику не входит.

ПутьОписание
/api/statsОбщие показатели: всего писем, сегодня, за 24 часа, уникальные темы и активные домены.
/api/statistics/24hМассив часовых интервалов UTC с hour и count.
/api/statistics/top-subjects10 самых частых тем публичных писем с count.
/api/statistics/top-domains10 самых частых публичных доменов получателей с count.
/api/statistics/top-senders10 ведущих отправителей с count.
curl -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/stats"
{
  "success": true,
  "data": {
    "total_emails": 1250000,
    "today_emails": 32000,
    "emails_24h": 41000,
    "unique_subjects": 8600,
    "active_domains": 1832
  },
  "usage": { "daily_limit": 100, "used_today": 6, "remaining_today": 94, "total_limit": 1000, "total_used": 6, "remaining_total": 994 }
}
POST /api/api-key/usage Без API-ключа · без расхода квоты

Проверка квоты API-ключа

Возвращает статус и расход купленного, созданного вручную, исчерпанного или общего тестового ключа. Квоту не расходует. Передайте ключ в X-API-Key или JSON-поле api_key; предпочтителен заголовок.

Рекомендуется: ключ в заголовке
curl -sS -X POST \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/api-key/usage"
Также допустимо: ключ в JSON
curl -sS -X POST \
  -H "Content-Type: application/json" \
  --data '{"api_key":"ct-test"}' \
  "https://cleantempmail.com/api/api-key/usage"
{
  "success": true,
  "data": {
    "masked_key": "••••••••wxyz",
    "status": "active",
    "is_active": true,
    "daily_limit": 100,
    "used_today": 6,
    "remaining_today": 94,
    "total_limit": 1000,
    "total_used": 6,
    "remaining_total": 994
  }
}

status принимает active, exhausted или inactive. Исчерпанные купленные ключи остаются доступны для проверки. Полный ключ и метаданные Stripe/клиента никогда не возвращаются.

04 · Ошибки

Ошибки HTTP и восстановление

JSON-эндпоинты обычно возвращают success: false и строку error. При ошибке эндпоинт вложений возвращает обычный текст. Перед чтением данных всегда проверяйте статус HTTP.

HTTPЗначениеРекомендуемое действие
400Данные отсутствуют или неверны: например, нет параметра email или указан недопустимый префикс.Исправьте запрос; не повторяйте его без изменений.
401API-ключ отсутствует, недействителен или неактивен.Проверьте X-API-Key или купите/используйте другой активный ключ.
403Запрошенный ящик принадлежит приватному домену GPTMail.Не обращайтесь к приватным ящикам GPTMail через этот API.
404ID письма или вложения не найден либо срок хранения истёк.Обновите список писем и прекратите запросы устаревших ID.
409Выбранный домен для создания адреса недоступен.Получите /api/domains и явно выберите активный домен.
429Дневная или общая квота исчерпана.Дождитесь сброса дневного лимита или используйте новый купленный ключ; разовые ключи нельзя пополнять.
503Маршрутизация почты синхронизируется или активных доменов нет.Учитывайте Retry-After, если он указан, и увеличивайте интервалы повторов.
{
  "success": false,
  "error": "Email not found",
  "usage": {
    "daily_limit": 100,
    "used_today": 7,
    "remaining_today": 93,
    "total_limit": 1000,
    "total_used": 7,
    "remaining_total": 993
  }
}