Zum Inhalt springen

API-Ratenlimit — wie lange dauern meine Aufrufe?

Hvor lang tid tager det at lave mine ønskede API-kald, uden at ramme rate-limiten?

Antwort: De fleste API'er begrænser, hvor mange kald man må lave pr. tidsenhed (rate limiting) for at beskytte serveren. GitHubs REST API tillader fx 5.000 kald i timen for autentificerede brugere, 60 i timen uautentificeret, og op til 15.000 i timen for GitHub Enterprise Cloud-apps. Beregneren viser, hvor lang tid et givet antal kald tager at gennemføre inden for en valgt grænse.

Formel

tid (timer) = ønskede kald ÷ tilladte kald pr. time

Eksempel: 20.000 kald ÷ 5.000/time = 4 timer

Symbole und Einheiten in der Formel
SymbolBedeutungEinheit
graense_kald_pr_timeRate limitkald/time
onsket_kaldØnsket antal kald i altkald
=Tid til at gennemføre alle kaldtimer
=Tilladte kald pr. minutkald/min.

Gültigkeit und Quelle

Quelle
GitHub REST API-dokumentation (rate limits)

Gilt nicht, wenn

  • Konkrete rate limits varierer pr. API og kan ændres af udbyderen — tjek altid det specifikke API's dokumentation (fx via response-headeren x-ratelimit-limit) frem for at antage faste tal.

Rechenbeispiel

Die eigenen Standardwerte des Rechners sind eingesetzt. Die Zahlen sind mit genau der Formel berechnet, die das Werkzeug verwendet.

Sat ind

  • Rate limit5.000 kald/time
  • Ønsket antal kald i alt20.000 kald

Geber

  • Tid til at gennemføre alle kald4,00 timer
  • Tilladte kald pr. minut83,33 kald/min.

Der Rechner selbst ist gesperrt

Lege einen kostenlosen Zugang an, um alle Artikel, Rechner, Vorlagen und das Sortiment freizuschalten — und Zugriff auf Quizze und Klassen zu erhalten. Es dauert unter einer Minute: Name, E-Mail und ein Passwort. Keine Zahlungskarte.

Willst du zuerst etwas ausprobieren? Sieh, was du ohne Konto nutzen kannst — der Junior-Bereich, das Lexikon, die Videos und mehr.

Sådan bruger du den

Når en integration skal hente mange data fra et API, fx alle issues fra GitHub eller alle ordrer fra en webshop, sætter API'ets rate limit grænsen for, hvor hurtigt det kan gå. Beregneren viser, hvor lang tid kaldene tager, og hvor mange du må lave i minuttet.

Schritt für Schritt

  1. Find grænsen i API'ets dokumentation eller i svar-headeren x-ratelimit-limit.
  2. Tæl hvor mange kald opgaven kræver, fx antal sider gange antal ressourcer.
  3. Del antal kald med grænsen pr. time. Det er tiden i timer.
  4. Planlæg pauser, så scriptet holder sig under grænsen pr. minut.

Typische Fehler

  • At sende alle kald på én gang. API'et svarer 403 eller 429, og nogle sætter en midlertidig blokering.
  • At glemme sideinddeling. Hent 100 pr. side, hvis API'et tillader det, i stedet for 30.
  • At hardcode grænsen. Læs x-ratelimit-remaining og x-ratelimit-reset i svarene, og vent til nulstillingen.

Beispiele aus dem Alltag

Import af issues til et nyt værktøj

Du skal flytte 20.000 issues fra GitHub med et token (5.000 kald i timen).

Rate limit
Autentificeret bruger/OAuth-app (5.000 kald/time)
Ønsket antal kald i alt
20.000 kald

Es bedeutet: Importen tager 4 Stunden, og du må lave 83,33 kald/min. i snit. Kør den om natten med en pause mellem kaldene.

Script uden token

Et lille script uden login skal lave 1.000 kald mod GitHubs API.

Rate limit
Uautentificeret (60 kald/time pr. IP)
Ønsket antal kald i alt
1.000 kald

Es bedeutet: Det tager 16,67 Stunden, fordi grænsen kun er 60 kald i timen. Med et token går det på et kvarter.

Faustregel

5.000 kald i timen er ca. 83 i minuttet eller lidt under 1,4 i sekundet.

So überprüfst du die Antwort

Tid i timer gange grænsen pr. time skal give antal kald igen.