MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

Laravel Throttle Middleware: How to Increase API Rate Limit Safely and for 429 Too Many Requests

If you’re working with Laravel APIs, you might have encountered this default throttle setting:

'api' => [
    'throttle:60,1',
    'bindings',
],

This line lives in your app/Http/Kernel.php file and controls how many requests a user can make to your API. In this blog post, we’ll explore what it means, why you might want to change it, and how to safely increase the rate limit for your Laravel application.


🧠 What Does 'throttle:60,1' Mean?

This throttle rule applies a rate limit to all API requests:

  • 60 = number of requests allowed
  • 1 = time in minutes

🔁 In short:

Each user (or IP) can make 60 requests per minute to your API.


🚫 Why You Might Want to Change It

You may want to increase the throttle limit if:

  • Your frontend app sends many background requests.
  • You’re integrating with another system (like a mobile app or a microservice).
  • Users are getting 429 Too Many Requests errors frequently.

✅ How to Increase the Throttle Value

To change the limit, go to:

app/Http/Kernel.php

Find this section:

protected $middlewareGroups = [
    'api' => [
        'throttle:60,1',
        'bindings',
    ],
];

Change it to something like:

'api' => [
    'throttle:200,1', // Allow 200 requests per minute
    'bindings',
],

Tip:

You can adjust this as needed, for example:

  • 'throttle:100,1' → 100 req/min
  • 'throttle:500,5' → 500 requests every 5 minutes

🎯 Apply Custom Throttle to Specific Routes (Optional)

If you don’t want to increase the throttle globally, you can apply it to specific routes like this:

Route::middleware(['auth:api', 'throttle:300,1'])->get('/profile', function () {
    return response()->json(['user' => auth()->user()]);
});

Or create a group:

Route::middleware(['auth:api', 'throttle:500,5'])->group(function () {
    Route::get('/orders', 'OrderController@index');
    Route::get('/products', 'ProductController@index');
});

Bonus: Create Named Custom Throttle

In RouteServiceProvider.php:

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter;

public function boot()
{
    RateLimiter::for('custom-api', function ($request) {
        return Limit::perMinute(300)->by($request->ip());
    });
}

Then in routes:

Route::middleware(['throttle:custom-api'])->get('/my-endpoint', 'MyController@method');

Laravel makes it easy to control your API traffic using the throttle middleware. If you’re experiencing issues like 429 Too Many Requests, just increasing the limit in Kernel.php or applying custom route-level throttling can solve your problem efficiently.

Related Posts

How to Import an SQL File Through Command Line

Importing an SQL file through the command line is a useful skill when working with MySQL databases. Whether you’re migrating data, setting up a fresh database, or…

Understanding Network Protocols and Sockets in Networking

In the world of networking, communication is the key to connecting systems, devices, and applications. Whether you’re browsing the web, sending an email, or transferring files, you’re…

Fixing the “Could not find PHP executable” Error in Live Server on VS Code

this is a common issue and easy to fix! This guide will walk you through the step-by-step solution to get your PHP files running in the browser….

How to Fix the “npm.ps1 cannot be loaded” Error on Windows When Running npm start

If you’re a developer working with React or any Node.js-based projects, you may have encountered the following error when trying to run npm start in PowerShell on…

Simplify Database Migrations with kitloong/laravel-migrations-generator in Laravel

Laravel provides a powerful migration system that allows developers to easily define and manage database schema changes. However, when working with legacy databases or large projects, manually…

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x