API.

REST · JSON — покупайте почты и получайте коды из своего кода.

Начало работы

Все запросы идут на один адрес и возвращают JSON. Авторизация — по API-токену из кабинета в заголовке Authorization.

Базовый адрес
https://api.onemail-service.com
Заголовок
Authorization: Bearer <токен>

Лимит — 120 запросов в минуту на токен. Цены и наличие те же, что на сайте. Токен держите в секрете: по нему можно тратить ваш баланс.

GET/balance

Баланс

Текущий баланс аккаунта.

Запрос · cURL
curl "https://api.onemail-service.com/balance" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "balance": 20.79,
  "currency": "USD"
}
GET/services

Сервисы

Сервисы, их почты и цены.

Запрос · cURL
curl "https://api.onemail-service.com/services" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "services": [
    {
      "id": 1,
      "site": "any",
      "domains": ["gmail", "hotmail", "outlook", "mail", "email", "gmx", "rambler"],
      "available": true,
      "price": {
        "gmail": 0.06,
        "hotmail": 0.04,
        "outlook": 0.04,
        "mail": 0.04,
        "email": 0.04,
        "gmx": 0.04,
        "rambler": 0.04
      }
    },
    {
      "id": 2,
      "site": "list",
      "domains": ["gmail"],
      "available": true,
      "price": {
        "gmail": null
      }
    },
    {
      "id": 3,
      "site": "any",
      "domains": ["gmail", "icloud", "outlook", "hotmail"],
      "available": true,
      "price": {
        "gmail": null,
        "icloud": null,
        "outlook": null,
        "hotmail": null
      }
    }
  ]
}
GET/stock

Наличие

Сколько почт есть для сайта — по каждой почте сервиса.

serviceintegerобязательныйНомер сервиса: 1, 2 или 3
sitestringобязательныйДомен сайта, например marktplaats.nl
Запрос · cURL
curl "https://api.onemail-service.com/stock?service=3&site=vinted.de" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "site": "vinted.de",
  "service": 3,
  "stock": {
    "gmail": 1256,
    "icloud": 10618,
    "outlook": 66081,
    "hotmail": 39115
  },
  "prices": {
    "gmail": 0.11,
    "icloud": 0.04,
    "outlook": 0.02,
    "hotmail": 0.02
  }
}
GET/catalog

Каталог сайтов

Сайты для сервиса «сайт из списка» (2): что передавать в site при покупке, наличие и цена. Цена зависит от сайта.

serviceintegerобязательныйНомер сервиса: 2
Запрос · cURL
curl "https://api.onemail-service.com/catalog?service=2" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "service": 2,
  "domain": "gmail",
  "sites": [
    {
      "site": "instagram.com",
      "name": "Instagram",
      "stock": 120,
      "price": 0.03
    },
    {
      "site": "telegram.org",
      "name": "Telegram",
      "stock": 0,
      "price": 0.06
    }
  ]
}
POST/orders

Купить почту

Покупает адрес. Деньги списываются сразу, если код не придёт за 20 минут — возвращаются.

serviceintegerобязательныйНомер сервиса: 1, 2 или 3
sitestringобязательныйДомен сайта; для Сервиса 2 — site из каталога
domainstringнеобязательныйПочта сервиса: gmail, icloud, outlook, hotmail… По умолчанию gmail
Запрос · cURL
curl -X POST "https://api.onemail-service.com/orders" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"service":1,"site":"marktplaats.nl","domain":"gmail"}'
Ответ · 200 OK
{
  "id": "ord_8f2kq1",
  "email": "theo.vance44@gmail.com",
  "status": "waiting",
  "price": 0.06,
  "expires_in": 1200
}
GET/orders

Мои заказы

Активные заказы (ждут письмо или письмо пришло недавно) или история.

scopestringнеобязательныйactive или history. По умолчанию active
limitintegerнеобязательныйСколько вернуть, до 500. По умолчанию 100
offsetintegerнеобязательныйСколько пропустить — для постраничного вывода
Запрос · cURL
curl "https://api.onemail-service.com/orders?scope=active" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "orders": [
    {
      "id": "ord_8f2kq1",
      "service": 1,
      "site": "marktplaats.nl",
      "domain": "gmail",
      "email": "theo.vance44@gmail.com",
      "status": "waiting",
      "price": 0.06,
      "expires_in": 1105
    }
  ]
}
GET/orders/{id}

Статус и код

Статус заказа: waiting, received, cancelled, refunded или expired. Когда письмо пришло — код или ссылка.

idstringобязательныйid заказа из ответа на покупку
Запрос · cURL
curl "https://api.onemail-service.com/orders/ord_8f2kq1" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "id": "ord_8f2kq1",
  "status": "received",
  "type": "code",
  "code": "611402",
  "has_message": true
}
GET/orders/{id}/message

Письмо целиком

Полное письмо — в Сервисах 1 и 3. Код и ссылка из письма тоже здесь.

idstringобязательныйid заказа
Запрос · cURL
curl "https://api.onemail-service.com/orders/ord_8f2kq1/message" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "from": "Marktplaats <noreply@marktplaats.nl>",
  "subject": "Confirm your email address",
  "received_at": "2026-11-06T19:38:12Z",
  "code": null,
  "link": "https://www.marktplaats.nl/confirm?t=…",
  "html": "<html>…</html>"
}
POST/orders/{id}/cancel

Отменить

Отменяет заказ, пока письмо не пришло. Деньги возвращаются на баланс.

idstringобязательныйid заказа
Запрос · cURL
curl -X POST "https://api.onemail-service.com/orders/ord_8f2kq1/cancel" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "id": "ord_8f2kq1",
  "status": "cancelled",
  "refunded": 0.06
}
POST/orders/{id}/repeat

Повторный код

Ещё одно письмо на тот же адрес — Сервисы 1 и 3, после первого письма. $0.025, без возврата: если письмо не придёт за 20 минут, статус станет expired. Отменить нельзя. Если адрес заблокирован — ошибка 409 email_unavailable.

idstringобязательныйid заказа
Запрос · cURL
curl -X POST "https://api.onemail-service.com/orders/ord_8f2kq1/repeat" \
  -H "Authorization: Bearer $TOKEN"
Ответ · 200 OK
{
  "id": "ord_3m9xq2",
  "email": "theo.vance44@gmail.com",
  "status": "waiting",
  "price": 0.025,
  "refundable": false,
  "repeat_of": "ord_8f2kq1",
  "expires_in": 1200
}

Ошибки

400invalid_requestНеверные параметры запроса
401invalid_tokenНет токена или он неверный
402insufficient_balanceНедостаточно денег на балансе
403forbiddenЭто доступно только в личном кабинете
404not_foundЗаказ или сайт не найден
409out_of_stockНет почт в наличии для этого сайта
409cancel_too_earlyОтменить можно через 2–3 минуты после покупки
409email_unavailableПочта заблокирована — повторный код невозможен
429rate_limitedСлишком много запросов — подождите
503temporarily_unavailableСервис временно недоступен — повторите позже