Documentación API de proxies: automatización de pedidos y conexiones
La API de desarrolladores de SMMProxy ofrece consulta de saldo, precios, pedidos de proxy y lista de información de conexión mediante HTTPS REST. Crea una clave en el menú API del dashboard y envíala en el encabezado Authorization como Bearer.
Comenzar
- Crea una cuenta y haz tu primer recarga. Las claves API solo pueden generarse en cuentas con al menos una recarga.
- Genera una nueva clave en el menú de API keys del panel. La clave solo se muestra una vez al crearla, así que guárdala inmediatamente.
- Incluye la clave Authorization: Bearer en todas las solicitudes. Las respuestas son en JSON y siempre tienen un campo 'ok'.
Dirección base: https://smmproxy.io/api/v1
curl -H "Authorization: Bearer smpk_YOUR_KEY" https://smmproxy.io/api/v1/balance
GET/api/v1/balance
Consultar saldo
Ejemplo de respuesta
{ "ok": true, "balance": "48.20", "currency": "USD" }GET/api/v1/products
Consultar producto/país/precio
Ejemplo de respuesta
{ "ok": true, "periods": ["1w","2w","1m","2m","3m","6m","9m","12m"],
"products": [{ "product": "isp", "unit": "ip", "countries": [{ "country": "us", "monthly": "1.29" }] }] }POST/api/v1/orders
Pedido de proxy (pago desde saldo)
Cuerpo de la solicitud
{ "product": "isp", "country": "us", "quantity": 5, "period": "1m" }Ejemplo de respuesta
{ "ok": true, "order": { "id": "OR-7K2M-Q8XD4P", "product": "isp", "country": "us",
"quantity": 5, "period": "1m", "total": "6.45", "expires_at": "2026-11-21T09:00:00.000Z" } }GET/api/v1/orders
Lista de pedidos (últimos 100)
Ejemplo de respuesta
{ "ok": true, "orders": [{ "id": "OR-7K2M-Q8XD4P", "status": "active", "total": "6.45" }] }GET/api/v1/proxies?order=OR-7K2M-Q8XD4P
Lista de datos de conexión
Ejemplo de respuesta
{ "ok": true, "proxies": [{ "host": "198.51.100.24", "http_port": 10842, "socks5_port": 20842,
"username": "u7kq2m", "password": "Xc81pLq0Zr", "country": "us", "expires_at": "..." }] }Valor de la orden
| Nombre | Formato | Descripción |
|---|---|---|
| product | string | isp, mobile, ipv4, residential |
| country | string | Código de país de 2 letras (us, gb, de...) |
| quantity | integer | Número de IP/puerto, residencial por GB |
| period | string | 1w 2w 1m 2m 3m 6m 9m 12m (no incluye residenciales) |
| protocol | string | HTTP o SOCKS5 (por defecto HTTP, se proporcionan ambos puertos) |
Error
| HTTP | error | Significado |
|---|---|---|
| 401 | unauthorized | Clave inválida o incorrecta. No se descontará dinero. |
| 400 | invalid_request | Verifica nuevamente el producto, país, cantidad y duración. No se descontará dinero. |
| 402 | insufficient_balance | Saldo insuficiente. Recarga y vuelve a intentar. No se descontará dinero. |
| 503 | network_error | Error de red al procesar el pedido. No se descontará dinero. Intenta nuevamente más tarde. |
| 429 | rate_limited | Puedes enviar hasta 300 veces por minuto. |
Ejemplo en Python
import requests
API = "https://smmproxy.io/api/v1"
H = {"Authorization": "Bearer smpk_YOUR_KEY"}
order = requests.post(f"{API}/orders", headers=H, json={
"product": "isp", "country": "us", "quantity": 5, "period": "1m"}).json()
if order["ok"]:
proxies = requests.get(f"{API}/proxies", headers=H, params={"order": order["order"]["id"]}).json()
for p in proxies["proxies"]:
print(f'{p["host"]}:{p["http_port"]}:{p["username"]}:{p["password"]}')Ejemplo en Node.js
const API = "https://smmproxy.io/api/v1";
const H = { Authorization: "Bearer smpk_YOUR_KEY", "Content-Type": "application/json" };
const r = await fetch(API + "/orders", { method: "POST", headers: H,
body: JSON.stringify({ product: "mobile", country: "gb", quantity: 1, period: "1m" }) });
const j = await r.json();
console.log(j.ok ? j.order.id : j.error);