Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Throttle Laravel Package

alt-three/throttle

Alt Three Throttle provides configurable request rate limiting for Laravel applications. It offers middleware and helpers to protect routes from abuse, control traffic spikes, and return appropriate throttling responses using your chosen cache store.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • The rate-limiting problem is genuinely high-value; this implementation is not. The opportunity score (8.52) reflects a real, recurring product need — protecting endpoints, controlling third-party API spend, enforcing fair-use tiers. The package score (0.1675), archived status, and zero dependents reflect that the problem is worth solving, just not with this artifact.
  • Build vs. buy vs. "use the platform" — this resolves to the third option. Laravel has shipped native rate limiting since 5.2 (throttle middleware) and matured it substantially (named limiters, RateLimiter::for() in Laravel 8). For any application on a supported Laravel version, the decision is a non-decision: use the framework. This package should not appear on a build/buy comparison grid.
  • Scope decisions for public surfaces. Deciding which endpoints get limited (login/OTP, password reset, public API keys, webhook receivers, search/export) is a product decision independent of library choice. This package is a reminder that per-route, per-identity limiting is table stakes for anything internet-facing.
  • Cost-control roadmap items. Limits on outbound calls to metered third-party services (SMS, geocoding, LLM inference) are a product requirement, not just an infra concern. Framing limits in terms of spend caps per tenant/plan helps prioritize the work.
  • Legacy modernization sequencing. If alt-three/throttle appears in a dependency tree during an audit, that is a concrete signal the app is pinned to Laravel 5.0/5.1 and is behind on framework upgrades. Use it as an input to the upgrade roadmap, not as a component to preserve.
  • Tiering and monetization design. Rate limits are a natural packaging lever (requests/min per plan). The decision to expose limits as a customer-facing contract — with headers, docs, and error semantics — is worth making deliberately, and is better served by native, documented primitives than by a dormant third-party shim.

When to Consider This Package

Consider it only in a narrow, shrinking window:

  • The application is on Laravel 5.0 or 5.1, predating the built-in throttle middleware, and an upgrade is genuinely blocked in the near term.
  • You need a drop-in, low-configuration middleware for simple per-IP or per-route limiting on that legacy stack, and the existing cache/Redis setup is already adequate.
  • It is a short-lived stopgap with a named owner and a removal date tied to the framework upgrade.

Look elsewhere — decisively — when any of the following is true:

  • Laravel 5.2+. The framework's ThrottleRequests middleware and RateLimiter facade cover this with first-party support, security patching, and documentation. Adopting a third-party package here is pure added surface area.
  • Laravel 8+. Named limiters, per-user/per-tenant segmentation, and clean customization of the 429 response are available natively. This package offers nothing beyond that.
  • You need maintained code. Archived since 2018, last release 2018-09-29, 41 stars, zero dependents. No PHP 7.4/8.x compatibility guarantees, no security response, no issue triage. Treat it as unsupported.
  • You need real quota semantics. Billing-grade metering, burst allowances, sliding windows, distributed consistency across regions, or per-plan entitlements belong in a purpose-built limiter (native + Redis, or an API gateway / edge limiter), not a thin middleware wrapper.
  • You need operational visibility. No maintained metrics, tracing, or alerting hooks. Rate limiting without observability is a blind spot during incidents.
  • You are greenfield. There is no scenario where a new product should start here.

How to Pitch It (Stakeholders)

For executives: We evaluated a rate-limiting package for our API surface. The underlying need is real and worth funding — abuse prevention, uptime protection, and cost control on metered third-party services are all directly tied to revenue and margin. This specific package, however, is not the vehicle: it has been archived since 2018, has no maintainers, no dependents, and has been superseded by functionality built into the framework we already pay for. Recommendation: do not adopt; if it is already in our stack, treat it as a modernization flag and schedule its removal alongside the Laravel upgrade. Net new spend: zero. Net new risk: avoided.

For engineering: This is a Laravel 5-era middleware for request throttling, MIT-licensed, archived, last released September 2018, with essentially no adoption. Our supported Laravel versions provide equivalent or better capability natively — throttle middleware, the RateLimiter facade, and named limiters for per-user/per-tenant rules. Using this package would add an unmaintained dependency, an unpatched code path in the request lifecycle, and a future migration obligation, in exchange for saving a few lines of configuration. Action: standardize on framework-native limiting; if the package is present in a service, open a ticket to replace it, ideally bundled with the framework upgrade, and confirm PHP version compatibility during the swap.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console