Dokumentasi API

Satu endpoint proxy untuk semua protokol, username yang bisa memilih negara sampai kota dan ISP, dan REST API untuk mengelola saldo, kuota, serta subuser dari aplikasimu.

Mulai cepat

Satu endpoint untuk semua protokol. Aplikasi apa pun yang mendukung proxy HTTP atau SOCKS5 bisa langsung terhubung.

ProtokolHTTP · HTTPS · SOCKS5semua di port yang sama
# HTTP / HTTPS
curl -x http://USERNAME:PASSWORD@proxy.waroengproxy.com:80 https://api.ipify.org
# SOCKS5 di port yang sama (DNS ikut lewat proxy)
curl -x socks5h://USERNAME:PASSWORD@proxy.waroengproxy.com:80 https://api.ipify.org
# Target Indonesia, IP tetap 10 menit
curl -x http://USERNAME-cc-ID-s-job42-ttl-600:PASSWORD@proxy.waroengproxy.com:80 https://api.ipify.org

Username & password

Dibuat otomatis saat kamu mendaftar, lihat di dashboard. Ganti USERNAME dan PASSWORD di contoh dengan milikmu.

Tanpa password lewat whitelist

Daftarkan sampai 3 IP server di whitelist. Koneksi dari IP itu diterima tanpa username dan password.

Pakai socks5h://

Dengan socks5h, DNS ikut di-resolve lewat proxy. Lokasi yang dilihat situs tujuan jadi konsisten dan DNS lokalmu tidak bocor.

HTTPS tetap terenkripsi

Untuk situs HTTPS, klien membuka tunnel CONNECT. Isi trafikmu tetap terenkripsi dari aplikasi sampai situs tujuan.

Format username

Host, port, dan password tidak pernah berubah. Lokasi, jaringan, dan sesi dipilih lewat username dengan pola {username}-{key}-{value}…

USERNAMEusername proxy-cc-IDnegara-ct-Surabayakota-s-job42label sesi-ttl-600tahan 600 detik

Daftar key

Pakai satu key atau gabungkan beberapa. Tanpa key, kamu mendapat IP acak dari seluruh jaringan.

KeyFungsiContoh
ccKode negara ISO 3166-1, atau EU untuk 27 negara Uni EropaUSERNAME-cc-ID
coKode benua: NA, SA, EU, AS, AF, OCUSERNAME-co-AS
stKode wilayah/provinsi ISO 3166-2, maks. 3 karakterUSERNAME-cc-US-st-CA
ctNama kota tanpa spasi, tanda baca, dan aksenUSERNAME-ct-Jakarta
pcKode pos persis, huruf/angka, maks. 12USERNAME-cc-US-pc-90011
dmaKode wilayah metro AS (Nielsen DMA)USERNAME-cc-US-dma-501
gidID kota GeoNames (tidak ambigu)USERNAME-gid-1642911
geoRadius dari titik koordinat, 1–100 kmUSERNAME-geo-6.2s106.8e25
asnNomor sistem otonom (operator jaringan)USERNAME-asn-7713
ispSlug ISP: huruf kecil, tanpa kata korporatUSERNAME-isp-telkomsel
tzZona waktu IANA, "/" ditulis "."USERNAME-tz-Asia.Jakarta
sID sesi sticky: label sama = IP samaUSERNAME-s-job42
ttlLama sesi sticky dalam detik (1–86400, bawaan 60)USERNAME-ttl-600

Contoh

Klik untuk menyalin, lalu ganti USERNAME dengan username proxy-mu.

Aturan penulisan

Tanda "-" dipakai sebagai pemisah, jadi beberapa nilai perlu ditulis dengan cara khusus.

Zona waktu (tz)

Garis miring "/" ditulis titik "." karena "/" merusak URL proxy.

Asia/Jakarta
ditulis
tz-Asia.Jakarta
America/New_York
ditulis
tz-America.New_York

Koordinat (geo)

Tanda minus tidak dipakai. Lintang diberi huruf n (utara) atau s (selatan), bujur e (timur) atau w (barat), lalu radius 1–100 km.

-6.2, 106.8, radius 25 km
ditulis
geo-6.2s106.8e25
34.05, -118.24, radius 50 km
ditulis
geo-34.05n118.24w50

Kota (ct)

Tulis sebagai slug: tanpa spasi, tanda baca, dan aksen.

São Paulo
ditulis
ct-SaoPaulo
Kuala Lumpur
ditulis
ct-KualaLumpur

ISP (isp)

Huruf kecil tanpa spasi. Kata korporat seperti Inc, LLC, atau Communications dibuang.

