DEV Community 👩‍💻👨‍💻

Cover image for Laravel 9 - Rate Limiting: Global and for Guests/Users
Sandro Jhuliano Cagara
Sandro Jhuliano Cagara

Posted on

Laravel 9 - Rate Limiting: Global and for Guests/Users

You can limit some URL to be called a maximum of 60 times per minute, with throttle:60,1:

Route::middleware('auth:api', 'throttle:60,1')->group(function () {
    Route::get('/path', function () {
        // code here
    });
});
Enter fullscreen mode Exit fullscreen mode

But also, you can do it separately for public and for logged-in users:

// maximum of 10 requests for guests, 60 for authenticated users

Route::middleware('throttle:10|60,1')->group(function () {
    // code here
});
Enter fullscreen mode Exit fullscreen mode

Also, you can have a DB field users.rate_limit and limit the amount for specific user:

Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
    Route::get('/path', function () {
        // code here
    });
});
Enter fullscreen mode Exit fullscreen mode

Oldest comments (0)

We are hiring! Do you want to be our Senior Platform Engineer? We're hiring for a Senior Platform Engineer and would love for you to apply.

Head here to learn more about who we're looking for.