Zum Inhalt springen
proxyday

Proxy-API-Dokumentation

Mit der ProxyDay REST API lesen Sie Guthaben und Zugangsdaten, prüfen Preise, bestellen aus Ihrem Guthaben und erstellen Proxy-Benutzernamen direkt aus Ihrem eigenen Code.

Wie fange ich an?

  1. 1Registrieren Sie sich und melden Sie sich im Dashboard an.
  2. 2Öffnen Sie Verbindung und erstellen Sie einen API-Schlüssel. Der vollständige Schlüssel wird nur einmal angezeigt, speichern Sie ihn also an einem sicheren Ort.
  3. 3Senden Sie den Schlüssel im Authorization-Header mit jeder Anfrage, die ihn braucht.
  4. 4Rufen Sie /account auf, um zu prüfen, ob der Schlüssel funktioniert, und bestellen Sie dann mit /orders.

Wie funktioniert die Authentifizierung?

Anfragen zu Ihrem eigenen Konto (account, orders, proxy-user) brauchen einen API-Schlüssel. Senden Sie ihn als Bearer-Token im Authorization-Header. Preise, Länder und Preisangebote sind öffentlich und brauchen keinen Schlüssel.

Wir speichern nur einen Hash des Schlüssels. Wenn Sie ihn verlieren, erstellen Sie im Dashboard einen neuen, und der alte Schlüssel funktioniert sofort nicht mehr. Halten Sie den Schlüssel aus Browser-Code und öffentlichen Repositories heraus.

HTTP header
Authorization: Bearer pdk_your_api_key

Basis-URL und Format

Basis-URL
https://proxyday.shop/api/v1
Request- und Response-Body
application/json
Beträge
USD als Zahl, zum Beispiel 807.90
Zeit
ISO 8601 (UTC)

Gibt es ein Rate Limit?

Jeder API-Schlüssel kann bis zu 60 Anfragen pro Minute senden. Öffentliche Endpunkte erlauben 60 Anfragen pro Minute und IP. Über dem Limit erhalten Sie HTTP 429. Warten Sie dann eine Minute und versuchen Sie es erneut.

Wie sehen Fehler aus?

Fehler werden mit dem HTTP-Statuscode und einem JSON-Body mit kurzem Code und einer Meldung zurückgegeben.

Beispiel
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
HTTPcodeBedeutung
400bad_requestEin Wert fehlt oder ist für dieses Produkt nicht erlaubt.
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig.
402insufficient_balanceDas Guthaben ist niedriger als die Bestellsumme. Es wurde nichts abgebucht.
404not_foundKeine Bestellung mit dieser ID in Ihrem Konto.
429rate_limitedZu viele Anfragen in einer Minute.
500server_errorDie Anfrage konnte nicht abgeschlossen werden. Es wurde nichts abgebucht.

Endpunkte

Konto abrufen

GET/api/v1/accountAPI-Schlüssel

Gibt Ihr Guthaben, den Proxy-Host, Ports, Benutzername und Passwort sowie die freigegebenen IPs zurück.

Anfrage
curl https://proxyday.shop/api/v1/account \
  -H "Authorization: Bearer pdk_your_api_key"
Antwort
{
  "email": "you@example.com",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.proxyday.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "pdexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

Produkte und Preise auflisten

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

Gibt alle Produkte mit Limits, Preisstufen und Rabatten zurück. Die Preise stammen aus derselben Tabelle wie auf der Preisseite.

Anfrage
curl https://proxyday.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

Gibt die für ein Produkt verfügbaren Länder zurück, mit den Stadtwerten, die Sie in den Proxy-Benutzernamen schreiben können.

FeldBedeutung
productOptionalunlimited, residential, isp oder datacenter. Standard: residential.
Anfrage
curl "https://proxyday.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 die Summe einer Bestellung, ohne etwas abzubuchen. Verwenden Sie denselben Body wie beim Bestellen.

FeldBedeutung
productPflichtunlimited, residential, isp oder datacenter.
quantityPflichtTage für unlimited (1~365), GB für residential (5~5,000), IPs für isp (1~1,000) oder datacenter (5~5,000).
concurrencyOptionalNur unlimited: 200, 500, 1000 oder 2000.
bandwidthOptionalNur unlimited, in Mbps: 100, 200, 500 oder 1000.
monthsOptionalNur isp und datacenter: 1, 3, 6 oder 12.
countryOptionalNur isp und datacenter: zweistelliger Ländercode, zum Beispiel jp. Siehe /countries.
Anfrage
curl -X POST https://proxyday.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.6,
  "unit": "day",
  "total_usd": 258
}