Charter Communications
ditulis
isp-charter
T-Mobile
ditulis
isp-tmobile

Perilaku targeting

Aturan ini berlaku sama untuk HTTP, HTTPS, dan SOCKS5.

Fail-closed

Key yang tidak dikenal atau nilai yang salah format membuat autentikasi ditolak. Salah ketik tidak diam-diam memberimu IP dari lokasi lain.

Tidak ada yang cocok, koneksi ditolak

Kalau tidak ada IP online yang memenuhi semua filter, koneksi ditolak, bukan dialihkan ke lokasi terdekat. Longgarkan filter lalu coba lagi.

Semua filter berlaku bersamaan

Filter digabung dengan AND: -cc-US-isp-comcast berarti IP Comcast yang ada di AS. Makin banyak filter, makin kecil kolam IP-nya.

Hanya huruf besar-kecil yang disamakan

cc-id sama dengan cc-ID. Selain itu nilai dipakai apa adanya: spasi, aksen, dan tanda baca tidak dibersihkan otomatis.

Rotating & sticky

Pilih apakah IP berganti di setiap koneksi atau bertahan untuk satu sesi.

Rotating

bawaan

Tanpa key s. Setiap koneksi baru mendapat IP baru. Cocok untuk scraping volume besar dan pantau harga.

Sticky

per sesi

Tambah -s-label untuk menahan IP yang sama selama ttl detik (1–86400, bawaan 60). Label sama berarti IP sama, label beda berarti IP beda. Cocok untuk login dan checkout.

Kalau perangkatnya offline

IP residential berasal dari perangkat sungguhan. Kalau perangkat itu offline sebelum TTL habis, sesi pindah ke IP baru dengan filter yang sama. Untuk alur penting, cek IP di awal tiap langkah.

Label sesi

Huruf dan angka saja, tanpa tanda minus. Pakai label unik per akun atau per tugas. Generator proxy di dashboard bisa membuat ribuan label sekaligus.

REST API v1

Kelola akun dari server atau bot: cek saldo dan kuota, beli GB, buat deposit QRIS, atur whitelist, sampai kelola subuser reseller. Request dan respons berformat JSON.

AutentikasiX-Api-Keyheader di setiap request
Batas60 request/menitper API key

Autentikasi

Kirim API key di header X-Api-Key pada setiap request. Contoh kode di halaman ini membaca key dari environment variable WX_API_KEY.

Header
X-Api-Key: wxk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

Dibuat di dashboard

Buat di dashboard, menu Akses API. Key lengkap hanya tampil sekali saat dibuat. Panggil API dari server, jangan dari browser atau aplikasi mobile.

Buat ulang, key lama mati

Kalau key bocor, buat ulang. Key lama langsung ditolak dengan 401.

IP whitelist (opsional)

Isi satu IP server supaya key hanya diterima dari IP itu. Kosong berarti semua IP. Request dari IP lain dijawab 403.

Bisa dimatikan sementara

API bisa dinonaktifkan tanpa menghapus key. Selama nonaktif, semua request dijawab 403.

Error & batasan

Respons selain 2xx selalu berisi { "error": "pesan" }. Pesannya dalam Bahasa Indonesia dan bisa langsung ditampilkan ke pengguna.

Contoh respons 402
{
"error": "Saldo kurang 15.000 rupiah. Top up dulu di halaman Deposit."
}
HTTPArtiKapan terjadi
400Input tidak validBody atau parameter salah, mis. GB di luar batas atau format IP keliru.
401Key tidak dikenaliHeader X-Api-Key kosong, salah, atau key sudah dibuat ulang.
402Saldo kurangSaldo tidak cukup untuk pembelian. Buat deposit dulu.
403Akses ditolakAPI dinonaktifkan, IP tidak cocok dengan whitelist API, atau butuh add-on (mis. Reseller).
404Tidak ditemukanEndpoint atau ID (mis. subuser) tidak ada di akunmu.
429Terlalu seringLebih dari 60 request per menit untuk satu key. Tunggu sebentar lalu ulangi.

Rate limit

60 request per menit per API key.

Beli GB

1 sampai 10.000 GB per request, desimal maksimal 2 digit.

Deposit

Minimal Rp10.000 per tagihan QRIS, berlaku 30 menit.

Whitelist proxy

Maksimal 3 IP per akun.

Angka

Uang dalam Rupiah (bilangan bulat), kuota dalam GB (desimal).

Waktu

ISO 8601 dalam UTC, mis. 2026-09-26T03:12:40.000Z.

