Nereden başlamalıyım?
- 1Bir kullanıcı adıyla kayıt olun ve panele giriş yapın.
- 2Bağlantı sekmesinde bir API anahtarı oluşturun. Anahtarın tamamı yalnızca bir kez, oluşturduğunuzda gösterilir, bu yüzden hemen güvenli bir yere kaydedin.
- 3Anahtarı gerektiren her istekte Authorization başlığında gönderin.
- 4Anahtarın çalıştığını kontrol etmek için önce /account çağırın, ardından /orders ile sipariş verin.
Kimlik doğrulama
Kendi hesabınızla ilgili istekler (account, orders, proxy-user) başlıkta Authorization: Bearer spk_... olarak gönderilen bir API anahtarı gerektirir. Fiyatlar, ülkeler ve teklifler herkese açıktır, anahtarsız çalışır.
StarProxy her anahtarın kendisini değil, yalnızca hash değerini saklar. Bir anahtarı kaybederseniz panelden yenisini oluşturun. Eski anahtar o anda çalışmayı bırakır. Anahtarları yalnızca sunucu kodunda tutun. Asla tarayıcıda çalışan koda veya herkese açık bir depoya koymayın.
Authorization: Bearer spk_your_api_key
Temel URL ve veri biçimi
- Temel URL
- https://starproxy.shop/api/v1
- İstek ve yanıt gövdesi
- application/json
- Tutarlar
- Sayı olarak USD, örn. 1047.70
- Zaman damgaları
- ISO 8601 (UTC)
Çağrı sınırı var mı?
Bir API anahtarı dakikada en fazla 60 çağrı yapabilir. Anahtarsız herkese açık uç noktalar IP başına dakikada 60 çağrıya izin verir. Sınırı aşarsanız HTTP 429 alırsınız, bir dakika bekleyip tekrar gönderin.
Hatalar nasıl görünür?
Bir HTTP durum kodu ve kısa bir hata kodu ile mesaj içeren JSON gövdesi.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Anlamı |
|---|---|---|
| bad_requestHTTP 400Gerekli bir değer eksik veya değer bu ürün için geçerli değil. | Gerekli bir değer eksik veya değer bu ürün için geçerli değil. | |
| unauthorizedHTTP 401API anahtarı eksik veya eşleşmiyor. | API anahtarı eksik veya eşleşmiyor. | |
| insufficient_balanceHTTP 402Bakiyeniz sipariş toplamından düşük. Hiçbir şey düşülmedi. | Bakiyeniz sipariş toplamından düşük. Hiçbir şey düşülmedi. | |
| not_foundHTTP 404Hesabınızda bu id ile bir sipariş yok. | Hesabınızda bu id ile bir sipariş yok. | |
| rate_limitedHTTP 429Bir dakika içinde çok fazla istek. | Bir dakika içinde çok fazla istek. | |
| server_errorHTTP 500Sunucu isteği tamamlayamadı. Hiçbir şey düşülmedi. | Sunucu isteği tamamlayamadı. Hiçbir şey düşülmedi. |
Uç noktalar
Hesabı getir
GET/api/v1/accountAPI anahtarı gerekli
Bakiyenizi, proxy host ve portlarını, proxy kullanıcı adı ve şifresini ve izinli IP'lerinizi döndürür.
curl https://starproxy.shop/api/v1/account \ -H "Authorization: Bearer spk_your_api_key"
{
"username": "star_user01",
"balance_usd": 1300,
"proxy": {
"host": "gate.starproxy.shop",
"http_port": 6100,
"socks5_port": 6200,
"username": "spexample1",
"password": "your_password"
},
"allowed_ips": [
"203.0.113.10"
]
}Ürünleri ve fiyatları getir
GET/api/v1/productsAnahtar gerekmez
Fiyatlar sayfasıyla aynı fiyat tablosundan her ürünün sipariş aralığını, miktar basamağı başına fiyatını ve süre indirimlerini döndürür.
curl https://starproxy.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",
"...": "..."
}
]
}Ülkeleri ve şehirleri listele
GET/api/v1/countriesAnahtar gerekmez
Her ürünün desteklediği ülkeleri ve -city- kullanıcı adı seçeneği için şehir değerlerini döndürür.
| Alan | Tür | Anlamı |
|---|---|---|
productİsteğe bağlı | string | unlimited, residential, isp, datacenter değerlerinden biri. Varsayılan residential. |
curl "https://starproxy.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"
}
]
}
]
}Fiyat teklifi alın
POST/api/v1/quoteAnahtar gerekmez
Bakiyenize dokunmadan sipariş toplamını hesaplar. Sipariş için kullanacağınız gövdenin aynısını gönderin.
| Alan | Tür | Anlamı |
|---|---|---|
productZorunlu | string | unlimited, residential, isp, datacenter değerlerinden biri. |
quantityZorunlu | integer | unlimited için gün (1~365), residential için GB (5~5,000), isp (1~1,000) veya datacenter (5~5,000) için IP sayısı. |
concurrencyİsteğe bağlı | integer | Yalnızca unlimited. 200, 500, 1000, 2000 değerlerinden biri. |
bandwidthİsteğe bağlı | integer | Yalnızca unlimited, Mbps cinsinden. 100, 200, 500, 1000 değerlerinden biri. |
monthsİsteğe bağlı | integer | Yalnızca isp ve datacenter. 1, 3, 6, 12 değerlerinden biri. |
countryİsteğe bağlı | string | Yalnızca isp ve datacenter. jp gibi iki harfli ülke kodu. Geçerli değerler için /countries'e bakın. |
curl -X POST https://starproxy.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.41,
"unit": "day",
"total_usd": 252.3
}Sipariş oluştur
POST/api/v1/ordersAPI anahtarı gerekli
Toplamı bakiyenizden alır ve siparişi oluşturur. Durum pending (etkinleştiriliyor) olarak başlar ve sipariş hazır olduğunda active olur. Etkinleştirilemezse refunded olur ve tutarın tamamı bakiyenize geri döner. Bakiye yetersizse 402 döner.
| Alan | Tür | Anlamı |
|---|---|---|
productZorunlu | string | unlimited, residential, isp, datacenter değerlerinden biri. |
quantityZorunlu | integer | unlimited için gün (1~365), residential için GB (5~5,000), isp (1~1,000) veya datacenter (5~5,000) için IP sayısı. |
concurrencyİsteğe bağlı | integer | Yalnızca unlimited. 200, 500, 1000, 2000 değerlerinden biri. |
bandwidthİsteğe bağlı | integer | Yalnızca unlimited, Mbps cinsinden. 100, 200, 500, 1000 değerlerinden biri. |
monthsİsteğe bağlı | integer | Yalnızca isp ve datacenter. 1, 3, 6, 12 değerlerinden biri. |
countryİsteğe bağlı | string | Yalnızca isp ve datacenter. jp gibi iki harfli ülke kodu. Geçerli değerler için /countries'e bakın. |
curl -X POST https://starproxy.shop/api/v1/orders \
-H "Authorization: Bearer spk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"order": {
"id": "SP-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.41,
"total_usd": 252.3,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
},
"balance_usd": 1047.7
}Siparişleri listele
GET/api/v1/ordersAPI anahtarı gerekli
En yeniden başlayarak en fazla 100 sipariş döndürür.
| Alan | Tür | Anlamı |
|---|---|---|
statusİsteğe bağlı | string | pending, active, refunded değerlerinden biri. Tüm durumlar için boş bırakın. |
curl "https://starproxy.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer spk_your_api_key"
{
"orders": [
{
"id": "SP-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.41,
"total_usd": 252.3,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
}
]
}Sipariş getir
GET/api/v1/orders/{id}API anahtarı gerekli
id ile tek bir sipariş döndürür. Etkinleştirmenin bitip bitmediğini görmek için kullanın.
| Alan | Tür | Anlamı |
|---|---|---|
idZorunlu | string | Sipariş id'si, örneğin SP-7KQ2M-X4HTD. |
curl https://starproxy.shop/api/v1/orders/SP-7KQ2M-X4HTD \ -H "Authorization: Bearer spk_your_api_key"
{
"order": {
"id": "SP-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.41,
"total_usd": 252.3,
"status": "active",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:40:02.511Z"
}
}Proxy kullanıcı adı oluştur
GET/api/v1/proxy-userAPI anahtarı gerekli
Seçenekleriniz eklenmiş bir proxy kullanıcı adı ile yapıştırmaya hazır HTTP ve SOCKS5 URL'lerini döndürür. session olmadan her istek yeni bir IP alır.
| Alan | Tür | Anlamı |
|---|---|---|
productİsteğe bağlı | string | unlimited, residential, isp, datacenter değerlerinden biri. Varsayılan unlimited. |
countryİsteğe bağlı | string | İki harfli ülke kodu, örneğin jp. |
cityİsteğe bağlı | string | /countries içindeki bir şehir değeri, örneğin tokyo. country gerektirir. |
sessionİsteğe bağlı | string | 1~32 harf veya rakam. Aynı session değerine sahip istekler tek bir IP'yi paylaşır. |
ttlİsteğe bağlı | integer | Oturum IP'sinin korunacağı dakika, 1~60. Varsayılan 30. |
curl "https://starproxy.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \ -H "Authorization: Bearer spk_your_api_key"
{
"username": "spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
"password": "your_password",
"http": "http://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6100",
"socks5": "socks5h://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6200"
}Tam örnek
Fiyat teklifi alan, bakiyeden sipariş veren ve Japonya'daki bir IP üzerinden bağlanan tek bir betik.
import requests
API = "https://starproxy.shop/api/v1"
HEAD = {"Authorization": "Bearer spk_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://starproxy.shop/api/v1";
const HEAD = { Authorization: "Bearer spk_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);API siparişleri panel siparişleriyle aynı şekilde işlenir ve Geçmiş sekmesinde görünür. Örneklerdeki spk_your_api_key yerine kendi anahtarınızı yazın.