Ir al contenido

Guía de la API de HiProxy

Lo que haces en el panel también lo puedes hacer desde tu propio código. Consulta tu saldo y tus datos de conexión, revisa precios, haz pedidos con tu saldo y crea usuarios del proxy con opciones, todo con una API REST.

¿Cómo empiezo?

  1. 1Regístrate con un nombre de usuario e inicia sesión en el panel.
  2. 2Genera una clave de API en la pestaña Conectar. La clave completa aparece una sola vez, así que guárdala en un lugar seguro de inmediato.
  3. 3Pon la clave en el encabezado Authorization de cada solicitud que la necesite.
  4. 4Llama primero a /account para confirmar que la clave funciona y luego haz pedidos con /orders.

¿Cómo funciona la autenticación?

Las solicitudes sobre tu propia cuenta (account, orders, proxy-user) necesitan una clave de API. Envíala en el encabezado como Authorization: Bearer hpk_... Los precios, países y cotizaciones están abiertos a todos y no necesitan clave.

HiProxy guarda solo un hash de tu clave, nunca la clave en sí. Si la pierdes, genera una nueva en el panel y la clave anterior queda bloqueada en ese momento. Guarda la clave solo en código del lado del servidor, nunca en código que se ejecuta en un navegador ni en un repositorio público.

HTTP header
Authorization: Bearer hpk_your_api_key

URL base y formato de datos

URL base
https://hiproxy.shop/api/v1
Cuerpo de solicitud y respuesta
application/json
Importes
USD como número, p. ej. 1036.60
Marcas de tiempo
ISO 8601 (UTC)

¿Hay límites de solicitudes?

Cada clave de API puede hacer hasta 60 llamadas por minuto. Los endpoints públicos llamados sin clave permiten 60 llamadas por minuto por IP. Si pasas el límite, recibes HTTP 429. Espera un minuto y vuelve a enviar.

¿Cómo es una respuesta de error?

Recibes un código de estado HTTP y un cuerpo JSON con un código de error corto y un mensaje.

Ejemplo
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Falta un valor obligatorio, o este producto no acepta ese valor.
unauthorizedHTTP 401No se envió una clave de API, o la clave es incorrecta.
insufficient_balanceHTTP 402Tu saldo es menor que el total del pedido. No se tocó tu saldo.
not_foundHTTP 404Tu cuenta no tiene ningún pedido con este id.
rate_limitedHTTP 429Superaste el límite de solicitudes por minuto.
server_errorHTTP 500El servidor no pudo completar la solicitud. No se tocó tu saldo.

Endpoints

Consultar tu cuenta

GET/api/v1/accountRequiere clave de API

Muestra tu saldo, el host y los puertos del proxy, el usuario y la contraseña del proxy, y la lista de IP autorizadas.

Solicitud
curl https://hiproxy.shop/api/v1/account \
  -H "Authorization: Bearer hpk_your_api_key"
Respuesta
{
  "username": "hi_user01",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.hiproxy.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "hpexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

Consultar productos y precios

GET/api/v1/productsSin clave

Muestra los límites de pedido de cada producto, el precio por nivel y los descuentos por periodo. Usa la misma tabla de precios que la página de precios.

Solicitud
curl https://hiproxy.shop/api/v1/products
Respuesta
{
  "currency": "USD",
  "prices_as_of": "2026-10-31",
  "products": [
    {
      "id": "unlimited",
      "unit": "day",
      "quantity": {
        "meaning": "days",
        "min": 1,
        "max": 365
      },
      "...": "..."
    },
    {
      "id": "residential",
      "unit": "gb",
      "...": "..."
    }
  ]
}

Listar países y ciudades

GET/api/v1/countriesSin clave

Muestra los países que admite cada producto y los valores de ciudad para usar en la opción -city- del usuario.

CampoQué significa
productOpcionalUno de unlimited, residential, isp, datacenter. Vacío significa residential.
Solicitud
curl "https://hiproxy.shop/api/v1/countries?product=datacenter"
Respuesta
{
  "product": "datacenter",
  "countries": [
    {
      "code": "us",
      "name": "United States",
      "region": "americas",
      "datacenter": true,
      "cities": [
        {
          "name": "New York",
          "value": "new_york"
        },
        {
          "name": "Los Angeles",
          "value": "los_angeles"
        }
      ]
    }
  ]
}

Obtener una cotización

POST/api/v1/quoteSin clave

Calcula el total del pedido sin tocar tu saldo. Envía el mismo cuerpo que enviarías para hacer el pedido.

CampoQué significa
productObligatorioUno de unlimited, residential, isp, datacenter.
quantityObligatorioDías para unlimited (1~365), GB para residential (5~5,000), cantidad de IP para isp (1~1,000) o datacenter (5~5,000).
concurrencyOpcionalSolo unlimited. Elige 200, 500, 1000 o 2000.
bandwidthOpcionalSolo unlimited, en Mbps. Elige 100, 200, 500 o 1000.
monthsOpcionalSolo isp y datacenter. Elige 1, 3, 6 o 12.
countryOpcionalSolo isp y datacenter. Un código de país de dos letras, como jp. Los valores válidos aparecen en /countries.
Solicitud
curl -X POST https://hiproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Respuesta
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.78,
  "unit": "day",
  "total_usd": 263.4
}

