API для розробників
SMS-верифікація просто з вашого коду
Один HTTPS-виклик дає вашому боту чи платформі справжній номер для WhatsApp, Telegram та багатьох інших сервісів. Отримуйте код через вебхук або long polling і платіть лише за номери, на які він прийшов.
- 1 321сервісів
- 145країн
- 0,10 USDмінімальна ціна за номер
- Автоповернення, якщо код не прийшов
curl
curl -s -X POST https://smsgrab.com/api/dev/v1/activations \
-H "Authorization: Bearer $SMSGRAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"service":"whatsapp","country":"indonesia"}'
Python
activation = requests.post(
"https://smsgrab.com/api/dev/v1/activations",
headers={"Authorization": f"Bearer {key}"},
json={"service": "whatsapp", "country": "indonesia"},
).json()
Node.js
const activation = await fetch('https://smsgrab.com/api/dev/v1/activations', {
method: 'POST',
headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ service: 'whatsapp', country: 'indonesia' }),
}).then((response) => response.json());
PHP
$activation = json_decode((string) $client->post('activations', [
'json' => ['service' => 'whatsapp', 'country' => 'indonesia'],
])->getBody(), true);
Go
order := map[string]any{"service": "whatsapp", "country": "indonesia"}
err := call("POST", "/activations", order, idempotencyKey(), &activation)
{
"id": "5c1d0c2e-9f3a-4b7e-8a61-2f0c9d4e7b10",
"compat_id": 100000123,
"status": "WAITING_SMS",
"service_id": "whatsapp",
"country_id": "indonesia",
"phone_number": "+6281234567890",
"price_minor": 18,
"currency": "USD",
"expires_at": "2026-09-27T10:25:00.000Z",
"sms": []
}
Створено для автоматизації
Усе, що потрібно вашій інтеграції, — з тим самим запасом номерів, обліком і поверненнями, що й у застосунку.
-
Зрозумілий REST API
Передбачуваний JSON, ідемпотентні покупки та чіткі причини помилок, на які можна реагувати.
-
Підписані вебхуки
Події з підписом HMAC для кожного коду й зміни статусу, з повторами протягом 24 годин.
-
Long polling
Тримайте запит до 30 секунд і отримуйте код тієї ж миті, коли він прийде.
-
Сумісність із sms-activate
Спрямуйте свої інструменти на нову адресу. Дії та відповіді залишаться такими самими.
-
Ключі під вашим контролем
Ключі лише для читання або для покупок, списки дозволених IP, денні ліміти, строк дії та заміна без простою.
-
Автоматичні повернення
Код не прийшов до кінця строку номера? Гроші одразу повернуться на баланс.
-
Використання й журнал запитів
Щоденні запити, витрати й помилки за кожним ключем, а також журнал за останні 7 днів із фільтрами.
-
Ціни за обсяг
Ціни від оптової вартості, що самі знижуються з ростом вашого місячного обсягу.
Запуск за чотири кроки
До першого номера — лише кілька викликів.
-
Створіть обліковий запис
Зареєструйтеся за адресою пошти й підтвердьте її. Застосунок і сайт використовують один обліковий запис.
-
Створіть API-ключ
Виберіть доступ, обмежте ключ своїми серверами й один раз скопіюйте секрет.
-
Купіть номер
Надішліть сервіс і країну методом POST. Номер і ціна прийдуть одразу.
-
Отримайте код
Дочекайтеся його через long polling або вебхук, а потім завершіть активацію.
Ціни, що знижуються з вашим зростанням
Ціни для розробників будуються від оптової вартості кожного номера плюс націнка, яка зменшується з вашим обсягом за 30 днів.
- Ніколи не дорожче за той самий номер у застосунку
- Не менше 0,10 USD за номер
- За номери без коду гроші повертаються автоматично
- Рівень оновлюється за кілька хвилин після досягнення
- Списання в USD з того самого балансу, що й у застосунку
Націнка за витратами розробника за 30 днів
| Витрати розробника за 30 днів | Націнка на оптову ціну | Приклад ціни |
|---|---|---|
| До 100,00 USD | +80 % | 0,18 USD на 28 % дешевше, ніж у застосунку |
| Від 100,00 USD | +70 % | 0,17 USD на 32 % дешевше, ніж у застосунку |
| Від 500,00 USD | +60 % | 0,16 USD на 36 % дешевше, ніж у застосунку |
| Від 2 000,00 USD | +50 % | 0,15 USD на 40 % дешевше, ніж у застосунку |
Приклад: пропозиція з оптовою вартістю 0,10 USD, яка в застосунку коштує 0,25 USD.
Перехід
Переходьте з sms-activate одним рядком
Наша сумісна адреса працює за тим самим протоколом, тож боти й панелі для sms-activate запрацюють, щойно ви зміните базову адресу й ключ.
https://smsgrab.com/api/stubs/handler_api.php
- getNumber, getStatus, setStatus, getPrices і всі інші стандартні дії
- Числові ID активацій, коди сервісів та ID країн, які ви вже використовуєте
- Ті самі ключі, ліміти, ціни, повернення й вебхуки, що й у REST API
curl
BASE="https://smsgrab.com/api/stubs/handler_api.php?api_key=$SMSGRAB_API_KEY"
curl -s "$BASE&action=getBalance"
curl -s "$BASE&action=getNumber&service=tg&country=6"
curl -s "$BASE&action=getStatus&id=100000123"
curl -s "$BASE&action=setStatus&id=100000123&status=6"
Python
import os
import requests
BASE = "https://smsgrab.com/api/stubs/handler_api.php"
KEY = os.environ["SMSGRAB_API_KEY"]
def action(name: str, **params) -> str:
response = requests.get(BASE, params={"api_key": KEY, "action": name, **params}, timeout=30)
response.raise_for_status()
return response.text
print(action("getBalance"))
answer = action("getNumber", service="tg", country=6)
if answer.startswith("ACCESS_NUMBER:"):
_, activation_id, number = answer.split(":")
print(activation_id, number)
У реальному часі
Коди надходять просто на ваш сервер
Підпишіться на потрібні події, і ми доставимо їх на вашу HTTPS-адресу з підписом, який можна перевірити.
- Номер куплено
- Код отримано
- Активацію завершено
- Активацію скасовано
- Активація сплила
- Оплату повернуто
- Баланс закінчується
- Кожну доставку підписано HMAC-SHA256 з міткою часу
- Лише публічні HTTPS-адреси з перевіркою перед кожною доставкою
- Тестові доставки, історія за 30 днів і повторна доставка в один клік
Запитання розробників
Скільки коштує API для розробників?
Підписки немає. Кожен номер коштує оптову ціну плюс 80 % націнки, яка знижується до 70 %, 60 % і 50 %, коли ваші витрати розробника за 30 днів перевищують 100, 500 і 2000 USD. Номер ніколи не коштує менше 0,10 USD і дорожче, ніж у застосунку.
Що буде, якщо код не прийде?
Номер діє 20 хвилин. Якщо за цей час код не прийшов або ви скасували номер, поки він ще чекає, гроші автоматично повернуться на баланс.
Чи можна використати мою інтеграцію з sms-activate?
Так. Замініть базову адресу на нашу сумісну й використовуйте ключ SmsGrab. Стандартні дії, відповіді та числові ID залишаться такими самими.
Які ліміти частоти?
Типово кожен ключ може робити 600 запитів і 60 покупок за хвилину, усі ключі облікового запису разом — 3000 запитів за хвилину, і одночасно код можуть чекати до 100 номерів.
Як захистити ключ?
Зберігайте ключі лише на серверах, давайте кожному застосунку власний ключ, обмежте його адресами серверів і встановіть денний ліміт витрат. Якщо ключ міг витекти, замініть або відкличте його в обліковому записі.
Чи мають застосунок і API спільний баланс?
Так. API використовує баланс вашого облікового запису SmsGrab, а кожна покупка й повернення відображаються в гаманці, як і будь-які інші.
Більше відповідей — у довідковому центрі