In this tutorial, we will implement rate limiting in order to prevent the same IP from making too many requests to our API and that will then help us prevent attacks, like denial of services or brute force attacks.

So, here we will implememnt rate limiter as global middlware, so basically the rate limiter will count the number of

requests comming from one IP and then,when thre are too many requets, block these requetsts.

npm install express-rate-limit
const rateLimit = require('express-rate-limit')
// Middleware

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 100, // Limit each IP to 100 requests per `window` (here, per 15 minutes)
  standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
  legacyHeaders: false, // Disable the `X-RateLimit-*` headers
  message: "Too many requests from this IP, please try again after in an hour",
});

// Apply the rate limiting middleware to all requests
app.use("/api", limiter);
Too many requests from this IP, please try again after in an hour

Topics covered:

Found this article helpful?

TutsCoder tutorials are free and ad-light — supported by readers like you. Buy me a coffee (or two ☕☕) as a token of appreciation and help keep Angular & Node.js content coming!

One-time. No subscription. 100% optional. 🙏 Every coffee counts!

Leave a Comment

Your email will not be published. Spam-free zone. ✌️

Available for Projects

Need Help With Your
Angular or Node.js Project?

7+ years of MEAN Stack experience. I build scalable Angular 21 apps, Node.js APIs, and SaaS products — delivered on time, every time.

7+ Years MEAN Stack Angular 21 + Nx Expert 20+ Projects Delivered Remote / Freelance