API Limits

Credit System

API calls in Zoho CRM are associated with credits. The credits are deducted from your credit count, based on the type of the API call that you make. Credit deduction is based upon the intensiveness of the performance, and the memory usage of the operations involved in the API calls.

Each API call made will result in a reduction of 1 credit. However, for some APIs, credit reduction would be different. For example, for a "Convert Lead API", 5 credits will be reduced for a single API call. Refer to the table below for more details.

Maximum credit limit in a 24-hour window for various editions of Zoho CRM

EditionAllowed CreditsMaximum Credits
Free Edition5000 credits5000 credits
Standard/Starter Edition50,000 credits + (Number of User licenses x 250) + Add-on credits100,000 credits
Professional50,000 credits + (Number of User licenses x 500) + Add-on credits3,000,000 credits
Enterprise/Zoho One50,000 credits + (Number of User licenses x 1000) + Add-on credits5,000,000 credits
Ultimate/CRM Plus50,000 credits + (Number of User licenses x 2000) + Add-on creditsUnlimited

Here is a calculator to know the available credit limits based on your edition and the number of users.

With the purchase of 100 users for Enterprise/ZohoOne edition, the available API Credits are 115,000

 

Note:

  • For example, in the Standard edition, if there are 10 user licenses in an organization, the available credits will be 52,500 (i.e, 50,000 + (10 x 250)). However, the maximum limit for this edition will still be 100,000 credits irrespective of the number of user licenses.
  • For all editions, factors such as concurrency and sub-concurrency are placed to protect the service from overload. This will impact the total number of API calls we process in the 24-hour rolling window.
  • Once your API credit usage consumes 50% or above of the daily available credit limit(credits excluding additional paid credits), the remaining credits (including add-on credits) will be present in the header X-API-CREDITS-REMAINING in the API response.

The credit deduction for some of the API operations are listed below.

API CallNumber of Credits Deducted
Get Users/Roles/Profiles1
Get list of Modules1
Get Field Meta Data1
Get Module Meta Data1
Composite request1
Get Records through a COQL query
  • LIMIT between 1-200 - 1 API credit
  • LIMIT between 201-1000 - 2 API credits
  • LIMIT between 1001-2000 - 3 API credits
Get IDs of deleted records2
Get records with cvid parameter3
Convert Lead5
Add/Remove Tags to Multiple records1 credit for every 50 records
Insert/Update/Upsert1 credit for every 10 records
Delete User from the Portal1 credit for every 100 users
Send Mail20
Mass Change Owner50
Bulk Read Initialize50
Record Count in a Module50
Mass Delete using CVID50
Mass Delete using "ids"1 credit for every 100 records
Mass Convert Leads200
Bulk Write Initialize500
All other APIs1

Note

  • You can Insert/Update/Upsert a maximum of 100 records per API call, and Add/Remove Tags from a maximum of 500 records per API call. Therefore, the maximum number of credits that the system deducts for these API calls is 10.
  • The API call limit has a rolling 24-hour window, from the start of the call.

How Integration Tasks Consume API Credits?

The integration tasks used in our Deluge functions are a set of wrappers for each service's API to execute certain actions provisioned in the Deluge editor. You can call an integration task of a service by calling its name.
Example:
zoho.crm.createRecord(“Leads”, <Map>); invokes the Zoho CRM's Create Records API in the background.
However, there was no way of identifying such API calls made to CRM through these integration tasks from Deluge functions written across Zoho Apps. A provision to identify the origin of these calls can help restrict the unwanted API calls.
To address these aspects and to keep our API servers checked against such hidden consumption, we have decided to include the integration tasks made through Deluge functions as part of the API credit consumption. For example, if you use the zoho.crm.searchRecords() integration task, it will consume the same number of credits as that of the Search Records API.
The Credits by Application/Functions section on the API Dashboard will give you the details of the number of credits the integration tasks, functions, and applications have consumed in a certain period.

Increase API Credits

If your organization requires more API credits than the allowed limit for your edition, the super-admin of your org can increase the credit limit from the API Dashboard. The extra credits will be billed monthly as a pay-as-you-go model, where you will only pay for the credits you have consumed in that billing period. Refer to the Increase API Credits page for more details.

Concurrency limits for various editions of Zoho CRM

In addition to the above credit system, Zoho CRM also uses a Concurrency system, to calculate API Limits based on the number of concurrent calls made per org per app in Zoho CRM. These concurrency limits specify the maximum number of API calls that can be simultaneously active at a given point of time per org per app.

Since the API limits are based on the number of simultaneous active calls, there are no time-based API call restrictions in Zoho CRM. You can make any number of API calls in a minute, provided the number of concurrent calls are within the specified limits.

EditionConcurrency Limits for an Org/App
Free5
Standard/Starter10
Professional15
Enterprise/Zoho One20
Ultimate/CRM Plus25

Sub-concurrency limits for various editions

Besides concurrency limits, Zoho CRM also applies sub-concurrency to limit the number of concurrent calls for the following APIs:

  • Get Records with cvid or sort_by parameters
  • Convert Lead
  • Insert, Update, or Upsert records (when the record count is greater than 10)
  • Send Mail
  • Search records API invoked from a function
  • Query API
  • Composite API
The sub-concurrency limit for the above APIs is 10 for all the CRM editions. For example, you can either make ten concurrent Convert Lead API calls or a combination of 10 concurrent requests of any of the above APIs.

Therefore, when an API request is sent from an org, two concurrency limits are applied—Concurrency (edition-based) and Sub-concurrency (request-based).

For example, consider that a Convert Lead API call is sent from an org in the Professional edition. The concurrency limit the org is left with is 14 (out of 15), and the sub-concurrency limit for the Convert Lead request is 9 (out of 10). These limits are further calculated based on the type of subsequent requests.

Let's say the the Get Module Meta Data API request is sent from the org. Now, the concurrency limit becomes 13 (out of the remaining 14), and the sub-concurrency limit stays the same (9).
Now, in the same org, 15 records are updated through the Update records API. The concurrency limit, now, is 12 (out of the remaining 13), and the sub-concurrency limit for the same is 8 (out of the remaining 9).
After this, only 7 concurrent calls can be made from the org—Convert lead, insert/update (more than 10 records), search records from a function, or query API.

When the sub-concurrency limit for any of the two requests is reached, the system throws the TOO_MANY_REQUESTS error.

You can continue to make other requests from the org as they still fall under the primary concurrency limit.