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

Ratelimit Bundle Laravel Package

noxlogic/ratelimit-bundle

RateLimitBundle adds flexible, configurable rate limiting to Symfony applications. Protect APIs and routes from abuse, define custom limits and strategies, and integrate quickly with minimal boilerplate. Ideal for throttling requests and controlling traffic.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for abuse protection. This is a mature, MIT-licensed, drop-in implementation of rate limiting. The decision it informs is whether to spend 1–2 sprints building throttling middleware (plus ongoing maintenance and edge-case handling for headers, key resolution, and windowing) or adopt a proven bundle. The answer is almost always "buy" unless the framework already ships it.
  • Packaging and pricing tiers. Per-route, per-controller, and per-key limiters make it cheap to ship tiered quotas (free / pro / enterprise) as a plan differentiator rather than a custom billing-adjacent build.
  • Public API roadmap. If an external API, webhook receiver, or partner integration is on the roadmap, this is the cheapest way to make the "we are safe to integrate with" claim credible on day one.
  • Protecting expensive endpoints. The high-value use cases are login/credential-stuffing defense, search/export/report endpoints, and any AI or third-party-metered call where a single tenant can generate real marginal cost.
  • Observability and support decisions. Adopting it forces a decision on 429 response contracts, X-RateLimit-* / Retry-After headers, per-tenant limit telemetry, and customer-facing docs — all of which affect support load.
  • Risk register entry. 332 stars, active-ish releases (Sept 2025), MIT, but 0 dependents and a low opportunity score — this is a "vet before you bet the roadmap on it" dependency, not a "assume it's load-bearing" one.

When to Consider This Package

  • Only if your stack is Symfony. This is a Symfony bundle — annotation/attribute-driven limits on controllers plus config-defined policies. It is not a Laravel package, and the prompt's framing is worth correcting before anyone scopes work: a Laravel team should use the framework's built-in RateLimiter / throttle middleware and treat this as prior art, not a dependency.
  • You want declarative limits, not imperative code. Good fit when limits belong next to the route/controller and should be reviewable in a diff, rather than buried in middleware registration.
  • You need composed, multi-key limiters — per-IP, per-user, per-API-key, per-tenant — with different windows and costs per endpoint.
  • Look elsewhere when: you're on Laravel (built-in), you need a single global throttle (built-in suffices), you need distributed limiting at very high throughput and won't run Redis, or you require a vendor SLA. The 0 dependents figure is the main diligence flag — confirm release cadence, issue responsiveness, and framework-version support before committing, and pin the version.

How to Pitch It (Stakeholders)

For executives: It's a small, MIT-licensed, low-cost dependency that lets us put real abuse protection and usage-based plan limits on public endpoints without a custom infrastructure project. It converts rate limiting from a recurring engineering tax into a configuration exercise, which accelerates any API, integration, or tiered-pricing initiative on the roadmap. The main caveat to state plainly up front: it targets Symfony, so it only applies if that's our stack — if we're on Laravel, we already own this capability and should not add a dependency.

For engineering: Config-over-code bundle that binds limits to controllers and routes, supports multiple named limiters and key strategies, and gives us standard 429/Retry-After behavior out of the box. Small surface area, easy to wrap behind our own interface so we're not coupled to it. Before adoption, we validate maintenance health and framework-version support (only 0 dependents in the wild — a signal, not a blocker), pin the version, and instrument 429s per tenant so we can tell "attacker" from "undersold customer" from day one.

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