Skip to content

API rate limit — how long will my calls take?

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

Answer: 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.

Formula

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

Eksempel: 20.000 kald ÷ 5.000/time = 4 timer

Symbols and units in the formula
SymbolMeaningUnit
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.

Validity and source

Source
GitHub REST API-dokumentation (rate limits)

Does not apply when

  • 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.

Worked example

The calculator's own default values inserted. The figures are calculated with exactly the formula the tool uses.

Substituted

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

Giver

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

The calculator itself is locked

Create a free user account to unlock all articles, calculators, templates and range — and get access to quizzes and classes. It takes less than a minute: name, email and a password. No payment card.

Want to try something first? See what you can use without an account — the junior zone, the encyclopedia, the videos and more.

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.

Step by step

  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.

Typical errors

  • 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.

Examples from everyday life

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

It means: Importen tager 4 hours, 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

It means: Det tager 16.67 hours, fordi grænsen kun er 60 kald i timen. Med et token går det på et kvarter.

Rule of thumb

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

How to check the answer

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