LogoLogo
DocsHomeSupportContact
  • Getting Started
    • Introduction
    • Build on DIMO
  • DEVELOPER GUIDE
    • Developer Overview
    • Developer Console
    • Authentication
    • DIMO Developer SDKs
      • Data SDK
      • Login with DIMO SDK
        • React Component
        • Login with DIMO Redirect
        • Core Functionalities
      • TypeScript: Transactions SDK
      • SDK Release Notes
    • Low Code Tools
      • n8n: Getting Started
    • Permissions Contract: SACD
    • DIMO Credits
    • Response Types
    • Rate Limits
    • Developer FAQ
    • Developer Changelogs
    • Troubleshooting Common Issues
  • API References
    • Overview of DIMO API
    • Attestation API
    • Device Definitions API
    • Identity API
      • Schema & Types
      • Scalars
      • Nodes & Objects
        • AftermarketDevice
        • AftermarketDeviceConnection
        • DCN
        • DCNConnection
        • DeveloperLicense
        • DeviceDefinition
        • Earning
        • EarningsConnection
        • Manufacturer
        • Sacd
        • SyntheticDevice
        • Vehicle
        • VehicleConnection
        • VehicleEarnings
        • UserRewards
      • Common Queries
    • Telemetry API
      • Schema & Types
      • Scalars
      • Nodes & Objects
        • Signals
        • SignalsLatest
      • Common Queries
    • Token Exchange API
    • Trips API
    • Valuations API
  • DIMO Hardware
    • Introduction
    • DIMO Hardware Application
    • DIMO Manufacturing License
    • Development & Certification
    • Audits & Assessments
      • Hardware & Security Audit
      • Customer Experience Assessment
      • Integration Testing & Quality Control
      • Final Approval
    • DIMO Device License
      • Device Minting Certificates
    • Essential Documents
      • Hardware & Security Audit Checklist
      • Approved Hardware Auditors
      • DIMO Memorandum of Understanding (MOU)
  • Additional References
    • Developer License
    • DIMO GraphQL Basics
  • Deprecated Resources
    • Guides
      • Developer Journey
      • Quick Start Guide
      • Hello World
      • Code Exchange Flow
    • Data Availability
Powered by GitBook
On this page
  • Why do we have Rate Limits?
  • API Rate Limits
  • API Rate Limit Best Practices

Was this helpful?

  1. DEVELOPER GUIDE

Rate Limits

PreviousResponse TypesNextDeveloper FAQ

Last updated 1 year ago

Was this helpful?

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 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.

parallel request patterns