Rate limit headers tell you how many requests you can make to a server before it stops answering. They help keep the server safe from too many requests at once.
Rate limit headers (X-RateLimit) in Rest API
Start learning this pattern below
Jump into concepts and practice - no test required
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 750 X-RateLimit-Reset: 1609459200
X-RateLimit-Limit shows the total number of allowed requests in a time window.
X-RateLimit-Remaining shows how many requests you can still make before hitting the limit.
X-RateLimit-Reset shows the time when the limit will reset, usually as a Unix timestamp.
X-RateLimit-Limit: 5000 X-RateLimit-Remaining: 4999 X-RateLimit-Reset: 1672531200
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1672534800
This program calls an API, reads the rate limit headers, and prints how many requests you can make and when the limit resets.
import requests import time url = 'https://api.example.com/data' response = requests.get(url) limit = response.headers.get('X-RateLimit-Limit') remaining = response.headers.get('X-RateLimit-Remaining') reset = response.headers.get('X-RateLimit-Reset') print(f"Limit: {limit}") print(f"Remaining: {remaining}") if reset: reset_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(reset))) print(f"Reset at: {reset_time}")
Not all APIs use the same rate limit headers, but X-RateLimit is common.
The reset time is usually in Unix timestamp format, which counts seconds since 1970-01-01.
Always check the headers before making many requests to avoid being blocked.
Rate limit headers tell you how many API calls you can make.
X-RateLimit-Limit is the total allowed calls.
X-RateLimit-Remaining is how many calls you have left.
X-RateLimit-Reset tells when the limit resets.
Practice
What does the X-RateLimit-Remaining header indicate in a REST API response?
Solution
Step 1: Understand the meaning of
This header shows how many calls you have left before reaching the limit.X-RateLimit-RemainingStep 2: Compare with other headers
X-RateLimit-Limitis total allowed calls,X-RateLimit-Resetis reset time, so remaining calls is the count left.Final Answer:
The number of API calls you can still make before hitting the limit. -> Option DQuick Check:
Remaining calls = calls left [OK]
- Confusing remaining with total limit
- Thinking it shows reset time
- Assuming it counts calls made
Which of the following is the correct way to read the X-RateLimit-Reset header?
HTTP/1.1 200 OK X-RateLimit-Reset: 1686000000
Solution
Step 1: Identify the header type
X-RateLimit-Resetusually gives a timestamp for when the limit resets.Step 2: Interpret the value
The value 1686000000 looks like a Unix timestamp (seconds since 1970).Final Answer:
It is a Unix timestamp indicating when the limit resets. -> Option AQuick Check:
Reset header = Unix timestamp [OK]
- Thinking reset shows calls left
- Confusing reset with total limit
- Assuming reset is current time
Given the following response headers:
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 250 X-RateLimit-Reset: 1686003600
How many API calls have been made so far?
Solution
Step 1: Understand the headers
Total allowed calls are 1000, remaining calls are 250.Step 2: Calculate calls made
Calls made = Total limit - Remaining = 1000 - 250 = 750.Final Answer:
750 -> Option AQuick Check:
1000 - 250 = 750 calls made [OK]
- Using remaining as calls made
- Adding limit and remaining
- Confusing reset time as calls made
You receive these headers from an API:
X-RateLimit-Limit: 500 X-RateLimit-Remaining: -10 X-RateLimit-Reset: 1686007200
What is the likely problem?
Solution
Step 1: Check the
Remaining calls cannot be negative; it should be zero or positive.X-RateLimit-RemainingvalueStep 2: Identify the error
A negative remaining value indicates a bug or miscalculation in the API response.Final Answer:
The remaining calls cannot be negative; it's an error. -> Option CQuick Check:
Remaining calls must be ≥ 0 [OK]
- Ignoring negative values as valid
- Confusing reset time with remaining
- Thinking limit is the problem
You want to build a client that stops making API calls when the limit is reached and waits until reset. Given these headers:
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1686009000
What should your client do?
Solution
Step 1: Check remaining calls
Remaining is 0, so no calls can be made now.Step 2: Use reset time to wait
The client should wait until the reset timestamp before making new calls.Final Answer:
Stop calls and wait until the reset timestamp before retrying. -> Option BQuick Check:
Remaining=0 means wait until reset [OK]
- Ignoring zero remaining and continuing calls
- Guessing reset time instead of using header
- Manually resetting counters in client
