Pular para o conteúdo

Guia da API HiProxy

O que você faz no painel também pode ser feito pelo seu próprio código. Consulte o saldo e os dados de conexão, veja preços, faça pedidos com o saldo e monte usuários do proxy com opções, tudo por uma API REST.

Como começo?

  1. 1Cadastre-se com um nome de usuário e entre no painel.
  2. 2Gere uma chave de API na aba Conectar. A chave completa aparece só uma vez, então guarde-a em um lugar seguro na hora.
  3. 3Coloque a chave no cabeçalho Authorization de toda requisição que precisar dela.
  4. 4Chame /account primeiro para confirmar que a chave funciona e depois faça pedidos com /orders.

Como funciona a autenticação?

Requisições sobre a sua própria conta (account, orders, proxy-user) precisam de chave de API. Envie no cabeçalho como Authorization: Bearer hpk_... Preços, países e orçamentos são abertos a todos e não precisam de chave.

A HiProxy guarda apenas um hash da sua chave, nunca a chave em si. Se você perdê-la, gere uma nova no painel e a chave antiga é bloqueada no mesmo momento. Mantenha a chave só em código do lado do servidor, nunca em código que roda no navegador nem em um repositório público.

HTTP header
Authorization: Bearer hpk_your_api_key

URL base e formato dos dados

URL base
https://hiproxy.shop/api/v1
Corpo da requisição e da resposta
application/json
Valores
USD como número, ex.: 1036.60
Data e hora
ISO 8601 (UTC)

Há limites de requisições?

Cada chave de API pode fazer até 60 chamadas por minuto. Endpoints públicos chamados sem chave aceitam 60 chamadas por minuto por IP. Se passar do limite, você recebe HTTP 429. Espere um minuto e envie de novo.

Como é uma resposta de erro?

Você recebe um código de status HTTP e um corpo JSON com um código de erro curto e uma mensagem.

Exemplo
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Falta um valor obrigatório, ou este produto não aceita o valor.
unauthorizedHTTP 401Nenhuma chave de API foi enviada, ou a chave está errada.
insufficient_balanceHTTP 402Seu saldo é menor que o total do pedido. O saldo não foi alterado.
not_foundHTTP 404Sua conta não tem nenhum pedido com este id.
rate_limitedHTTP 429Você passou do limite de requisições por minuto.
server_errorHTTP 500O servidor não conseguiu concluir a requisição. O saldo não foi alterado.

Endpoints

Consultar sua conta

GET/api/v1/accountPrecisa de chave de API

Mostra seu saldo, host e portas do proxy, usuário e senha do proxy e a lista de IPs autorizados.

Requisição
curl https://hiproxy.shop/api/v1/account \
  -H "Authorization: Bearer hpk_your_api_key"
Resposta
{
  "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 produtos e preços

GET/api/v1/productsSem chave

Mostra os limites de pedido de cada produto, o preço por faixa e os descontos por período. Usa a mesma tabela de preços da página de preços.

Requisição
curl https://hiproxy.shop/api/v1/products
Resposta
{
  "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 e cidades

GET/api/v1/countriesSem chave

Mostra os países que cada produto atende e os valores de cidade para usar na opção -city- do usuário.

CampoO que significa
productOpcionalUm de unlimited, residential, isp, datacenter. Vazio significa residential.
Requisição
curl "https://hiproxy.shop/api/v1/countries?product=datacenter"
Resposta
{
  "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"
        }
      ]
    }
  ]
}

Obter cotação

POST/api/v1/quoteSem chave

Calcula o total do pedido sem mexer no saldo. Envie o mesmo corpo que você enviaria para fazer o pedido.

CampoO que significa
productObrigatórioUm de unlimited, residential, isp, datacenter.
quantityObrigatórioDias para unlimited (1~365), GB para residential (5~5,000), número de IPs para isp (1~1,000) ou datacenter (5~5,000).
concurrencyOpcionalSó para unlimited. Escolha 200, 500, 1000 ou 2000.
bandwidthOpcionalSó para unlimited, em Mbps. Escolha 100, 200, 500 ou 1000.
monthsOpcionalSó para isp e datacenter. Escolha 1, 3, 6 ou 12.
countryOpcionalSó para isp e datacenter. Um código de país de duas letras, como jp. Os valores válidos estão em /countries.
Requisição
curl -X POST https://hiproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Resposta
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.78,
  "unit": "day",
  "total_usd": 263.4
}

Fazer um pedido

POST/api/v1/ordersPrecisa de chave de API

Desconta o total do saldo e cria o pedido. Ele começa como pending (ativando) e passa a active quando fica pronto. Um pedido que não pode ser ativado vira refunded, e tudo o que você pagou volta para o saldo. Se o saldo for insuficiente, você recebe 402.

CampoO que significa
productObrigatórioUm de unlimited, residential, isp, datacenter.
quantityObrigatórioDias para unlimited (1~365), GB para residential (5~5,000), número de IPs para isp (1~1,000) ou datacenter (5~5,000).
concurrencyOpcionalSó para unlimited. Escolha 200, 500, 1000 ou 2000.
bandwidthOpcionalSó para unlimited, em Mbps. Escolha 100, 200, 500 ou 1000.
monthsOpcionalSó para isp e datacenter. Escolha 1, 3, 6 ou 12.
countryOpcionalSó para isp e datacenter. Um código de país de duas letras, como jp. Os valores válidos estão em /countries.
Requisição
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}'
Resposta
{
  "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/ordersPrecisa de chave de API

Mostra até 100 dos seus pedidos, os mais recentes primeiro.

CampoO que significa
statusOpcionalUm de pending, active, refunded. Vazio retorna pedidos em qualquer status.
Requisição
curl "https://hiproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer hpk_your_api_key"
Resposta
{
  "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 um pedido

GET/api/v1/orders/{id}Precisa de chave de API

Mostra um único pedido pelo id. Útil para conferir se a ativação terminou.

CampoO que significa
idObrigatórioO id do pedido, como HP-7KQ2M-X4HTD.
Requisição
curl https://hiproxy.shop/api/v1/orders/HP-7KQ2M-X4HTD \
  -H "Authorization: Bearer hpk_your_api_key"
Resposta
{
  "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"
  }
}

Montar um usuário de proxy

GET/api/v1/proxy-userPrecisa de chave de API

Entrega um usuário do proxy com as suas opções, além de URLs HTTP e SOCKS5 prontas para colar. Sem session, o IP muda a cada requisição.

CampoO que significa
productOpcionalUm de unlimited, residential, isp, datacenter. Vazio significa unlimited.
countryOpcionalUm código de país de duas letras, como jp.
cityOpcionalUm valor de cidade de /countries, como tokyo. Só funciona junto com country.
sessionOpcional1~32 letras ou números. Requisições com a mesma session usam o mesmo IP.
ttlOpcionalPor quantos minutos manter o IP da sessão, 1~60. Vazio significa 30.
Requisição
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"
Resposta
{
  "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"
}

Exemplo passo a passo

Um script que confere o preço, faz o pedido com o saldo e se conecta por um IP japonês.

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);

Pedidos feitos pela API são tratados como os do painel e aparecem na aba Histórico. Troque hpk_your_api_key nos exemplos pela sua própria chave de API.

Use a HiProxy a partir do seu próprio código

Crie conta com um nome de usuário, gere uma chave de API no painel e pronto.