Referencia de endpoints
Diez endpoints cubren todo el flujo: consultar el saldo, ver apps y países, comprar un número, leer el SMS y cerrar el pedido.
¿Qué endpoints tiene la API de SMS Nitro?
GET /v1/balance, GET /v1/services, GET /v1/services/{product}/countries, POST /v1/orders, GET /v1/orders, GET /v1/orders/{id} y POST /v1/orders/{id}/finish, /cancel, /resend y /ban. Todos están en https://smsnitro.com/api y requieren la cabecera X-Api-Key.
Todos los endpoints
| Endpoint | Qué hace |
|---|---|
| GET /v1/balance | Saldo disponible e importe reservado por pedidos abiertos (USD) |
| GET /v1/services | Apps disponibles con su precio inicial. Opcionales: country, server (1 o 2), search |
| GET /v1/services/{product}/countries | Países de una app con precio, tasa de éxito y prefijo. Opcional: server |
| POST /v1/orders | Compra un número. Cuerpo: product (obligatorio), country, operator, server |
| GET /v1/orders | Tus pedidos, del más reciente al más antiguo. Opcionales: limit (1 a 100, por defecto 50), offset |
| GET /v1/orders/{id} | Un pedido sincronizado en tiempo real: aquí aparece el SMS |
| POST /v1/orders/{id}/finish | Cierra la activación después de usar el código |
| POST /v1/orders/{id}/cancel | Cancela antes de cualquier SMS y devuelve el importe reservado |
| POST /v1/orders/{id}/resend | Pide otro SMS en el mismo número, tras el primer código |
| POST /v1/orders/{id}/ban | Devuelve un número que la app dice que ya está en uso |
Ver apps y países
Usa los endpoints de catálogo para elegir qué comprar. El valor de product (por ejemplo telegram) es el identificador que envías al comprar. En la lista de países, rate3 y rate24 son las tasas recientes de entrega en porcentaje, y offers muestra el precio de cada servidor.
curl "https://smsnitro.com/api/v1/services?country=usa" \
-H "X-Api-Key: $SMSNITRO_API_KEY"[
{ "product": "telegram", "price": "0.30", "count": 850,
"rate": null, "countries": [], "countries_count": 120 }
]curl https://smsnitro.com/api/v1/services/telegram/countries \
-H "X-Api-Key: $SMSNITRO_API_KEY"[
{
"country": "usa", "name": "United States", "iso": "us", "dial_code": "+1",
"price": "0.45", "count": 1200, "rate3": 95.0, "rate24": null, "server": 1,
"offers": [
{ "server": 1, "price": "0.45", "count": 1200, "rate3": 95.0 },
{ "server": 2, "price": "0.52", "count": 300, "rate3": 88.0 }
]
}
]Comprar un número
Envía product y country. El país acepta el identificador del catálogo (usa, england), el código ISO (gb) o el nombre en inglés, y por defecto es usa. Omite server para que la API elija el mejor. La respuesta es el pedido con estado PENDING y el número que debes introducir en la app.
| Campo | Descripción |
|---|---|
| product | Obligatorio. Identificador de la app en GET /v1/services |
| country | Opcional. Identificador del catálogo, ISO 3166-1 alfa-2 o nombre en inglés. Por defecto: usa |
| operator | Opcional. Operador, por defecto any |
| server | Opcional. 1 o 2. Sin él: automático |
curl -X POST https://smsnitro.com/api/v1/orders \
-H "X-Api-Key: $SMSNITRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product": "telegram", "country": "usa"}'{
"id": 123456,
"provider_order_id": "987654321",
"country": "usa",
"operator": "any",
"product": "telegram",
"phone": "+12025550123",
"status": "PENDING",
"price": "0.45",
"created_at": "2026-10-24T12:00:00Z",
"expires": "2026-10-24T12:20:00Z",
"messages": [],
"awaiting_resend": false,
"server": 1
}Leer el SMS
Consulta el pedido cada 3 a 5 segundos. Cuando llega el SMS, el estado pasa a RECEIVED y messages incluye el remitente, el texto completo y el código extraído. Usa code si viene relleno; si viene vacío, lee text.
curl https://smsnitro.com/api/v1/orders/123456 \
-H "X-Api-Key: $SMSNITRO_API_KEY"{
"id": 123456,
"phone": "+12025550123",
"status": "RECEIVED",
"price": "0.45",
"expires": "2026-10-24T12:20:00Z",
"messages": [
{
"sender": "Telegram",
"text": "Telegram code: 48291",
"code": "48291",
"received_at": "2026-10-24T12:01:10Z"
}
],
"awaiting_resend": false,
"server": 1
}Terminar, cancelar, reenviar o devolver
Cada acción devuelve el pedido actualizado. Las reglas de cuándo se permite cada una están en la página del ciclo del pedido.
# Done: the code worked
curl -X POST https://smsnitro.com/api/v1/orders/123456/finish -H "X-Api-Key: $SMSNITRO_API_KEY"
# No SMS: cancel and get the frozen amount back
curl -X POST https://smsnitro.com/api/v1/orders/123456/cancel -H "X-Api-Key: $SMSNITRO_API_KEY"
# Another SMS on the same number (after the first code, no extra cost)
curl -X POST https://smsnitro.com/api/v1/orders/123456/resend -H "X-Api-Key: $SMSNITRO_API_KEY"
# The app says the number is already used: return it
curl -X POST https://smsnitro.com/api/v1/orders/123456/ban -H "X-Api-Key: $SMSNITRO_API_KEY"Listar tus pedidos
curl "https://smsnitro.com/api/v1/orders?limit=20&offset=0" \
-H "X-Api-Key: $SMSNITRO_API_KEY"Preguntas frecuentes
¿Hay un webhook cuando llega el SMS?
No. Consulta GET /v1/orders/{id} cada 3 a 5 segundos; el SMS aparece en cuanto llega.
¿Qué es el campo server?
Los números vienen de dos servidores de suministro. El servidor 1 es el principal y el 2 el alternativo. Sin el campo, la API elige; indícalo para comparar precios o reintentar en el otro.