Come inizio?
- 1Registrati con un nome utente e accedi alla dashboard.
- 2Genera una chiave API nella scheda Connetti. La chiave completa compare una sola volta, quindi salvala subito in un posto sicuro.
- 3Inserisci la chiave nell'header Authorization di ogni richiesta che la richiede.
- 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.
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.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Significato |
|---|---|---|
| bad_requestHTTP 400Manca un valore obbligatorio, oppure questo prodotto non accetta il valore. | Manca un valore obbligatorio, oppure questo prodotto non accetta il valore. | |
| unauthorizedHTTP 401Non è stata inviata alcuna chiave API, oppure la chiave è errata. | Non è stata inviata alcuna chiave API, oppure la chiave è errata. | |
| insufficient_balanceHTTP 402Il tuo saldo è inferiore al totale dell'ordine. Il saldo non è stato toccato. | Il tuo saldo è inferiore al totale dell'ordine. Il saldo non è stato toccato. | |
| not_foundHTTP 404Il tuo account non ha nessun ordine con questo id. | Il tuo account non ha nessun ordine con questo id. | |
| rate_limitedHTTP 429Hai superato il limite di richieste al minuto. | Hai superato il limite di richieste al minuto. | |
| server_errorHTTP 500Il server non è riuscito a completare la richiesta. Il saldo non è stato toccato. | Il 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.
curl https://hiproxy.shop/api/v1/account \ -H "Authorization: Bearer hpk_your_api_key"
{
"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.
curl https://hiproxy.shop/api/v1/products
{
"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.
| Campo | Tipo | Significato |
|---|---|---|
productFacoltativo | string | Uno tra unlimited, residential, isp, datacenter. Se vuoto vale residential. |
curl "https://hiproxy.shop/api/v1/countries?product=datacenter"
{
"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.
| Campo | Tipo | Significato |
|---|---|---|
productObbligatorio | string | Uno tra unlimited, residential, isp, datacenter. |
quantityObbligatorio | integer | Giorni per unlimited (1~365), GB per residential (5~5,000), numero di IP per isp (1~1,000) o datacenter (5~5,000). |
concurrencyFacoltativo | integer | Solo unlimited. Scegli 200, 500, 1000 o 2000. |
bandwidthFacoltativo | integer | Solo unlimited, in Mbps. Scegli 100, 200, 500 o 1000. |
monthsFacoltativo | integer | Solo isp e datacenter. Scegli 1, 3, 6 o 12. |
countryFacoltativo | string | Solo isp e datacenter. Un codice paese di due lettere come jp. I valori validi sono elencati in /countries. |
curl -X POST https://hiproxy.shop/api/v1/quote \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"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.
| Campo | Tipo | Significato |
|---|---|---|
productObbligatorio | string | Uno tra unlimited, residential, isp, datacenter. |
quantityObbligatorio | integer | Giorni per unlimited (1~365), GB per residential (5~5,000), numero di IP per isp (1~1,000) o datacenter (5~5,000). |
concurrencyFacoltativo | integer | Solo unlimited. Scegli 200, 500, 1000 o 2000. |
bandwidthFacoltativo | integer | Solo unlimited, in Mbps. Scegli 100, 200, 500 o 1000. |
monthsFacoltativo | integer | Solo isp e datacenter. Scegli 1, 3, 6 o 12. |
countryFacoltativo | string | Solo isp e datacenter. Un codice paese di due lettere come jp. I valori validi sono elencati in /countries. |
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}'{
"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.
| Campo | Tipo | Significato |
|---|---|---|
statusFacoltativo | string | Uno tra pending, active, refunded. Se vuoto restituisce ordini in qualsiasi stato. |
curl "https://hiproxy.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer hpk_your_api_key"
{
"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.
| Campo | Tipo | Significato |
|---|---|---|
idObbligatorio | string | L'id dell'ordine, come HP-7KQ2M-X4HTD. |
curl https://hiproxy.shop/api/v1/orders/HP-7KQ2M-X4HTD \ -H "Authorization: Bearer hpk_your_api_key"
{
"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.
| Campo | Tipo | Significato |
|---|---|---|
productFacoltativo | string | Uno tra unlimited, residential, isp, datacenter. Se vuoto vale unlimited. |
countryFacoltativo | string | Un codice paese di due lettere, ad esempio jp. |
cityFacoltativo | string | Un valore di città da /countries come tokyo. Funziona solo insieme a country. |
sessionFacoltativo | string | 1~32 lettere o numeri. Le richieste con la stessa session usano lo stesso IP. |
ttlFacoltativo | integer | Per quanti minuti mantenere l'IP della sessione, 1~60. Se vuoto vale 30. |
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"
{
"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.
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())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.