Rate Limiting#

Melissa implements rate limiting (throttling) protections across our cloud services to maintain optimal performance and ensure equitable resource distribution among users. Rate Limiting helps prevent scenarios where excessive usage by one client could adversely impact others.

How Rate Limiting Affects You#

Rate limiting is a common concept for many web services and most users should already have a plan in place if they use these types of web services.

Under normal usage patterns, most clients will not experience rate limiting. However, if your application sends a high volume of requests in a very short period, you may encounter rate limits. When rate limited, the service responds with an HTTP status code 429 Too Many Requests, indicating that you’ve surpassed the allowed request rate.

Example of a 429 Error Response:

HTTP/1.1 429 Too Many Requests
Content-Length: 0
Date: Mon, 22 Apr 2024 18:31:56 GMT
Server: Kestrel

In this scenario, the response body will be empty, and the 429 status code in the header signifies that your request rate has exceeded the permissible limit.

What are the actual limits?#

Our rate limiting system is designed to maintain server stability and may adjust based on various factors, including server capacity and user subscription levels. While specific rate limits can vary, the following general guidelines apply:

User Type

Approximate Throughput Rate

Annual Maximum Volume

Pay-as-you-go (Credit) User

~5 records/second

~158 million

Self-Service Subscription

~12 records/second

~380 million

Business Subscription

~200 records/second

~1.5 billion

Enterprise Subscription

~400 records/second

~3 billion

Note

These figures are subject to change. If you anticipate needing more than ~100 records per second or ~3 billion records per year, please contact your sales representative to discuss your requirements.

What is 401 Unauthorized?#

A 401 Unauthorized HTTP status code is returned when an unauthorized user attempts to access a service. Users may encounter this response from Melissa’s services when using an invalid or expired license. This implementation serves as an additional protection of service resources, much like our rate limiting mechanism.

Initially, requests with an invalid or expired license may return a JSON response body along with a GE## result code. However, subsequent requests may behave differently.

In addition to the 401 HTTP status code, the Melissa service will return an HTML response.

<html>
      <head>
            <title>401 Unauthorized</title>
      </head>
      <body>
            <h1>Unauthorized</h1>
            <p>CustomerID is invalid</p>
      </body>
</html>

Troubleshooting a 401 Unauthorized Error#

If you are receiving a 401 Unauthorized error, please verify the following:

  • License String: Ensure it is correct and free of typos.

  • URI Encoding: If using a RESTful GET request, encode the license string properly.

  • Submission Method: Use the raw license string for other methods (POST JSON, POST XML).

  • License Expiration: Check if the license has expired.

  • Limit Reached: Verify if your account has exceeded the total record limit.

If your license has expired or you have surpassed the allowed limit, please contact your Sales Representative for assistance.

For further assistance, reach out to our Support Team.

Need Assistance?#

If you have questions or require support regarding rate limiting and its implications for your services, please visit our support page at https://www.melissa.com/company/product-support

By understanding and planning for rate limiting, you can ensure seamless and uninterrupted use of Melissa’s cloud services.