Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Laravel API Rate Limiting

Protect your APIs with rate limiting middleware.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Define Limiter
  2. Custom Limiter
  3. Apply to Routes
  4. Response Headers

Rate limiting:

Define Limiter

php
// AppServiceProvider
RateLimiter::for('api', function (Request $request) {
    return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});

Custom Limiter

php
RateLimiter::for('uploads', function (Request $request) {
    return $request->user()->isPremium()
        ? Limit::none()
        : Limit::perMinute(10);
});

Apply to Routes

php
Route::middleware(['throttle:api'])->group(function () {
    Route::get('/posts', ...);
});

Response Headers

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Resources Transformation16 January 20261 min read