Vai al contenuto

Guida API HiProxy

Quello che fai nella dashboard puoi farlo anche dal tuo codice. Leggi saldo e dati di connessione, controlla i prezzi, ordina dal saldo e crea nomi utente del proxy con opzioni, tutto tramite una REST API.

Come inizio?

  1. 1Registrati con un nome utente e accedi alla dashboard.
  2. 2Genera una chiave API nella scheda Connetti. La chiave completa compare una sola volta, quindi salvala subito in un posto sicuro.
  3. 3Inserisci la chiave nell'header Authorization di ogni richiesta che la richiede.
  4. 4Chiama prima /account per verificare che la chiave funzioni, poi ordina con /orders.

Come funziona l'autenticazione?

Le richieste sul tuo account (account, orders, proxy-user) richiedono una chiave API. Inviala nell'header come Authorization: Bearer hpk_... Prezzi, paesi e preventivi sono aperti a tutti e non richiedono chiave.

HiProxy salva solo un hash della chiave, mai la chiave stessa. Se la perdi, generane una nuova nella dashboard e la vecchia chiave viene bloccata in quel momento. Tieni la chiave solo nel codice lato server, mai nel codice eseguito in un browser o in un repository pubblico.

HTTP header
Authorization: Bearer hpk_your_api_key

URL di base e formato dei dati

URL di base
https://hiproxy.shop/api/v1
Corpo di richiesta e risposta
application/json
Importi
USD come numero, es. 1036.60
Timestamp
ISO 8601 (UTC)

Ci sono limiti di frequenza?

Ogni chiave API può effettuare fino a 60 chiamate al minuto. Gli endpoint pubblici chiamati senza chiave consentono 60 chiamate al minuto per IP. Se superi il limite ricevi HTTP 429. Aspetta un minuto, poi invia di nuovo.

Com'è fatta una risposta di errore?

Ricevi un codice di stato HTTP più un corpo JSON con un breve codice di errore e un messaggio.

Esempio
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Manca un valore obbligatorio, oppure questo prodotto non accetta il valore.
unauthorizedHTTP 401Non è stata inviata alcuna chiave API, oppure la chiave è errata.
insufficient_balanceHTTP 402Il tuo saldo è inferiore al totale dell'ordine. Il saldo non è stato toccato.
not_foundHTTP 404Il tuo account non ha nessun ordine con questo id.
rate_limitedHTTP 429Hai superato il limite di richieste al minuto.
server_errorHTTP 500Il server non è riuscito a completare la richiesta. Il saldo non è stato toccato.

Endpoint

Leggi il tuo account

GET/api/v1/accountRichiede chiave API

Mostra saldo, host e porte del proxy, nome utente e password del proxy e l'elenco degli IP autorizzati.

Richiesta
curl https://hiproxy.shop/api/v1/account \
  -H "Authorization: Bearer hpk_your_api_key"
Risposta
{
  "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"
  ]
}

Leggi prodotti e prezzi

GET/api/v1/productsSenza chiave

Mostra per ogni prodotto i limiti d'ordine, il prezzo per fascia e gli sconti per durata. Usa la stessa tabella prezzi della pagina dei prezzi.

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

Elenca paesi e città

GET/api/v1/countriesSenza chiave

Mostra i paesi supportati da ogni prodotto e i valori delle città da usare nell'opzione -city- del nome utente.

CampoSignificato
productFacoltativoUno tra unlimited, residential, isp, datacenter. Se vuoto vale residential.
Richiesta
curl "https://hiproxy.shop/api/v1/countries?product=datacenter"
Risposta
{
  "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"
        }
      ]
    }
  ]
}

Ottieni un preventivo

POST/api/v1/quoteSenza chiave

Calcola il totale dell'ordine senza toccare il saldo. Invia lo stesso corpo che useresti per effettuare l'ordine.

