Neu hier? So starten Sie
- 1Registrieren Sie sich mit E-Mail und Passwort oder mit einem Token und öffnen Sie das Dashboard.
- 2Erstellen Sie im Tab Verbindung einen API-Schlüssel. Der vollständige Schlüssel wird nur einmal angezeigt, direkt beim Erstellen. Speichern Sie ihn also sofort.
- 3Setzen Sie den Schlüssel in den Authorization-Header jeder Anfrage, die einen braucht.
- 4Rufen Sie zuerst /account auf, um zu prüfen, ob der Schlüssel akzeptiert wird, und bestellen Sie dann über /orders.
Wie funktioniert die Authentifizierung?
Anfragen, die Ihr eigenes Konto betreffen (account, orders, proxy-user), brauchen einen API-Schlüssel. Senden Sie ihn im Header als Authorization: Bearer pwk_... Preise, Länder und Preisangebote sind öffentlich und ohne Schlüssel abrufbar.
Die ProxyWorld-Server speichern nie den Schlüssel selbst, nur einen Hash davon. Wenn Sie einen Schlüssel verlieren, erstellen Sie im Dashboard einen neuen, der alte wird sofort gesperrt. Verwenden Sie Schlüssel nur in serverseitigem Code. Landet ein Schlüssel in Code, der im Browser läuft, oder in einem öffentlichen Repository, kann jemand anderes ihn nutzen.
Authorization: Bearer pwk_your_api_key
Basis-URL und Datenformat
- Basis-URL
- https://proxyworld.shop/api/v1
- Request- und Response-Body
- application/json
- Beträge
- USD als Zahl, zum Beispiel 1058.50
- Zeitstempel
- ISO 8601 (UTC)
Wie viele Aufrufe sind möglich?
Jeder API-Schlüssel kann 60 Aufrufe pro Minute ausführen. Öffentliche Endpunkte ohne Schlüssel erlauben 60 Aufrufe pro Minute und IP. Darüber erhalten Sie HTTP 429. Warten Sie etwa eine Minute und versuchen Sie es dann erneut.
Was kommt bei einem Fehler zurück?
Sie erhalten einen HTTP-Statuscode und einen JSON-Body mit einem kurzen Fehlercode und einer Erklärung.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Bedeutung |
|---|---|---|
| bad_requestHTTP 400Ein Pflichtwert fehlt, oder es wurde ein Wert gesendet, den dieses Produkt nicht akzeptiert. | Ein Pflichtwert fehlt, oder es wurde ein Wert gesendet, den dieses Produkt nicht akzeptiert. | |
| unauthorizedHTTP 401Der API-Schlüssel fehlt oder ist ungültig. | Der API-Schlüssel fehlt oder ist ungültig. | |
| insufficient_balanceHTTP 402Ihr Guthaben ist geringer als der Bestellbetrag. Es wurde nichts abgebucht. | Ihr Guthaben ist geringer als der Bestellbetrag. Es wurde nichts abgebucht. | |
| not_foundHTTP 404Ihr Konto hat keine Bestellung mit dieser Nummer. | Ihr Konto hat keine Bestellung mit dieser Nummer. | |
| rate_limitedHTTP 429Sie haben die erlaubte Anzahl an Aufrufen pro Minute überschritten. | Sie haben die erlaubte Anzahl an Aufrufen pro Minute überschritten. | |
| server_errorHTTP 500Der Server konnte die Anfrage nicht abschließen. Es wurde nichts abgebucht. | Der Server konnte die Anfrage nicht abschließen. Es wurde nichts abgebucht. |
Endpunkte
Konto anzeigen
GET/api/v1/accountAPI-Schlüssel nötig
Liefert die Anmeldeart (login: email oder token), Ihre E-Mail, Guthaben, Proxy-Host und Ports, Proxy-Benutzername und Passwort sowie die freigegebenen IPs. Bei Konten, die mit einem Token erstellt wurden, ist email null.
curl https://proxyworld.shop/api/v1/account \ -H "Authorization: Bearer pwk_your_api_key"
{
"login": "email",
"email": "you@example.com",
"balance_usd": 1300,
"proxy": {
"host": "gate.proxyworld.shop",
"http_port": 6100,
"socks5_port": 6200,
"username": "pwexample1",
"password": "your_password"
},
"allowed_ips": [
"203.0.113.10"
]
}Produkte und Preise anzeigen
GET/api/v1/productsOhne Schlüssel nutzbar
Liefert den Bestellbereich für jedes Produkt, den Preis pro Einheit für jede Mengenstufe und die Laufzeitrabatte. Es gilt dieselbe Preistabelle wie auf der Preisseite.
curl https://proxyworld.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",
"...": "..."
}
]
}Länder und Städte
GET/api/v1/countriesOhne Schlüssel nutzbar
Liefert die wählbaren Länder für jedes Produkt sowie die Stadtwerte für die Option -city- im Benutzernamen.
| Name | Typ | Bedeutung |
|---|---|---|
productOptional | string | Einer von unlimited, residential, isp, datacenter. Ohne Angabe wird residential verwendet. |
curl "https://proxyworld.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"
}
]
}
]
}Preisangebot abrufen
POST/api/v1/quoteOhne Schlüssel nutzbar
Berechnet den Bestellbetrag, ohne Ihr Guthaben zu belasten. Senden Sie denselben Body wie bei der Bestellung.
| Name | Typ | Bedeutung |
|---|---|---|
productPflicht | string | Einer von unlimited, residential, isp, datacenter. |
quantityPflicht | integer | Bestellmenge: Tage bei unlimited (1~365), GB bei residential (5~5,000), Anzahl IPs bei isp (1~1,000) oder datacenter (5~5,000). |
concurrencyOptional | integer | Nur unlimited. Einer von 200, 500, 1000, 2000. |
bandwidthOptional | integer | Nur unlimited, in Mbps. Einer von 100, 200, 500, 1000. |
monthsOptional | integer | Nur isp und datacenter. Einer von 1, 3, 6, 12. |
countryOptional | string | Nur isp und datacenter. Ein zweistelliger Ländercode wie jp. Die zulässigen Werte stehen in /countries. |
curl -X POST https://proxyworld.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.05,
"unit": "day",
"total_usd": 241.5
}Bestellung aufgeben
POST/api/v1/ordersAPI-Schlüssel nötig
Bucht den Betrag von Ihrem Guthaben ab und legt die Bestellung an. Sie beginnt als pending (wird aktiviert) und wechselt zu active, sobald sie bereit ist. Eine Bestellung, die nicht aktiviert werden kann, wird refunded, und alles, was Sie bezahlt haben, geht zurück auf Ihr Guthaben. Ist Ihr Guthaben zu niedrig, erhalten Sie 402.
| Name | Typ | Bedeutung |
|---|---|---|
productPflicht | string | Einer von unlimited, residential, isp, datacenter. |
quantityPflicht | integer | Bestellmenge: Tage bei unlimited (1~365), GB bei residential (5~5,000), Anzahl IPs bei isp (1~1,000) oder datacenter (5~5,000). |
concurrencyOptional | integer | Nur unlimited. Einer von 200, 500, 1000, 2000. |
bandwidthOptional | integer | Nur unlimited, in Mbps. Einer von 100, 200, 500, 1000. |
monthsOptional | integer | Nur isp und datacenter. Einer von 1, 3, 6, 12. |
countryOptional | string | Nur isp und datacenter. Ein zweistelliger Ländercode wie jp. Die zulässigen Werte stehen in /countries. |
curl -X POST https://proxyworld.shop/api/v1/orders \
-H "Authorization: Bearer pwk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"order": {
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
},
"balance_usd": 1058.5
}Bestellungen anzeigen
GET/api/v1/ordersAPI-Schlüssel nötig
Zeigt bis zu 100 Bestellungen, die neuesten zuerst.
| Name | Typ | Bedeutung |
|---|---|---|
statusOptional | string | Einer von pending, active, refunded. Ohne Angabe erhalten Sie Bestellungen mit jedem Status. |
curl "https://proxyworld.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer pwk_your_api_key"
{
"orders": [
{
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
}
]
}Eine Bestellung anzeigen
GET/api/v1/orders/{id}API-Schlüssel nötig
Liefert die Bestellung zu einer Bestellnummer. Praktisch, um zu prüfen, ob die Aktivierung abgeschlossen ist.
| Name | Typ | Bedeutung |
|---|---|---|
idPflicht | string | Die Bestellnummer, zum Beispiel PW-7KQ2M-X4HTD. |
curl https://proxyworld.shop/api/v1/orders/PW-7KQ2M-X4HTD \ -H "Authorization: Bearer pwk_your_api_key"
{
"order": {
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "active",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:40:02.511Z"
}
}Proxy-Benutzernamen erstellen
GET/api/v1/proxy-userAPI-Schlüssel nötig
Liefert einen Proxy-Benutzernamen mit Ihren Optionen sowie HTTP- und SOCKS5-URLs, die Sie direkt einfügen können. Ohne session wechselt die IP bei jeder Anfrage.
| Name | Typ | Bedeutung |
|---|---|---|
productOptional | string | Einer von unlimited, residential, isp, datacenter. Ohne Angabe wird unlimited verwendet. |
countryOptional | string | Ein zweistelliger Ländercode, zum Beispiel jp. |
cityOptional | string | Ein Stadtwert aus /countries, zum Beispiel tokyo. Senden Sie country mit. |
sessionOptional | string | 1~32 Buchstaben und Ziffern. Anfragen mit derselben session nutzen dieselbe IP. |
ttlOptional | integer | Wie lange die Session ihre IP hält, 1~60 Minuten. Ohne Angabe 30 Minuten. |
curl "https://proxyworld.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \ -H "Authorization: Bearer pwk_your_api_key"
{
"username": "pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
"password": "your_password",
"http": "http://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6100",
"socks5": "socks5h://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6200"
}Vollständiges Beispiel
Ein einzelnes Skript, das ein Preisangebot abruft, aus dem Guthaben bestellt und sich dann über eine IP in Japan verbindet.
import requests
API = "https://proxyworld.shop/api/v1"
HEAD = {"Authorization": "Bearer pwk_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://proxyworld.shop/api/v1";
const HEAD = { Authorization: "Bearer pwk_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);Über die API aufgegebene Bestellungen werden wie Dashboard-Bestellungen behandelt und erscheinen ebenfalls im Tab Verlauf. Ersetzen Sie pwk_your_api_key in den Beispielen durch Ihren eigenen API-Schlüssel.