Docs Glossary Rate Limiting

Rate Limiting

What Is Rate Limiting?

Rate limiting is a method used by applications to control and limit the number of requests a user can make within a specified timeframe.

When the limit is reached, additional requests are either delayed or blocked entirely, depending on how it’s set up.

Enabling rate limiting on a system prevents data abuse, protects resources, and maintains system stability and performance.

How Does Rate Limiting Work?

Rate limiting sets a maximum threshold for the number of requests or actions a user, an IP address, or an application can perform within a specified period.

Rate limiting works within the application or system rather than the web server. Essentially, it tracks the IP address or user account requests come from and records the time between each request.

IP addresses are often used to determine the source of each request. However, some systems, such as SendLayer, utilize user accounts when setting rate limits.

Rate limiting keeps track of how often a specific IP address or user account makes requests. If the number of requests exceeds the allocated limit, it’ll trigger the rate-limiting system. Thereby forcing the application to stop making further requests until the next available timeframe.

How Rate Limiting Works For APIs

An API (Application Programming Interface) allows 2 systems to communicate and exchange data. APIs are essential for applications such as SendLayer to function properly.

Each time an API responds to a request, the owner of the API has to pay for computing time. In the case of SendLayer, whenever a user sends an email, it triggers SendLayer’s API.

For this reason, applications offering API services often limit how many API calls users can make at a given interval. This helps to protect the server from overloading or crashing entirely.

Limiting API usage ensures API services are always available to users.

That’s it! Now you know how rate limiting works.

If you’d like to learn how to integrate your app with SendLayer, check out the following tutorials: