Bagaimana cara memulai?
- 1Daftar dengan username dan masuk ke dashboard.
- 2Buat kunci API di tab Connect. Kunci lengkap hanya tampil sekali, jadi segera simpan di tempat yang aman.
- 3Masukkan kunci di header Authorization pada setiap permintaan yang membutuhkannya.
- 4Panggil /account terlebih dahulu untuk memastikan kunci berfungsi, lalu pesan dengan /orders.
Bagaimana cara kerja autentikasi?
Permintaan terkait akun Anda sendiri (account, orders, proxy-user) memerlukan kunci API. Kirim di header sebagai Authorization: Bearer hpk_... Harga, negara, dan penawaran harga terbuka untuk siapa saja dan tidak perlu kunci.
HiProxy hanya menyimpan hash kunci Anda, tidak pernah kuncinya sendiri. Jika kunci hilang, buat yang baru di dashboard, dan kunci lama langsung diblokir saat itu juga. Simpan kunci hanya di kode sisi server, jangan pernah di kode yang berjalan di browser atau di repositori publik.
Authorization: Bearer hpk_your_api_key
Base URL dan format data
- Base URL
- https://hiproxy.shop/api/v1
- Body permintaan dan respons
- application/json
- Jumlah uang
- USD dalam bentuk angka, mis. 1036.60
- Timestamp
- ISO 8601 (UTC)
Apakah ada batas permintaan?
Setiap kunci API bisa melakukan hingga 60 panggilan per menit. Endpoint publik yang dipanggil tanpa kunci mengizinkan 60 panggilan per menit per IP. Jika melewati batas, Anda mendapat HTTP 429. Tunggu satu menit, lalu kirim lagi.
Seperti apa respons error?
Anda mendapat kode status HTTP dan body JSON berisi kode error singkat serta pesan.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Artinya |
|---|---|---|
| bad_requestHTTP 400Nilai wajib tidak ada, atau produk ini tidak menerima nilai tersebut. | Nilai wajib tidak ada, atau produk ini tidak menerima nilai tersebut. | |
| unauthorizedHTTP 401Kunci API tidak dikirim, atau kuncinya salah. | Kunci API tidak dikirim, atau kuncinya salah. | |
| insufficient_balanceHTTP 402Saldo Anda kurang dari total pesanan. Saldo Anda tidak berubah. | Saldo Anda kurang dari total pesanan. Saldo Anda tidak berubah. | |
| not_foundHTTP 404Akun Anda tidak punya pesanan dengan id ini. | Akun Anda tidak punya pesanan dengan id ini. | |
| rate_limitedHTTP 429Anda melewati batas permintaan per menit. | Anda melewati batas permintaan per menit. | |
| server_errorHTTP 500Server tidak bisa menyelesaikan permintaan. Saldo Anda tidak berubah. | Server tidak bisa menyelesaikan permintaan. Saldo Anda tidak berubah. |
Endpoint
Baca akun Anda
GET/api/v1/accountPerlu kunci API
Menampilkan saldo, host dan port proxy, username dan kata sandi proxy, serta daftar Allowed IPs.
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"
]
}Baca produk dan harga
GET/api/v1/productsTanpa kunci
Menampilkan batas pesanan, harga per tingkat, dan diskon periode untuk setiap produk. Memakai tabel harga yang sama dengan halaman harga.
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",
"...": "..."
}
]
}Daftar negara dan kota
GET/api/v1/countriesTanpa kunci
Menampilkan negara yang didukung setiap produk dan nilai kota untuk opsi username -city-.
| Field | Tipe | Artinya |
|---|---|---|
productOpsional | string | Salah satu dari unlimited, residential, isp, datacenter. Kosong berarti 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"
}
]
}
]
}Dapatkan penawaran harga
POST/api/v1/quoteTanpa kunci
Menghitung total pesanan tanpa menyentuh saldo Anda. Kirim body yang sama seperti saat membuat pesanan.
| Field | Tipe | Artinya |
|---|---|---|
productWajib | string | Salah satu dari unlimited, residential, isp, datacenter. |
quantityWajib | integer | Hari untuk unlimited (1~365), GB untuk residential (5~5,000), jumlah IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyOpsional | integer | Khusus unlimited. Pilih 200, 500, 1000, atau 2000. |
bandwidthOpsional | integer | Khusus unlimited, dalam Mbps. Pilih 100, 200, 500, atau 1000. |
monthsOpsional | integer | Khusus isp dan datacenter. Pilih 1, 3, 6, atau 12. |
countryOpsional | string | Khusus isp dan datacenter. Kode negara dua huruf seperti jp. Nilai yang valid tercantum di /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
}Buat pesanan
POST/api/v1/ordersPerlu kunci API
Memotong total dari saldo dan membuat pesanan. Pesanan dimulai sebagai pending (sedang diaktifkan) dan berubah menjadi active setelah siap. Pesanan yang tidak bisa diaktifkan menjadi refunded, dan semua yang Anda bayar kembali ke saldo. Jika saldo tidak cukup, Anda mendapat 402.
| Field | Tipe | Artinya |
|---|---|---|
productWajib | string | Salah satu dari unlimited, residential, isp, datacenter. |
quantityWajib | integer | Hari untuk unlimited (1~365), GB untuk residential (5~5,000), jumlah IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyOpsional | integer | Khusus unlimited. Pilih 200, 500, 1000, atau 2000. |
bandwidthOpsional | integer | Khusus unlimited, dalam Mbps. Pilih 100, 200, 500, atau 1000. |
monthsOpsional | integer | Khusus isp dan datacenter. Pilih 1, 3, 6, atau 12. |
countryOpsional | string | Khusus isp dan datacenter. Kode negara dua huruf seperti jp. Nilai yang valid tercantum di /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
}Daftar pesanan
GET/api/v1/ordersPerlu kunci API
Menampilkan hingga 100 pesanan Anda, yang terbaru lebih dulu.
| Field | Tipe | Artinya |
|---|---|---|
statusOpsional | string | Salah satu dari pending, active, refunded. Kosong menampilkan pesanan dengan status apa pun. |
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"
}
]
}Baca satu pesanan
GET/api/v1/orders/{id}Perlu kunci API
Menampilkan satu pesanan berdasarkan id-nya. Berguna untuk mengecek apakah aktivasi sudah selesai.
| Field | Tipe | Artinya |
|---|---|---|
idWajib | string | Id pesanan, misalnya 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"
}
}Susun username proxy
GET/api/v1/proxy-userPerlu kunci API
Memberi Anda username proxy yang berisi opsi Anda, plus URL HTTP dan SOCKS5 yang bisa langsung ditempel. Tanpa session, IP berganti di setiap permintaan.
| Field | Tipe | Artinya |
|---|---|---|
productOpsional | string | Salah satu dari unlimited, residential, isp, datacenter. Kosong berarti unlimited. |
countryOpsional | string | Kode negara dua huruf seperti jp. |
cityOpsional | string | Nilai kota dari /countries seperti tokyo. Hanya berfungsi bersama country. |
sessionOpsional | string | 1~32 huruf atau angka. Permintaan dengan session yang sama memakai IP yang sama. |
ttlOpsional | integer | Berapa menit IP sesi ditahan, 1~60. Kosong berarti 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"
}Contoh langkah demi langkah
Satu skrip yang mengecek harga, memesan dari saldo, dan terhubung lewat IP Jepang.
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);Pesanan lewat API diproses sama seperti pesanan dari dashboard dan muncul di tab Riwayat. Ganti hpk_your_api_key di contoh dengan kunci API Anda sendiri.