Home
/
Website Help
/
HTTP Status Codes
/
How to Fix HTTP 429 Error Too Many Requests?

How to Fix HTTP 429 Error Too Many Requests?

If you own a website or frequently browse the internet, you may have come across the HTTP 429 Too Many Requests error. This error occurs when a server detects that a client has exceeded the rate limits or has made too many requests in a given period of time.

It is a client-side error, meaning that it is caused by actions taken by the user or client and not by the server hosting the website.

In this article, we will discuss what HTTP 429 is, what causes the HTTP 429 Too Many Requests error, provide examples of the error message, and offer 11 proven solutions to fix it.

HTTP error 429 technically is not an error but is an application-level response that a server is sending to a client (browser) which exceeds the limit of requests for a specified period of time

The error code HTTP 429 Too Many Requests is one of the many 4.x.x HTTP status codes that indicate errors from the client side and not the server.

It’s typical for web servers to set a limit of possible HTTP requests for a given time frame. They impose this security measure to prevent overload and downtime. The error usually occurs when a client sends too many requests and hits that limit. As a result, the server stops the connection and sends the HTTP 429 response to the client.

Depending on which browser you are using, different variations of the error message may appear:

  • 429 Too Many Requests
  • 429 Error
  • HTTP 429
  • Error 429 (Too Many Requests)
  • There was a problem with the server 429
  • 429. That’s an error.
  • 429 server error

Here is an example of the 429 HTTP status code on Google Chrome.

HTTP 429 Error on Google Chrome

Apart from websites, you may see the error code in online tools such as SSL installers. Below is an example of SiteGround’s Let’s Encrypt SSL installer in Site Tools, producing the error 429 Too Many Requests when you reach the rate limit of certificate requests.

HTTP 429 Error in Let's Encrypt SSL Installer

How to fix the HTTP 429 error?

This error can disrupt the normal functioning of an application or service that relies on the server or API, but fortunately, there are several solutions that can resolve it.

We will explore some practical steps to fix the HTTP 429 error, including adhering to rate limits, optimizing request frequency, and more.

Use a Content Delivery Network (CDN)

A content delivery network (CDN) is a network of servers that are distributed across multiple locations worldwide. When a user visits your website, the CDN serves the static assets (such as images, CSS, and JavaScript files) from the server closest to the user’s location. This helps to reduce the load on your web server and prevent the 429 error.

You can use a CDN service, such as SiteGround CDN, to distribute your static assets across multiple servers and serve them to users from the nearest server. This can greatly improve your website’s performance and reliability, especially during high traffic.

All SiteGround users can benefit from using the SiteGround CDN, available on all plans. You can activate it from Site Tools > Speed > CDN. Choose between the Free and Premium plan by pressing the corresponding Activate button of either option.

Use SiteGround CDN to fix the HTTP 429 Error

Learn more about SiteGround CDN in this tutorial on how to manage your CDN through the CDN tool in Site Tools.

Optimize Your Database

A poorly optimized database can increase the load on your server. Consequently, your website may suffer from slow performance and high resource usage, leading to the 429 error. To fix this issue, you can optimize your database to reduce its size and improve its performance.

You can use plugins for your WordPress website to clean up your database. They can remove unnecessary data, such as post revisions, spam in the comments section, and transient options. We recommend the Speed Optimizer plugin available to all users. It has the Scheduled Database Maintenance option, which cleans your database of junk data weekly.

To activate it, open the Speed Optimizer menu in your WordPress dashboard. Navigate to the Environment section and press EDIT for Scheduled Database Maintenance.

In the following pop-up window, select the actions the maintenance should perform and press CONFIRM.

Options for Scheduled Database Maintenance in SiteGround Optimizer

Additionally, you can repair and optimize your database tables using the built-in database optimization features in phpMyAdmin. For more information, read this guide on how to optimize a MySQL database.

Optimize the database from phpMyAdmin to fix the HTTP 429 Error

Use Rate Limiting on the Client Side

One effective way to prevent the HTTP 429 error is to implement rate limiting on the client side. Rate limiting is a technique that limits the number of requests a client can make within a specified time period. Using this method, you can prevent clients from making too many requests and exceeding the rate limits set by the server.

You can implement rate limiting by using libraries or frameworks that provide rate-limiting features or custom rate-limiting logic in your code. For example, you can set a limit on the number of requests a client can make within a certain time period (e.g., 100 requests per 10 minutes) and block or delay further requests from the client if the limit is exceeded. This can help prevent the 429 error and ensure that clients do not overload your server with too many requests.

Change Your Default WordPress Login URL

Brute-force attacks often cause the 429 error. In these attacks, automated bots repeatedly attempt to log in to your website using different combinations of usernames and passwords. Hiding your login URL or moving your default WordPress login page, you can add an additional layer of security and protect your WordPress admin area.

You can easily change the login URL to something custom with WordPress plugins like Security Optimizer. By doing so, bots will have a harder time finding and targeting your login URL. This can reduce the number of unauthorized login attempts and help prevent the 429 error.

Use Custom Login URL to prevent HTTP 429 Error

