We have increased the minimum API limit in all editions to improve your API usage experience.
Zoho CRM Edition | API Requests - Upper Limit |
Free Edition | 1000 Requests/day/organization |
Standard Edition |
|
Professional Edition |
|
Enterprise Edition |
|
For more details, refer API Limits to learn more about this change.
Released On: Nov 1, 2014
We have introduced the searchRecords method to help you search records from modules. Refer API Guide to learn more about this new method.
Released On: Oct 20, 2014
We have introduced the following methods to help you retrieve the list of CRM modules and IDs of deleted records from recycle bin:
Refer our API Guide to learn more about these new methods.
Released On: Aug 7, 2014
The Zoho CRM API is available in all editions of Zoho CRM. To use the API, you'll require the Zoho CRM Authentication Token from your CRM account. Please make sure that you have the permission to access the API service. If you do not have permission, please contact your CRM administrator.
Zoho CRM Edition | API Requests - Upper Limit |
Free Edition | 250 Requests / day / organization |
Standard Edition | Minimum - 1000 Requests/day Maximum - 5000 Requests/day/Organization or 250 Requests /User License whichever is lower |
Professional Edition | Minimum - 2000 Requests/day Maximum - 10000 Requests/day/Organization or 250 Requests /User License whichever is lower |
Enterprise Edition | Minimum - 3000 Requests/day Maximum - 25000 Requests/day/Organization or 500 Requests /User License whichever is lower |
Released On: Jun 15, 2013
We have introduced the following methods that help you attach files or photos to records:
You can read the complete announcement in our Developer API Forums.
Refer our API Guide to learn more about these new methods.
Released On: 11 July, 2012
We now support the Authentication Token in our Developer API Implementation.
This token is a permanent token and it will become invalid only if you choose to delete it.
Learn More about the Authentication Token in our API Guide.
Released On: March 05, 2012
We have introduced the following methods in our Developer API:
API Method | Purpose |
getFields | To fetch all details of fields available in a particular module. |
getRelatedRecords | To fetch records related to another record (Primary record). . |
updateRelatedRecords | To update records related to another record. |
You can read the complete announcement in our Developer API Forums. Refer our API Guide to learn more about these new methods.
Released On: 27 January, 2012
At present, we are supporting both HTTP and HTTPS while implementing our developer API. In another 4 weeks time-frame, we are planning to support all API transactions only via HTTPS and permanently discontinue the HTTP protocol. This additional SSL, 256-bit security system will help you to protect third-party integration from security problems during data transfer.
After April 28, 2011, if you still continue to use the HTTP in your program, API requests will not be executed.Hence, I would like to strongly recommend our developer community to call Zoho CRM API with HTTPS requests only, at the earliest.
We have introduced a new parameter called version for Developer API methods. You can fetch values from the "Campaign Source" field with this parameter.
In a recent enhancement to the Campaigns module, the Campaign Source field was removed to support the campaign members feature. After this enhancement:
Learn more about this enhancement in our Transition Guide.
How do you use the version parameter in API requests?
You can use the version parameter in methods to fetch values from the Campaign Source field in your API implementation.
The "version" parameter with a value "1" will fetch responses from the "Campaign Source" field also.
The "version" parameter with a value "2" will fetch responses based on the current API implementation. Values from the "Campaign Source" field will not be fetched in this case.
This is not a mandatory parameter. Until October 30, 2011, all responses will be fetched based on the earlier implementation i.e prior to the enhancement. During this period, if you want to fetch responses based on the new implementation, you can use the version parameter in your requests with a value '2' i.e version=2.
Note:
Here is an example on the usage of the "version" parameter.
We have also introduced a new API method called getRelatedRecords. You can fetch records (Leads, Contacts, etc) related to a record in another module.
For example, you can fetch Leads or Contacts related to a particular campaign.Learn More
Released On: April 17, 2011
We are very happy to announce the GA release of API for Zoho CRM service. Our API is available in XML and JSON formats, which helps the developer community to build applications using their favorite programming language. Now we are ready with robust and much better API methods to cater to the needs of real-time deployments. Your valuable contribution towards identifying bugs, coming up with new business scenarios and publishing examples really helped us to come up with a better API for our CRM system. In addition to the GA release, we are also making some major changes in our existing API implementation that allows us to fulfill the future needs of our developer community. Some of these changes include, deprecation of search methods, new response format, restriction of API requests and new API methods for implementing additional CRM business logic. We sincerely believe, these changes will greatly help us to provide a better experience to the developer community and take Zoho CRM developer platform to the next level.
Keeping the future community growth, better developer service and optimization of the high performance-intensive operations in view, we are phasing out the following API methods:
API Method | Purpose |
getAllSearchRecords | Used to fetch all data with respect to the search word specified irrespective of the ownership. |
getMySearchRecords | Used to fetch data owned by the login name with respect to the search word specified in the request. |
getAllRecords | Name has been changed to getRecords |
getEntityRecord | Name has been changed to getRecordById |
Of late, we are encountering a huge amount of resource utilization while implementing the getAllSearchRecords and getMySearchRecords than expected. To overcome this kind of situation, we are introducing new search methods, getSearchRecords and getSearchRecordsByPDC , which serves the similar purpose. We have optimized these new methods for better performance.
End of Life: Jan 21, 2010
Note:
Before end of life, you are strongly recommended to update your application with the new search methods - getSearchRecords or getSearchRecordsByPDC . For any help or clarification, please mail us at: support@zohocrm.com
For more details about the deprecated methods, please refer our API Guide
At present, XML format for the API response is < fieldlabel value = "LEADID" > Field Value </ fieldlabel>, which contains about 26 characters (including space) in the opening and closing tags. In our new implementation, we have shortened the tag size by changing the XML tags to <FL val="LEADID"> Field Value </FL> - total 8 characters, which saves about 18 bytes per field. This will greatly help us to optimize the utilization of bandwidth.
Till Jan 21, 2010, by default, you will get the response in the old format. If you want to get the response in the new format, you must pass the extra argument with newFormat=1 or 2 in API request to fetch data from Zoho CRM.
Please note, you must use the newFormat=1 parameter XML data to insert or update records.
Parameter | Purpose |
newFormat=1 | To exclude fields with "null" values while fetching data from your CRM account. |
newFormat=2 | To include fields with "null" values while fetching data from your CRM account. |
Old Format:
<response uri="/crm/private/xml/Leads/getAllRecords">
<result>
<Leads>
<row no="1"> <fieldlabel value="LEADID">1111111111<fieldlabel>
<fieldlabel value="SMOWNERID">222222222</fieldlabel>
<fieldlabel value="Lead Owner">soori</fieldlabel>
<fieldlabel value="Company">NiveSoft</fieldlabel>
<fieldlabel value="First Name">Mutha</fieldlabel>
<fieldlabel value="Last Name">Raja</fieldlabel>
<fieldlabel value="Designation">null</fieldlabel>
<fieldlabel value="Email">null</fieldlabel>
<fieldlabel value="Phone">3434343</fieldlabel>
<fieldlabel value="Fax">null</fieldlabel>
<fieldlabel value="Mobile">null</fieldlabel>
<fieldlabel value="Website">null</fieldlabel>
<fieldlabel value="Lead Source">null</fieldlabel>
<fieldlabel value="Lead Status">null</fieldlabel>
<fieldlabel value="Industry">null</fieldlabel>
<fieldlabel value="No of Employees">0</fieldlabel>
<fieldlabel value="Annual Revenue">0.0</fieldlabel>
<fieldlabel value="Rating">null</fieldlabel>
<fieldlabel value="CAMPAIGNID">null</fieldlabel>
<fieldlabel value="Campaign Source">null</fieldlabel>
<fieldlabel value="SMCREATORID">22222222</fieldlabel>
<fieldlabel value="Created By">jkbmahesh</fieldlabel>
<fieldlabel value="MODIFIEDBY">22222222</fieldlabel>
<fieldlabel value="Modified By">jkbmahesh</fieldlabel>
<fieldlabel value="Created Time">2009-02-22 18:20:38</fieldlabel>
<fieldlabel value="Modified Time">2009-10-05 16:01:32</fieldlabel>
<fieldlabel value="Street">null</fieldlabel>
<fieldlabel value="City">null</fieldlabel>
<fieldlabel value="State">null</fieldlabel>
<fieldlabel value="Zip Code">null</fieldlabel>
<fieldlabel value="Country">null</fieldlabel>
<fieldlabel value="Description">null</fieldlabel>
<fieldlabel value="Skype ID">null</fieldlabel>
<fieldlabel value="Email Opt Out">false</fieldlabel>
<fieldlabel value="Salutation">null</fieldlabel>
<fieldlabel value="rrr">null</fieldlabel>
<fieldlabel value="int field">null</fieldlabel>
<fieldlabel value="Currency (Round Up)">null</fieldlabel>
<fieldlabel value="Auto Num">1</fieldlabel>
</result>
</response>
In this example, all fields are fetched in spite of the "null" values in the record. If you have 150 fields in a module, we have to fetch data for all the fields, which require unnecessary bandwidth utilization. New format:
<response uri="/crm/private/xml/Leads/getAllRecords">
<result>
<Leads>
<row no="1">
< FL val ="LEADID">1111111111</ FL >
<FL val="SMOWNERID">1111122222</FL>
<FL val="Lead Owner">soori</FL>
<FL val="Company">NiveSoft</FL>
<FL val="First Name">Mutha</FL>
<FL val="Last Name">Raja</FL>
<FL val="Email"></FL>
<FL val="Phone">3434343</FL>
<FL val="No of Employees">0</FL>
<FL val="Annual Revenue">0.0</FL>
<FL val="SMCREATORID">22222222</FL>
<FL val="Created By">jkbmahesh</FL>
<FL val="MODIFIEDBY">22222222</FL>
<FL val="Modified By">jkbmahesh</FL>
<FL val="Created Time">2009-02-22 18:20:38</FL>
<FL val="Modified Time">2009-10-05 16:01:32</FL>
<FL val="Email Opt Out">false</FL>
<FL val="Auto Num">1</FL>
</row>
<row no="2">
....
</row>
</Leads>
</result>
</response>
In this example, we are not fetching the fields containing " Null " values by passing the newFormat=1 parameter. Key Points:
New Response Format - Available from Oct 22, 2009
EOL of Old Response Format - Jan 21, 2010
For a better performance and developer service, we will be limiting the number of API requests as given below:
Zoho CRM Edition | API Requests - Upper Limit |
Free Edition - 3 users free | 250 calls/day/organization |
Professional Edition - USD 12/user/month | 250 calls/day/user license OR |
Standard Edition - USD 20/user/month | 250 calls/day/user license OR |
Enterprise Edition - USD 35/user/month | 500 calls/day/user license OR Max: 25000 calls/day/org, Min: 3000 calls/day/org |
For example, in Free Edition, if you are using the getSearchRecords method, you can fetch a maximum of 200 records per request, in turn, a total of 50,000 records per day (250 x 200 = 50,000 records).
Note:
The above restrictions are applicable for all our existing and new users. In future, we are planning to notify the CRM administrator (Super Administrator of the Zoho CRM account) if your organization exceeds the above mentioned limit. In addition, we will also provide API Statistics for better assessment of your integration requirements.
Implementation Date: Jan 21, 2010
From Jan 21, 2010 (12.00 AM PST), you can request API calls as per your Zoho CRM Edition. In case, your application requires more than upper limit, your additional API requests will not be processed. To avoid data transfer issues, please assess your API requirements well in advance. If you need any help, please contact our Support at support@zohocrm.com or call us: +1 888 900 9646
We are really excited to introduce the following new methods for the benefit of growing developer community:
API Method | Purpose |
getSearchRecords | To fetch all users data specified in the API request. |
getSearchRecordsByPDC | To search the values based on the default pre-defined columns of Zoho CRM entities. |
deleteRecords | To delete a record by passing its ID. |
convertLead | To convert lead to account, contact and potential. |
We are confident, the above methods will be very useful in implementation of search functions and allows you to develop additional business logic through our API. These methods will be made available for all editions immediately.
Available From: Oct 22, 2009
For more information on new API methods, please refer our API Guide
In addition, we are incorporating the following minor changes: