Skip to main content

A rate limiter plugin for Falcon

Project description



Rate limiter for Falcon. Install with:


pip install falcon-ratelimit


Use like:


import falcon

from falconratelimit import rate_limit

class NoRedisResource(object):

@falcon.before(rate_limit(per_second=5, window_size=30, resource='resource_name'))

def on_post(self, req, resp):


class RedisResource(object):

@falcon.before(rate_limit(redis_url='localhost:6379', per_second=1, window_size=10))

def on_post(self, req, resp):



This package works by limiting the number of requests using two variables `per_second` and `window_size`. In the first

example above, the `NoRedisResource` class is restricted to 5 requests per second over a 30 second window meaning that

there is a limit of 150 requests over 30 seconds. The default storage of calling the `rate_limit` decorator is an in

memory list to store the number of requests for the given user using the resource `resource_name`.

The second example implements the optional storage to use Redis by passing in a `redis_url` to store user request data.

Using Redis allows for the rate limiting to be implemented across multiple instances of a particular application. In

the `RedisResource` class example the user is allowed to make 1 request per second over 10 seconds meaning that there

is a limit of 10 requests over 10 seconds. Since this example didn't pass in a `resource` it uses `default` as the name

for request storage.

If you do not have the `redis` package installed, Redis-related functionality will not work.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for falcon-ratelimit, version 1.1
Filename, size File type Python version Upload date Hashes
Filename, size falcon_ratelimit-1.1-py2.py3-none-any.whl (4.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page