Akun & pemakaian

Pantau saldo dan kuota dari bot atau dashboard internalmu.

GET/account

Info akun

Saldo (Rupiah), kuota GB (purchased, bonus, used, left), rank, add-on, dan batas kecepatan akun.

curl "https://waroengproxy.com/api/v1/account" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
{
"id": "WX-7K2M9",
"rank": "user",
"addons": [],
"balance": 183500,
"gb": {
"purchased": 60,
"bonus": 13,
"used": 21.4,
"left": 51.6
},
"speed_mbps": 200,
"unlimited": null,
"created_at": "2026-09-05T02:14:09.000Z"
}

GET/usage

Pemakaian harian

GB terpakai per hari (tanggal WIB), dari yang terlama. Cocok untuk grafik atau peringatan kuota menipis.

Query

daysintegeropsional

1 sampai 90. Bawaan 14.

curl "https://waroengproxy.com/api/v1/usage?days=14" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200 (dipotong)
[
{
"date": "2026-09-24",
"gb": 1.4
},
{
"date": "2026-09-25",
"gb": 2.2
},
{
"date": "2026-09-26",
"gb": 0.7
}
]

Proxy & whitelist

Ambil kredensial untuk aplikasimu, ganti password, dan atur IP yang boleh masuk tanpa password.

GET/proxy

Kredensial proxy

Host, port, username, password, dan daftar IP whitelist. Simpan password di sisi server saja.

curl "https://waroengproxy.com/api/v1/proxy" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
{
"host": "proxy.waroengproxy.com",
"port": 80,
"username": "wx7k2m9q",
"password": "3fa94c0d8b21e7a5",
"whitelist": [
"203.0.113.42"
]
}

POST/proxy/regenerate

Ganti password proxy

Membuat password baru. Password lama langsung berhenti bekerja di semua aplikasi; username tidak berubah.

curl -X POST "https://waroengproxy.com/api/v1/proxy/regenerate" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
{
"host": "proxy.waroengproxy.com",
"port": 80,
"username": "wx7k2m9q",
"password": "b81d0e4c29f7a613",
"whitelist": [
"203.0.113.42"
]
}

POST/proxy/whitelist

Tambah IP whitelist

IP yang terdaftar bisa memakai proxy tanpa username dan password. Maksimal 3 IP.

Body JSON

ipstringwajib

IPv4 atau IPv6, mis. 203.0.113.42.

curl -X POST "https://waroengproxy.com/api/v1/proxy/whitelist" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "203.0.113.42"}'
Respons 200
{
"whitelist": [
"203.0.113.42"
]
}

POST/proxy/whitelist/remove

Hapus IP whitelist

Menghapus satu IP. Koneksi baru dari IP itu kembali butuh username dan password.

Body JSON

ipstringwajib

IP yang akan dihapus.

curl -X POST "https://waroengproxy.com/api/v1/proxy/whitelist/remove" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "203.0.113.42"}'
Respons 200
{
"whitelist": []
}

Beli GB & deposit

Isi saldo lewat QRIS lalu ubah jadi kuota, semuanya dari servermu.

POST/plans/buy

Beli kuota GB

Memotong saldo dan menambah kuota. Harga mengikuti diskon volume yang berlaku. Saldo kurang dijawab 402.

Body JSON

gbnumberwajib

1 sampai 10.000, boleh desimal 2 digit.

curl -X POST "https://waroengproxy.com/api/v1/plans/buy" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gb": 10}'
Respons 200
{
"gb_added": 10,
"charged": 65000,
"balance": 118500
}

GET/deposits

Daftar deposit

Terbaru dulu. Status: pending, paid, expired, atau cancelled. Deposit kripto dari dashboard membawa coin, network, dan pay_amount.

curl "https://waroengproxy.com/api/v1/deposits" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
[
{
"id": "DP-8QX4BD",
"method": "qris",
"amount": 100000,
"status": "pending",
"created_at": "2026-09-26T03:12:40.000Z",
"expires_at": "2026-09-26T03:42:40.000Z",
"paid_at": null
},
{
"id": "DP-3HN8CW",
"method": "crypto",
"amount": 188500,
"status": "paid",
"created_at": "2026-09-20T11:05:12.000Z",
"expires_at": "2026-09-20T11:35:12.000Z",
"paid_at": "2026-09-20T11:15:40.000Z",
"coin": "USDT",
"network": "Tron (TRC20)",
"pay_amount": "11.42"
}
]

POST/deposits

Buat deposit QRIS