Learn more about this feature in the Security Optimizer tutorial about Login Security.

Switch to a Default WordPress Theme

If you recently installed a custom theme or made changes to your theme’s code, it’s possible that it could be causing conflicts or overloading user or server resources, resulting in the 429 error. In such cases, reverting to a default WordPress theme can help isolate and fix the issue.

You can switch to a default WordPress theme, such as Twenty Twenty-One or Twenty Twenty, to see if the error persists. If the error goes away, your previously active theme was most likely causing the issue. You can then investigate and fix any conflicts or performance issues related to your custom theme. Consider contacting the theme’s support or using a different theme altogether.

If the error doesn’t stop you from accessing your website’s backend, log into your WordPress dashboard. Navigate to Appearance > Themes. Here you can choose the active theme between all installed themes on your website. To switch the theme, press the Activate button on one of your default themes.

Switch to a default WordPress Theme to fix the HTTP 429 Error

The error “Too many requests” may prevent you from logging into the WordPress dashboard where you can change the theme. In this case, you can change the active theme from the wp_options table in the website’s database. Check this guide on how to change the WordPress theme from the database for detailed instructions.

Clear Your Browser’s Cache

Sometimes, your browser can store outdated or corrupted cached data triggering errors when loading web pages, including the 429 HTTP status code. Clearing cached browsing data can help resolve such issues and ensure that you are loading the latest version of your site.

You can typically clear the cache from your browser’s settings menu. Read the following guides to find the steps for your browser or device.

Flush Your DNS Cache

Computers store a local DNS (Domain Name System) cache that keeps the information about domain name to IP address mappings. If the DNS cache becomes outdated or corrupted, it can result in issues with connecting to your website and trigger the 429 error.

Flushing your DNS cache will force your computer to fetch the latest DNS information and can help resolve DNS cache-related issues. Read the following guides to clear the DNS cache on your particular operating system (OS):

Limit Brute-Force Attacks

Brute-force attacks can trigger the HTTP error 429 by sending multiple requests to your server within a short period of time. To prevent brute-force attacks, you can implement measures to detect and block suspicious login attempts.

One common technique is to implement a CAPTCHA or reCAPTCHA system on your website’s login page. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a security measure that requires users to complete a challenge (such as typing a series of distorted characters) to prove that they are human and not bots. reCAPTCHA is a more advanced version of CAPTCHA that uses machine learning algorithms to detect and block suspicious login attempts.

If your website is WordPress-based, you can easily protect your pages with reCAPTCHA with a plugin. One of the most popular ones is reCaptcha by BestWebSoft. Download the plugin and activate it from Plugins > Add New in your dashboard.

Activate reCAPTCHA plugin to stop bots and fix HTTP 429 Error

Read the manual for configuring the plugin with Google reCAPTCHA. You can select which sections of your website will be protected by reCAPTCHA. It’s recommended to secure your login page and comments section, which are commonly targeted by bots. Once the reCAPTCHA is active, users will have to complete a visual challenge in order to log in or post a comment to your website.

CAPTCHA protection from bots on comments section in WordPress to prevent HTTP 429 error

Check for Server Resource Limits

The error 429 “Too many requests” can also occur if your site exceeds the resource limits set by your hosting provider. These limits may include CPU usage, memory usage, and a maximum number of concurrent connections. Checking for server resource limits and increasing them if necessary can help resolve the error.

You can contact your hosting provider or check your hosting account’s control panel for information on resource limits. SiteGround users can monitor their resource usage from their Client Area > Services > Hosting. Click on the Manage button of the hosting plan.

Manage section in SiteGround User Area to check the usage statistics

Select the Statistics tab to check the various resources used on your plan.

Statistics page on a SiteGround hosting account

If you are on a shared hosting plan, you may need to upgrade to a higher plan to ensure sufficient resources for your WordPress website.

Check the access logs and block suspicious IP addresses

In many cases, the HTTP error 429 is caused by bots or malicious visitors with a specific IP address. Their activity should be recorded in the server access logs. Usually, you should be able to inspect the access logs in your account’s control panel. After you identify the offending IP, you can block it from spawning new requests.

SiteGround users can check the logs in Site Tools > Statistics > Access Log. The logs show all requests to your website and from which IP addresses they originate.

Check the Access Logs to identify offending IP addresses

After you identified a suspicious IP, you can block it from accessing your website. In Site Tools, you can use the tool Security >Blocked Traffic. Type the IP address in the field IP/IP Range and confirm with the Block button.

Block suspicious IP addresses to stop the HTTP 429 Error

Learn more about the tool in this guide on how to block an IP and remove an IP block in Site Tools.

Temporarily Deactivate All of Your WordPress Plugins

A misconfigured WordPress plugin could be also causing the HTTP error 429 “Too many requests.” Your primary goal should be to access your dashboard and see if a plugin is triggering the error.

If the HTTP error 429 doesn’t prevent you from accessing the backend, log in and navigate to Plugins > Installed Plugins. Check the box Plugin to select all plugins, choose Deactivate from the Bulk actions menu and press Apply.

