← Problems/Design a Rate Limiter for a Data APIHard

Design a Rate Limiter for a Data API

System DesignRedisRedis

Design and implement a sliding window rate limiter using Redis. The API allows 100 requests per minute per API key. Implement the core logic including window tracking, quota enforcement, and proper error responses when the limit is exceeded.

Constraints
  • •Use Redis sorted sets for sliding window
  • •100 requests per minute per API key
  • •Must handle burst of up to 20 requests
  • •Return remaining quota in response headers
Expected Output
Request 1: allowed=True, remaining=99
Request 2: allowed=True, remaining=98
...
Request 100: allowed=True, remaining=0
Request 101: allowed=False, remaining=0
Request 102: allowed=False, remaining=0
Related Challenges
Solution
1
Output
Run your code to see output here.
Difficulty

Hard

Submissions

4,281

Acceptance

68%