Master programming syntax, solve interactive challenges & run live code in Syntaxis Explore Arena →
Reference / Laravel

RateLimiter::for()

Defines a named rate limiter in AppServiceProvider with dynamic limits based on user tier, IP address, or API token abilities.

Syntax
RateLimiter::for(string $name, Closure $callback): void

Parameters

NameTypeDescription
namestringLimiter identifier name.
callbackClosureReturns Limit instance.

Examples

Per-user tiered rate limiting
RateLimiter::for('api', function (Request $request) {
    return $request->user()?->isVip()
        ? Limit::none()
        : Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
Apply to routes using ->middleware("throttle:api").