Zum Inhalt springen
starproxy
Starten

StarProxy API

Der Großteil des Dashboards ist auch per Code nutzbar. Guthaben prüfen, Preise abrufen, aus dem Guthaben bestellen und Proxy-Benutzernamen mit Optionen abrufen, alles über eine REST API.

Wo fange ich an?

  1. 1Registrieren Sie sich mit einem Benutzernamen und melden Sie sich im Dashboard an.
  2. 2Erstellen Sie im Tab Verbindung einen API-Schlüssel. Der vollständige Schlüssel wird nur einmal beim Erstellen angezeigt. Bewahren Sie ihn also sofort sicher auf.
  3. 3Senden Sie den Schlüssel im Authorization-Header mit jeder Anfrage, die ihn braucht.
  4. 4Rufen Sie zuerst /account auf, um zu prüfen, ob der Schlüssel funktioniert, und bestellen Sie dann über /orders.

Authentifizierung

Anfragen zu Ihrem eigenen Konto (account, orders, proxy-user) brauchen einen API-Schlüssel, der im Header als Authorization: Bearer spk_... gesendet wird. Preise, Länder und Preisangebote sind öffentlich und funktionieren ohne Schlüssel.

StarProxy speichert von jedem Schlüssel nur einen Hash, nicht den Schlüssel selbst. Wenn Sie einen Schlüssel verlieren, erstellen Sie im Dashboard einen neuen. Der alte Schlüssel funktioniert ab diesem Moment nicht mehr. Verwenden Sie Schlüssel nur in Servercode. Setzen Sie sie nie in Code, der im Browser läuft, oder in ein öffentliches Repository.

HTTP header
Authorization: Bearer spk_your_api_key

Basis-URL und Datenformat

Basis-URL
https://starproxy.shop/api/v1
Request- und Response-Body
application/json
Beträge
USD als Zahl, z. B. 1047.70
Zeitstempel
ISO 8601 (UTC)

Gibt es ein Rate Limit?

Ein API-Schlüssel kann bis zu 60 Aufrufe pro Minute ausführen. Öffentliche Endpunkte ohne Schlüssel erlauben 60 Aufrufe pro Minute und IP. Über dem Limit erhalten Sie HTTP 429. Warten Sie dann eine Minute und senden Sie erneut.

Wie sehen Fehler aus?

Ein HTTP-Statuscode plus ein JSON-Body mit einem kurzen Fehlercode und einer Meldung.

Beispiel
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Ein Pflichtwert fehlt, oder der Wert ist für dieses Produkt ungültig.
unauthorizedHTTP 401Der API-Schlüssel fehlt oder stimmt nicht.
insufficient_balanceHTTP 402Ihr Guthaben ist niedriger als der Bestellbetrag. Es wurde nichts abgebucht.
not_foundHTTP 404Auf Ihrem Konto gibt es keine Bestellung mit dieser id.
rate_limitedHTTP 429Zu viele Anfragen innerhalb einer Minute.
server_errorHTTP 500Der Server konnte die Anfrage nicht abschließen. Es wurde nichts abgebucht.

Endpunkte

Konto abrufen

GET/api/v1/accountAPI-Schlüssel erforderlich

Liefert Ihr Guthaben, Proxy-Host und Ports, Proxy-Benutzername und Passwort sowie Ihre freigegebenen IPs.

Anfrage
curl https://starproxy.shop/api/v1/account \
  -H "Authorization: Bearer spk_your_api_key"
Antwort
{
  "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"
  ]
}

Produkte und Preise abrufen

GET/api/v1/productsKein Schlüssel nötig

Liefert für jedes Produkt den Bestellbereich, den Preis pro Mengenstufe und die Laufzeitrabatte, aus derselben Preistabelle wie die Preisseite.

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

Länder und Städte auflisten

GET/api/v1/countriesKein Schlüssel nötig

Liefert die Länder, die jedes Produkt unterstützt, sowie die Stadtwerte für die Option -city- im Benutzernamen.

FeldBedeutung
productOptionalEiner von unlimited, residential, isp, datacenter. Standard ist residential.
Anfrage
curl "https://starproxy.shop/api/v1/countries?product=datacenter"
Antwort
{
  "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"
        }
      ]
    }
  ]
}

Preisangebot abrufen

POST/api/v1/quoteKein Schlüssel nötig

Berechnet den Bestellbetrag, ohne Ihr Guthaben zu verändern. Senden Sie denselben Body wie bei der Bestellung.