Tagihan berlaku 30 menit. Tampilkan qris sebagai gambar QR atau arahkan pengguna ke pay_url. Saldo bertambah otomatis setelah dibayar; pantau statusnya lewat GET /deposits.

Body JSON

methodstringwajib

Saat ini hanya qris.

amountintegerwajib

Nominal Rupiah, minimal Rp10.000.

curl -X POST "https://waroengproxy.com/api/v1/deposits" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "qris", "amount": 100000}'
Respons 200
{
"id": "DP-8QX4BD",
"pay_url": "https://waroengpay.com/pay/DP-8QX4BD",
"qris": "00020101021226670016COM.WAROENGPAY0118936000143000000000…6304A1B2",
"expires_at": "2026-09-26T03:42:40.000Z"
}

GET/transactions

Riwayat transaksi

Deposit (amount positif) dan pembelian (negatif), terbaru dulu. Bonus hadiah tercatat sebagai deposit Rp0 dengan field gb.

curl "https://waroengproxy.com/api/v1/transactions" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
[
{
"id": "Q7M2K9XA",
"kind": "purchase",
"label": "Beli 10 GB",
"gb": 10,
"amount": -65000,
"at": "2026-09-26T03:20:05.000Z"
},
{
"id": "B4D1PZ8F",
"kind": "deposit",
"label": "Deposit QRIS",
"method": "QRIS",
"amount": 250000,
"at": "2026-09-26T03:14:10.000Z"
},
{
"id": "H3N8C2LW",
"kind": "deposit",
"label": "Bonus hadiah tingkat 1",
"gb": 3,
"amount": 0,
"at": "2026-09-21T09:00:00.000Z"
}
]

Reseller

Buat akun turunan untuk pelangganmu dan bagi kuota GB ke masing-masing.

Butuh add-on Reseller. Tanpa add-on, semua endpoint di bagian ini dijawab 403.Lihat harga

GET/reseller/subusers

Daftar subuser

Semua subuser beserta kuota yang dialokasikan dan yang sudah terpakai.

curl "https://waroengproxy.com/api/v1/reseller/subusers" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
[
{
"id": "A1B2C3D4",
"name": "Tim Ads",
"username": "wx7k2m9q_timads",
"gb_limit": 5,
"gb_used": 1.25,
"active": true,
"created_at": "2026-09-20T08:30:00.000Z"
}
]

POST/reseller/subusers

Buat subuser

GB yang dialokasikan langsung dipotong dari sisa kuotamu. Username subuser dibentuk dari username-mu dan nama subuser.

Body JSON

namestringwajib

Minimal 2 karakter.

gbnumberopsional

Kuota awal, tidak boleh melebihi sisa kuotamu. Bawaan 0.

curl -X POST "https://waroengproxy.com/api/v1/reseller/subusers" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Tim Ads", "gb": 5}'
Respons 200
{
"id": "A1B2C3D4",
"name": "Tim Ads",
"username": "wx7k2m9q_timads",
"gb_limit": 5,
"gb_used": 0,
"active": true,
"created_at": "2026-09-26T03:25:00.000Z"
}

POST/reseller/subusers/:id/allocate

Atur kuota subuser

Angka positif menambah kuota, angka negatif menarik kembali GB yang belum terpakai ke akunmu.

Path

idstringwajib

ID subuser.

Body JSON

gbnumberwajib

Perubahan kuota. Tambahan tidak boleh melebihi sisa kuotamu, dan batas baru tidak boleh di bawah GB yang sudah dipakai subuser.

curl -X POST "https://waroengproxy.com/api/v1/reseller/subusers/A1B2C3D4/allocate" \
-H "X-Api-Key: $WX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gb": 2.5}'
Respons 200
{
"id": "A1B2C3D4",
"name": "Tim Ads",
"username": "wx7k2m9q_timads",
"gb_limit": 7.5,
"gb_used": 1.25,
"active": true,
"created_at": "2026-09-20T08:30:00.000Z"
}

POST/reseller/subusers/:id/toggle

Aktifkan / nonaktifkan subuser

Membalik status aktif. Subuser nonaktif tidak bisa memakai proxy, kuotanya tetap tersimpan.

Path

idstringwajib

ID subuser.

curl -X POST "https://waroengproxy.com/api/v1/reseller/subusers/A1B2C3D4/toggle" \
-H "X-Api-Key: $WX_API_KEY"
Respons 200
{
"id": "A1B2C3D4",
"name": "Tim Ads",
"username": "wx7k2m9q_timads",
"gb_limit": 5,
"gb_used": 1.25,
"active": false,
"created_at": "2026-09-20T08:30:00.000Z"
}