Quick Start with RateLimiter dependency
mainTo apply rate limiting to a specific route, use the RateLimiter dependency within the dependencies list of your route decorator. This example allows 2 requests every 5 seconds on the / route.
import uvicorn
from fastapi import Depends, FastAPI
from pyrate_limiter import Duration, Limiter, Rate
from fastapi_limiter.depends import RateLimiter
app = FastAPI()
@app.get(
"/",
dependencies=[Depends(RateLimiter(limiter=Limiter(Rate(2, Duration.SECOND * 5))))],
)
async def index():
return {"msg": "Hello World"}
if __name__ == "__main__":
uvicorn.run("main:app", reload=True)