FeldBedeutung
productPflichtEiner von unlimited, residential, isp, datacenter.
quantityPflichtTage bei unlimited (1~365), GB bei residential (5~5,000), Anzahl IPs bei isp (1~1,000) oder datacenter (5~5,000).
concurrencyOptionalNur unlimited. Einer von 200, 500, 1000, 2000.
bandwidthOptionalNur unlimited, in Mbps. Einer von 100, 200, 500, 1000.
monthsOptionalNur isp und datacenter. Einer von 1, 3, 6, 12.
countryOptionalNur isp und datacenter. Ein zweistelliger Ländercode wie jp. Gültige Werte siehe /countries.
Anfrage
curl -X POST https://starproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Antwort
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.41,
  "unit": "day",
  "total_usd": 252.3
}

Bestellung anlegen

POST/api/v1/ordersAPI-Schlüssel erforderlich

Bucht den Betrag von Ihrem Guthaben ab und legt die Bestellung an. Der Status beginnt mit pending (wird aktiviert) und wechselt zu active, wenn die Bestellung bereit ist. Kann sie nicht aktiviert werden, wird sie refunded und der volle Betrag geht zurück auf Ihr Guthaben. Bei zu niedrigem Guthaben kommt 402 zurück.

FeldBedeutung
productPflichtEiner von unlimited, residential, isp, datacenter.
quantityPflichtTage bei unlimited (1~365), GB bei residential (5~5,000), Anzahl IPs bei isp (1~1,000) oder datacenter (5~5,000).
concurrencyOptionalNur unlimited. Einer von 200, 500, 1000, 2000.
bandwidthOptionalNur unlimited, in Mbps. Einer von 100, 200, 500, 1000.
monthsOptionalNur isp und datacenter. Einer von 1, 3, 6, 12.
countryOptionalNur isp und datacenter. Ein zweistelliger Ländercode wie jp. Gültige Werte siehe /countries.
Anfrage
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}'
Antwort
{
  "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
}

Bestellungen auflisten

GET/api/v1/ordersAPI-Schlüssel erforderlich

Liefert bis zu 100 Bestellungen, die neuesten zuerst.

FeldBedeutung
statusOptionalEiner von pending, active, refunded. Leer lassen für alle Status.
Anfrage
curl "https://starproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer spk_your_api_key"
Antwort
{
  "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"
    }
  ]
}

Eine Bestellung abrufen

GET/api/v1/orders/{id}API-Schlüssel erforderlich

Liefert eine Bestellung anhand der id. Damit sehen Sie, ob die Aktivierung abgeschlossen ist.

FeldBedeutung
idPflichtDie Bestell-id, zum Beispiel SP-7KQ2M-X4HTD.
Anfrage
curl https://starproxy.shop/api/v1/orders/SP-7KQ2M-X4HTD \
  -H "Authorization: Bearer spk_your_api_key"
Antwort
{
  "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-Benutzernamen erzeugen

GET/api/v1/proxy-userAPI-Schlüssel erforderlich

Liefert einen Proxy-Benutzernamen mit Ihren Optionen sowie HTTP- und SOCKS5-URLs zum direkten Einfügen. Ohne session erhält jede Anfrage eine neue IP.

FeldBedeutung
productOptionalEiner von unlimited, residential, isp, datacenter. Standard ist unlimited.
countryOptionalEin zweistelliger Ländercode wie jp.
cityOptionalEin Stadtwert aus /countries, etwa tokyo. Erfordert country.
sessionOptional1~32 Buchstaben oder Ziffern. Anfragen mit derselben session teilen sich eine IP.
ttlOptionalMinuten, die die Session-IP gehalten wird, 1~60. Standard ist 30.
Anfrage
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"
Antwort
{
  "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"
}

Vollständiges Beispiel

Ein Skript, das ein Preisangebot abruft, aus dem Guthaben bestellt und sich über eine japanische IP verbindet.

Python (requests)
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())
Node.js 18+
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-Bestellungen werden genauso verarbeitet wie Bestellungen im Dashboard und erscheinen im Tab Verlauf. Ersetzen Sie spk_your_api_key in den Beispielen durch Ihren eigenen Schlüssel.

StarProxy direkt aus Ihrem Code nutzen

Registrieren Sie sich mit einem Benutzernamen, erstellen Sie im Dashboard einen API-Schlüssel und rufen Sie die API auf.