Documentação da API de proxies: automação de pedidos e informações de acesso
A API do SMMProxy oferece consulta de saldo, preços, pedidos de proxy e lista de conexões via HTTPS REST. Gere chaves no painel e envie no header Authorization como Bearer.
Começar
- Crie uma conta e faça a primeira recarga. Chaves API só podem ser geradas após a primeira recarga ser processada.
- Crie uma nova chave no menu de chaves API do painel. A chave é exibida apenas uma vez ao ser criada, então salve-a imediatamente.
- Inclua a chave Authorization: Bearer em todas as solicitações. As respostas são em JSON e sempre têm um campo 'ok'.
Endereço base: https://smmproxy.io/api/v1
curl -H "Authorization: Bearer smpk_YOUR_KEY" https://smmproxy.io/api/v1/balance
GET/api/v1/balance
Consulta de saldo
Exemplo de resposta
{ "ok": true, "balance": "48.20", "currency": "USD" }GET/api/v1/products
Consulta de produto, país e preço
Exemplo de resposta
{ "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 (pagamento com saldo)
Corpo da requisição
{ "product": "isp", "country": "us", "quantity": 5, "period": "1m" }Exemplo de resposta
{ "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)
Exemplo de resposta
{ "ok": true, "orders": [{ "id": "OR-7K2M-Q8XD4P", "status": "active", "total": "6.45" }] }GET/api/v1/proxies?order=OR-7K2M-Q8XD4P
Lista de informações de conexão
Exemplo de resposta
{ "ok": true, "proxies": [{ "host": "198.51.100.24", "http_port": 10842, "socks5_port": 20842,
"username": "u7kq2m", "password": "Xc81pLq0Zr", "country": "us", "expires_at": "..." }] }Valor do pedido
| Nome | Formato | Descrição |
|---|---|---|
| product | string | isp, mobile, ipv4, residential |
| country | string | Código de país de 2 letras minúsculas (us, gb, de...) |
| quantity | integer | Nº de IPs/portas (GB para residenciais) |
| period | string | 1w 2w 1m 2m 3m 6m 9m 12m (exceto residenciais) |
| protocol | string | HTTP ou SOCKS5, padrão HTTP (ambas as portas são emitidas) |
Erro
| HTTP | error | Significado |
|---|---|---|
| 401 | unauthorized | A chave está ausente ou incorreta. O dinheiro não será debitado. |
| 400 | invalid_request | Por favor, verifique novamente os valores de produto, país, quantidade e período. O dinheiro não será debitado. |
| 402 | insufficient_balance | O saldo é menor que o valor do pagamento. Recarregue e tente novamente. O dinheiro não será debitado. |
| 503 | network_error | Erro de rede ao enviar o pedido. O dinheiro não será debitado e você pode tentar novamente em breve. |
| 429 | rate_limited | Até 300 requisições por minuto. |
Exemplo 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"]}')Exemplo 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);