Bestellung aufgeben

POST/api/v1/ordersAPI-Schlüssel

Bucht die Summe von Ihrem Guthaben ab und legt die Bestellung an. Neue Bestellungen starten mit pending (wird aktiviert) und wechseln zu active, sobald sie bereit sind. Kann eine Bestellung nicht aktiviert werden, wird sie zu refunded und der volle Betrag geht zurück auf Ihr Guthaben. Gibt 402 zurück, wenn das Guthaben zu niedrig ist.

FeldBedeutung
productPflichtunlimited, residential, isp oder datacenter.
quantityPflichtTage für unlimited (1~365), GB für residential (5~5,000), IPs für isp (1~1,000) oder datacenter (5~5,000).
concurrencyOptionalNur unlimited: 200, 500, 1000 oder 2000.
bandwidthOptionalNur unlimited, in Mbps: 100, 200, 500 oder 1000.
monthsOptionalNur isp und datacenter: 1, 3, 6 oder 12.
countryOptionalNur isp und datacenter: zweistelliger Ländercode, zum Beispiel jp. Siehe /countries.
Anfrage
curl -X POST https://proxyday.shop/api/v1/orders \
  -H "Authorization: Bearer pdk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Antwort
{
  "order": {
    "id": "PD-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.6,
    "total_usd": 258,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1042
}

Bestellungen auflisten

GET/api/v1/ordersAPI-Schlüssel

Gibt Ihre letzten 100 Bestellungen zurück, die neueste zuerst.

FeldBedeutung
statusOptionalpending, active oder refunded. Weglassen, um alle zu erhalten.
Anfrage
curl "https://proxyday.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer pdk_your_api_key"
Antwort
{
  "orders": [
    {
      "id": "PD-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.6,
      "total_usd": 258,
      "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

Gibt eine Bestellung anhand ihrer ID zurück, zum Beispiel um zu prüfen, ob sie aktiv ist.

FeldBedeutung
idPflichtDie Bestell-ID, zum Beispiel PD-7KQ2M-X4HTD.
Anfrage
curl https://proxyday.shop/api/v1/orders/PD-7KQ2M-X4HTD \
  -H "Authorization: Bearer pdk_your_api_key"
Antwort
{
  "order": {
    "id": "PD-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.6,
    "total_usd": 258,
    "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

Gibt einen Proxy-Benutzernamen mit Ihren Optionen sowie fertige HTTP- und SOCKS5-Proxy-URLs zurück. Ohne session rotiert die IP bei jeder Anfrage.

FeldBedeutung
productOptionalunlimited, residential, isp oder datacenter. Standard: unlimited.
countryOptionalZweistelliger Ländercode, zum Beispiel jp.
cityOptionalStadtwert aus /countries, zum Beispiel tokyo. Erfordert country.
sessionOptionalBeliebige 1~32 Buchstaben oder Ziffern. Anfragen mit derselben session behalten dieselbe IP.
ttlOptionalMinuten, die die Session-IP gehalten wird, 1~60. Standard: 30.
Anfrage
curl "https://proxyday.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer pdk_your_api_key"
Antwort
{
  "username": "pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyday.shop:6100",
  "socks5": "socks5h://pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyday.shop:6200"
}

Vollständige Beispiele

Diese Beispiele prüfen den Preis, bestellen aus dem Guthaben und verbinden sich über eine japanische IP.

Python (requests)
import requests

API = "https://proxyday.shop/api/v1"
HEAD = {"Authorization": "Bearer pdk_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://proxyday.shop/api/v1";
const HEAD = { Authorization: "Bearer pdk_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 sind dieselben wie Bestellungen aus dem Dashboard und erscheinen im Verlauf. Ersetzen Sie pdk_your_api_key durch Ihren eigenen Schlüssel.

ProxyDay mit Ihrem eigenen System verbinden

Erstellen Sie ein Konto und danach im Dashboard einen API-Schlüssel.