Rate Limits

Why do we have Rate Limits?

Rate limits are a common practice for APIs, and are implemented for several important reasons:

  • Ensure Fair Usage & Quality of Service: With a reasonable rate limit, DIMO ensures that all developers have equitable access to the service, preventing heavy usage from certain users at the expense of others. This also helps DIMO maintain the quality of service of our APIs.

  • Encourage Efficient Usage & Assist with Resource Management: Rate limits encourage developers to use the DIMO API efficiently, making fewer but meaningful requests. This further assists with our load management, preventing performance degradation and system outages.

  • Maintain Security & Regulatory Compliance: Rate limits help protect against malicious attacks, such as Denial-of-Service (DoS) attacks where the attacker floods the DIMO AP, causing disruptions in service. In certain cases, rate limits may be necessary to comply with legal or regulatory requirements.

With rate limits, DIMO can help maintain a consistent and efficient experience for all developers.

API Rate Limits

Our universal API rate limit is enforced at 10 requests per second per API service per client host. DIMO does not send the number of remaining requests back in the HTTP headers.

API Rate Limit Best Practices

Tip 1

We strongly recommend developers use a 3rd party library to help orchestrate request rates.

Tip 2

The rate limiting framework of your choice is best backed by a system like Redis to ensure that you are staying below the universal limit across all of your apps that issue requests from the same client hostname.

Tip 3

While parallel request patterns is better for the performance of your application, we highly recommend using a hybrid or a sequential request pattern if you do not have request throttling in place.

Last updated