Deactivate all WordPress plugins to stop the HTTP 429 error

If one of your plugins is the culprit, the HTTP error should seize. Enable the plugins one by one by pressing the Activate button for each plugin until the HTTP error returns. This way, you will identify the problematic plugin.

Activate your WordPress plugins one by one to identify the one causing HTTP 429 Error

Unfortunately, the error often persists even on the login page, preventing you from logging into your dashboard. In this case, you’ll have to use an alternative method to disable the plugins. For the sake of easier WordPress management, SiteGround has developed a feature to quickly disable all plugins with one click.

Go to Site Tools > WordPress > Install & Manage. Click on the Actions (kebab) menu and select Disable all plugins.

Disable all WordPress plugins from Site Tools to stop HTTP 429 Error

Once you have disabled the plugins, you should be able to access your WordPress dashboard. Proceed with activating the plugins one by one to find the problematic plugin.

If the options above are not available to you, you can disable the plugins directly from the database. Learn more about this option from this guide on how to disable the WordPress plugins from the database using phpMyAdmin.

As a last resort, you can also deactivate the plugins by renaming the plugins folder of your WordPress files via File Manager or FTP. The folder path is:

yourwebsite.com/public_html/wp-content/plugins

Rename the folder to anything else, for example – plugins.deactivated or plugins1.

Rename the "plugins" folder in WordPress to stop HTTP 429 error

If you can access your site normally after disabling your plugins, your next move should be to restore the plugins directory to its original name. Once you do that, open the folder via FTP or File Manager and start working your way down the list of active plugins. For each plugin, you’ll want to change its individual folder name, which will disable it. Then check to see if the error persists. Once you identify which plugin was causing the problem, you can keep it disabled, report the plugin authors and ask for a solution, or find a substitute plugin.

What Causes the HTTP 429 Error?

The HTTP 429 Too Many Requests error occurs when the server receives too many requests from a client within a given period of time. Thus, the client exceeds the rate limits set by the server. This can happen due to various reasons, such as:

  1. Server Resource Limits – Every web server has certain resource limits in terms of CPU usage, memory, and other server resources. If your website exceeds these limits, it can trigger the 429 Too many requests error. This can happen if your website receives a sudden surge in traffic or if you are on a shared hosting plan with limited resources.
  2. Brute-Force Login Attempts – Brute-force attacks are a type of malicious attack where an attacker tries to gain unauthorized access to your website by systematically trying different username and password combinations. This can result in multiple requests being sent to the server within a short period of time, triggering the 429 error.
  3. High Traffic Volume – If your website experiences a high volume of traffic, especially during peak times, it can result in multiple requests being sent to the server simultaneously, causing the server to exceed its rate limits and trigger the 429 error.
  4. Numerous requests to the website server A user may be sending a large number of requests to the website server. In such a case, the server may respond with the 429 Too Many Requests code in such a case.
  5. Unoptimized database – Your website’s database may not be in optimal shape. It may be full of junk content, transient data, or leftover tables, bloating its size. This can make the execution of database queries longer, exhausting the server resources. As a result, the website may produce an HTTP 429 error.
  6. WordPress plugins – Occasionally, a WordPress plugin may stop working as expected and create conflicts with other parts of your website. This may lead to timeouts or a large number of executions consuming substantial web server resources.
  7. WordPress themes – Like plugins, themes may also stop working normally, leading to the 429 Too many requests error.

Now that we know what causes the HTTP 429 Too Many Requests error, let’s look at an example of the 429 Status Code.

429 Status Code Example

When you encounter a 429 Too Many Requests error, you will typically see a message on your screen. The exact wording may vary depending on the server and the application you are using. Nevertheless, it usually includes a 429 status code indicating that too many requests have been made.

The HTTP error may also provide additional details explaining why the error occurred and how to resolve it. Here’s an example of what an HTTP 429 error message might look like:

HTTP/1.1 429 Too Many Requests

Retry-After: 3600

Content-Type: application/json

{

"error": {

"code": 429,

"message": "Too Many Requests: You have exceeded the rate limit. Please try again after 1 hour.",

"details": "You have made 500 requests within the past 10 minutes. The rate limit is 100 requests per 10 minutes. Please reduce the frequency of your requests.",

"retry_after": 3600

}

}

In this case, the server has set a rate limit of 100 requests per 10 minutes. However, the client has made 500 requests within the past 10 minutes, exceeding the limit. The server has specified a Retry-After header indicating that the client should wait for 1 hour before making further requests.

Summary

Encountering the status code HTTP 429 Too Many Requests error is a common occurrence for websites of all types. This error can stem from various causes, such as:

  • database optimization issues,
  • server resource limits,
  • brute-force attacks,
  • clients that send too many requests.

Resolving this error may involve taking measures such as optimizing the database, monitoring and adjusting server resource limits, and implementing security measures against brute-force attempts.

Seeking professional help or consulting with your hosting provider is recommended if you’re uncertain about implementing these solutions. By addressing the underlying issues, you can ensure the smooth operation of your website and provide a better user experience to your visitors.

Share This Article