Hacer un pedido

POST/api/v1/ordersRequiere clave de API

Descuenta el total de tu saldo y crea el pedido. Empieza como pending (activando) y pasa a active cuando está listo. Un pedido que no se puede activar pasa a refunded, y todo lo que pagaste vuelve a tu saldo. Si tu saldo no alcanza, recibes 402.

CampoQué significa
productObligatorioUno de unlimited, residential, isp, datacenter.
quantityObligatorioDías para unlimited (1~365), GB para residential (5~5,000), cantidad de IP para isp (1~1,000) o datacenter (5~5,000).
concurrencyOpcionalSolo unlimited. Elige 200, 500, 1000 o 2000.
bandwidthOpcionalSolo unlimited, en Mbps. Elige 100, 200, 500 o 1000.
monthsOpcionalSolo isp y datacenter. Elige 1, 3, 6 o 12.
countryOpcionalSolo isp y datacenter. Un código de país de dos letras, como jp. Los valores válidos aparecen en /countries.
Solicitud
curl -X POST https://hiproxy.shop/api/v1/orders \
  -H "Authorization: Bearer hpk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Respuesta
{
  "order": {
    "id": "HP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.78,
    "total_usd": 263.4,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1036.6
}

Listar pedidos

GET/api/v1/ordersRequiere clave de API

Muestra hasta 100 de tus pedidos, los más recientes primero.

CampoQué significa
statusOpcionalUno de pending, active, refunded. Vacío devuelve pedidos en cualquier estado.
Solicitud
curl "https://hiproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer hpk_your_api_key"
Respuesta
{
  "orders": [
    {
      "id": "HP-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.78,
      "total_usd": 263.4,
      "status": "pending",
      "created_at": "2026-10-31T09:12:44.120Z",
      "updated_at": "2026-10-31T09:12:44.120Z"
    }
  ]
}

Consultar un pedido

GET/api/v1/orders/{id}Requiere clave de API

Muestra un solo pedido por su id. Útil para comprobar si la activación terminó.

CampoQué significa
idObligatorioEl id del pedido, como HP-7KQ2M-X4HTD.
Solicitud
curl https://hiproxy.shop/api/v1/orders/HP-7KQ2M-X4HTD \
  -H "Authorization: Bearer hpk_your_api_key"
Respuesta
{
  "order": {
    "id": "HP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.78,
    "total_usd": 263.4,
    "status": "active",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:40:02.511Z"
  }
}

Armar un usuario de proxy

GET/api/v1/proxy-userRequiere clave de API

Te da un usuario del proxy con tus opciones incluidas, más URL HTTP y SOCKS5 que puedes pegar directamente. Sin session, la IP cambia en cada solicitud.

CampoQué significa
productOpcionalUno de unlimited, residential, isp, datacenter. Vacío significa unlimited.
countryOpcionalUn código de país de dos letras, como jp.
cityOpcionalUn valor de ciudad de /countries, como tokyo. Solo funciona junto con country.
sessionOpcionalDe 1~32 letras o números. Las solicitudes con la misma session usan la misma IP.
ttlOpcionalCuántos minutos mantener la IP de la sesión, de 1~60. Vacío significa 30.
Solicitud
curl "https://hiproxy.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer hpk_your_api_key"
Respuesta
{
  "username": "hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.hiproxy.shop:6100",
  "socks5": "socks5h://hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.hiproxy.shop:6200"
}

Ejemplo paso a paso

Un script que consulta el precio, hace un pedido con tu saldo y se conecta a través de una IP japonesa.

Python (requests)
import requests

API = "https://hiproxy.shop/api/v1"
HEAD = {"Authorization": "Bearer hpk_your_api_key"}

# 1) Check the price first
plan = {"product": "residential", "quantity": 100}
print(requests.post(f"{API}/quote", json=plan).json())

# 2) Order from your balance
r = requests.post(f"{API}/orders", json=plan, headers=HEAD)
order = r.json()["order"]
print(order["id"], order["status"])

# 3) Get a username for Japanese IPs
u = requests.get(f"{API}/proxy-user", headers=HEAD,
                 params={"product": "residential", "country": "jp"}).json()
proxies = {"http": u["http"], "https": u["http"]}
print(requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json())
Node.js 18+
const API = "https://hiproxy.shop/api/v1";
const HEAD = { Authorization: "Bearer hpk_your_api_key", "Content-Type": "application/json" };

// Check the balance
const acc = await fetch(`${API}/account`, { headers: HEAD }).then((r) => r.json());
console.log(acc.balance_usd);

// Order 7 days of unlimited
const res = await fetch(`${API}/orders`, {
  method: "POST",
  headers: HEAD,
  body: JSON.stringify({ product: "unlimited", quantity: 7, concurrency: 500, bandwidth: 100 }),
});
if (res.status === 402) console.log("Top up first");
else console.log((await res.json()).order.id);

Los pedidos hechos por la API se gestionan igual que los del panel y aparecen en la pestaña Historial. Reemplaza hpk_your_api_key en los ejemplos por tu propia clave de API.

Usa HiProxy desde tu propio código

Regístrate con un nombre de usuario, genera una clave de API en el panel y listo.