Zum Inhalt springen
LinkProfit

Rate-Limits

Limits im gleitenden Fenster je API-Schlüssel, die X-RateLimit-Header und eine korrekte Strategie für Wiederholungen.

Aktualisiert 13. August 2026

Limits werden je Schlüssel über ein gleitendes Fenster von einer Minute gezählt. Voreinstellungen: 600 Anfragen/Minute für Workspace-Schlüssel, 1200 für Partner-Schlüssel; Ihr Tarif kann andere Werte setzen, und das tatsächliche Limit steht immer in den Antwort-Headern.

Jede Antwort trägt den aktuellen Stand:

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 273
X-RateLimit-Reset: 1755081600
  • X-RateLimit-Limit — die Fensterkapazität dieses Schlüssels.
  • X-RateLimit-Remaining — verbleibende Anfragen im aktuellen Fenster.
  • X-RateLimit-Reset — Unix-Zeit (Sekunden), wann das Fenster wieder frei wird.

Über dem Limit antwortet die API mit 429 und Retry-After:

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded, retry later",
    "doc_url": "https://linkprofit.com/docs/api/errors"
  }
}
Retry-After: 12

Das Fenster gleitet

Der Zähler wird nicht zum Minutenbeginn zurückgesetzt: Ein Schwall um 10:00:55 zählt auch um 10:01:05 noch gegen das Fenster. Planen Sie eine gleichmäßige Rate statt minutengenauer Schwälle.

Abgelehnte Anfragen zählen ebenfalls — eine enge Wiederholungsschleife auf 429 hält den Schlüssel nur weiter ausgesperrt.

Eine Wiederholung, die sich benimmt

async function withRateLimit(request) {
  for (let attempt = 0; attempt < 5; attempt += 1) {
    const response = await request();
    if (response.status !== 429) return response;

    const wait = Number(response.headers.get("retry-after") ?? "1");
    await new Promise((resolve) => setTimeout(resolve, wait * 1000 + attempt * 250));
  }
  throw new Error("Rate limit retries exhausted");
}

Halten Sie sich an Retry-After, statt zu raten, streuen Sie die Wartezeit etwas, damit parallele Worker nicht im Gleichschritt wiederholen, und begrenzen Sie die Anzahl der Versuche.

Unter dem Limit bleiben

  • Beobachten Sie X-RateLimit-Remaining und drosseln Sie, bevor es null erreicht.
  • Nutzen Sie POST /links/bulk — eine Anfrage legt bis zu 100 Links an.
  • Bevorzugen Sie Webhooks gegenüber dem Abfragen im Takt: Ereignisse erreichen Sie binnen Sekunden und kosten überhaupt keine Anfragen.