API для почты: аренда Gmail и iCloud и получение кодов по HTTP

API OTPGmail — это REST API, через который программа арендует настоящий ящик @gmail.com или @icloud.com и получает код подтверждения или ссылку из пришедшего письма: создаёте заказ, раз в 3–5 секунд опрашиваете его и забираете код из ответа в JSON. Если код не пришёл за время ожидания (не более 25 минут), заказ отменяется сам, и 100 % стоимости возвращается на баланс.

Это не Gmail API от Google — тот работает с вашим собственным ящиком через OAuth — и не API Почты России. В русскоязычной среде автоматизации такие сервисы называют «почтовыми активациями»; здесь речь именно о них, в рамках правил платформ, где вы регистрируетесь.

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

  1. Создайте аккаунт OTPGmail на странице регистрации и пополните баланс в USDT или USDC.
  2. Возьмите ключ API на странице «Профиль»: он начинается с og_, срока действия у него нет, а перевыпустить его можно там же.
  3. Передавайте ключ в заголовке Authorization: Bearer <ключ> (или параметром ?api_key=, если заголовок неудобен).
  4. Ответы приходят в едином формате: {"success": true, "data": ...} при успехе и {"success": false, "error": {"code": ..., "message": ...}} при ошибке.

Отдельной платы за API нет: аренда через API стоит столько же, сколько в веб-приложении, и списывается с того же баланса.

Основные запросы

Запрос Что делает
GET /v1/balance Текущий баланс
GET /v1/services Сервисы, цены, наличие, вариант iCloud и предложения источников
POST /v1/orders Аренда ящика: service, необязательные domain, quantity, warehouse
GET /v1/orders/{id} Статус заказа и полученные коды
POST /v1/orders/{id}/cancel Отмена до первого кода с возвратом 100 %
POST /v1/orders/{id}/next-code Новое окно для кодов у источников с платным продлением
POST /v1/orders/{id}/rerent Повторная аренда того же ящика iCloud за 50 % цены
GET /v1/batches Список ваших пакетов; детали и коды ящиков — по вложенным путям

Пример на curl — аренда ящика для GitHub (git) и опрос заказа:

HOST=otpgmail.net
KEY=og_ваш_ключ
curl -s -X POST "https://$HOST/v1/orders" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"service": "git", "domain": "gmail.com"}'
# в ответе data — список; берём data[0].orderId и data[0].email
curl -s "https://$HOST/v1/orders/ORDER_ID" -H "Authorization: Bearer $KEY"

Опрос заказа и коды

Опрашивайте GET /v1/orders/{id} раз в 3–5 секунд. Статус waiting_code значит, что код ещё ждём; completed — код пришёл и лежит в списке otp; cancelled — заказ отменён; если по правилам источника положен возврат, деньги уже на балансе. Новые коды добавляются в конец otp, поэтому последний полученный код — последний элемент. У части сервисов вместо цифр приходит ссылка подтверждения — тогда ссылка будет в поле code.

Дополнительные коды не стоят ничего сверх цены аренды в пределах срока заказа, если сервис присылает больше одного кода; многие сервисы присылают только один. У источников с платным продлением новое окно открывается запросом next-code: вне окна без доплаты API требует явного подтверждения платы полем confirmFee: true, иначе вернёт NEXT_CODE_FEE_CONFIRM.

Ошибки и лимиты

Лимит по умолчанию — 20 запросов в секунду и 900 в минуту на ключ. В одном запросе можно арендовать до 200 ящиков полем quantity. На каждый новый заказ отправляйте заголовок Idempotency-Key с уникальным значением: если запрос оборвался, повтор с тем же ключом вернёт уже созданный заказ, а не выдаст второй ящик. Таймаут на стороне клиента разумно ставить около 15 секунд.

Gmail, iCloud и выбор источника

Параметр domain принимает gmail.com (по умолчанию) или icloud.com. Ящики iCloud обычно дешевле Gmail — в зависимости от сервиса; удобная схема — запросить iCloud, а при DOMAIN_UNAVAILABLE или NO_MAILS_AVAILABLE повторить с Gmail.

Один сервис может продаваться из нескольких источников — у каждого своя цена, наличие и правила получения кодов. Параметр warehouse задаёт выбор: без него используется источник по умолчанию, 0 — источник с наименьшей ценой в наличии, 99 — перебор от дешёвого к дорогому, пока не найдётся ящик. Правила источника возвращаются вместе с заказом и описаны в документации API.

Пакеты через API

Пакеты до 200 ящиков покупаются на сайте, а через API их можно читать: GET /v1/batches, GET /v1/batches/{id} и коды конкретного ящика по пути /v1/batches/{id}/mails/{mailId}/codes. У пакетов Gmail каждому ящику выдаётся своя ссылка для получения кода в JSON, которая работает без ключа API, — храните такие ссылки в секрете. За ящики пакета, на которые код не пришёл, деньги не возвращаются.

Примеры и интеграции

Ключ API личный: не передавайте и не перепродавайте его третьим лицам без письменного согласия OTPGmail. Соблюдайте правила сервисов, в которых регистрируетесь; OTPGmail не отвечает за использование не по назначению.

Часто задаваемые вопросы

Это Gmail API от Google?

Нет. Gmail API от Google даёт доступ к вашему собственному ящику через OAuth. API OTPGmail выдаёт арендованный адрес и возвращает код из пришедшего письма; входить в ящик не нужно.

Сколько стоит доступ к API?

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

Можно ли купить Gmail-аккаунты через API?

Да: Gmail-аккаунты на короткий срок покупаются через эндпоинты /v1/mail-shop. Пакеты покупаются только на сайте; через API доступны аренда ящиков, опрос заказов и чтение кодов пакетов.

Что делать при ошибке NO_MAILS_AVAILABLE?

Деньги не списаны. Повторите запрос позже, попробуйте другой тип адреса или параметр warehouse со значением 99, чтобы система сама перебрала источники.

Получите код подтверждения на настоящий Gmail

Регистрация ничего не стоит. Деньги списываются только при выдаче ящика; нет кода за время ожидания (не более 25 минут) — 100 % автоматически возвращается на баланс.

Нет нужного сервиса? Нажмите Добавить сервис на странице аренды — мы рассмотрим его добавление.

Нужен не только код, а Gmail-аккаунт, в который можно войти? Смотрите Gmail-аккаунты на короткий срок · Возврат и гарантия