CampoSignificato
productObbligatorioUno tra unlimited, residential, isp, datacenter.
quantityObbligatorioGiorni per unlimited (1~365), GB per residential (5~5,000), numero di IP per isp (1~1,000) o datacenter (5~5,000).
concurrencyFacoltativoSolo unlimited. Scegli 200, 500, 1000 o 2000.
bandwidthFacoltativoSolo unlimited, in Mbps. Scegli 100, 200, 500 o 1000.
monthsFacoltativoSolo isp e datacenter. Scegli 1, 3, 6 o 12.
countryFacoltativoSolo isp e datacenter. Un codice paese di due lettere come jp. I valori validi sono elencati in /countries.
Richiesta
curl -X POST https://hiproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Risposta
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.78,
  "unit": "day",
  "total_usd": 263.4
}

Effettua un ordine

POST/api/v1/ordersRichiede chiave API

Scala il totale dal saldo e crea l'ordine. Parte come pending (in attivazione) e diventa active quando è pronto. Un ordine che non può essere attivato diventa refunded, e tutto quello che hai pagato torna sul saldo. Se il saldo è insufficiente ricevi 402.

CampoSignificato
productObbligatorioUno tra unlimited, residential, isp, datacenter.
quantityObbligatorioGiorni per unlimited (1~365), GB per residential (5~5,000), numero di IP per isp (1~1,000) o datacenter (5~5,000).
concurrencyFacoltativoSolo unlimited. Scegli 200, 500, 1000 o 2000.
bandwidthFacoltativoSolo unlimited, in Mbps. Scegli 100, 200, 500 o 1000.
monthsFacoltativoSolo isp e datacenter. Scegli 1, 3, 6 o 12.
countryFacoltativoSolo isp e datacenter. Un codice paese di due lettere come jp. I valori validi sono elencati in /countries.
Richiesta
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}'
Risposta
{
  "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
}

Elenca gli ordini

GET/api/v1/ordersRichiede chiave API

Mostra fino a 100 dei tuoi ordini, dal più recente.

CampoSignificato
statusFacoltativoUno tra pending, active, refunded. Se vuoto restituisce ordini in qualsiasi stato.
Richiesta
curl "https://hiproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer hpk_your_api_key"
Risposta
{
  "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"
    }
  ]
}

Leggi un ordine

GET/api/v1/orders/{id}Richiede chiave API

Mostra un singolo ordine tramite il suo id. Utile per verificare se l'attivazione è terminata.

CampoSignificato
idObbligatorioL'id dell'ordine, come HP-7KQ2M-X4HTD.
Richiesta
curl https://hiproxy.shop/api/v1/orders/HP-7KQ2M-X4HTD \
  -H "Authorization: Bearer hpk_your_api_key"
Risposta
{
  "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"
  }
}

Crea un nome utente proxy

GET/api/v1/proxy-userRichiede chiave API

Ti fornisce un nome utente del proxy con le tue opzioni, più gli URL HTTP e SOCKS5 da incollare direttamente. Senza session, l'IP cambia a ogni richiesta.

CampoSignificato
productFacoltativoUno tra unlimited, residential, isp, datacenter. Se vuoto vale unlimited.
countryFacoltativoUn codice paese di due lettere, ad esempio jp.
cityFacoltativoUn valore di città da /countries come tokyo. Funziona solo insieme a country.
sessionFacoltativo1~32 lettere o numeri. Le richieste con la stessa session usano lo stesso IP.
ttlFacoltativoPer quanti minuti mantenere l'IP della sessione, 1~60. Se vuoto vale 30.
Richiesta
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"
Risposta
{
  "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"
}

Esempio passo per passo

Uno script che controlla il prezzo, ordina dal saldo e si connette tramite un IP giapponese.

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

Gli ordini effettuati tramite API vengono gestiti come quelli dalla dashboard e compaiono nella scheda Cronologia. Negli esempi sostituisci hpk_your_api_key con la tua chiave API.

Usa HiProxy dal tuo codice

Registrati con un nome utente, genera una chiave API nella dashboard e sei pronto.