Kaizen #158 - How to effectively handle API calls to optimize API credits?

Kaizen #158 - How to effectively handle API calls to optimize API credits?

Hello everyone!

Welcome back to another post in the Kaizen series!

In this post, we will discuss a few strategies to handle API calls effectively and optimize your API credits.

As you all know, your CRM edition comes with a set number of credits(this varies based on the number of licenses purchased) and all API calls consume these API credits. Refer to our API limits page for more information on the credit system.

Businesses use different processes for different needs, so they use different APIs. Here are a few strategies that can help you optimize your API usage and save up on credits while still maintaining efficient operations.

  1. Understand API Credit Consumption
  2. Optimize API Calls - Batch and bulk
  3. Implement Caching Mechanisms
  4. Minimize Redundant Calls
  5. Analyze Usage - track credit usage, set alerts
  6. Increase Credits to fit your needs

1. Understand API Credit Consumption

The primary step to optimize your usage is to understand it and know the credit system. Each API call consumes a specific number of credits based on its type. For example, a standard Get Users API call costs 1 credit, while a more complex operation, like converting a lead, consumes 5 credits.
Refer to the credit consumption table provided on the API Limits page to plan your usage efficiently.

2. Optimize API Calls

Batch Requests

Whenever possible, batch requests to combine multiple operations into a single API call. For instance, consider that you want to insert or update 20 records. Insert/Update Records API consumes 1 credit for every 10 records. So, instead of making the API call 20 times and spending 20 credits, you can insert or update all 20 records in a single API and spend only 2 credits.
You can also use Composite API to combine up to 5 API calls as sub-requests in one composite request based on your use case.

Bulk APIs

For large data sets involving thousands of records, leverage bulk APIs that can process multiple records in a single request. This approach not only saves credits but also enhances performance by reducing the number of individual requests sent to the server.
Furthermore, these APIs support callback by which you can reduce polling(thereby saving credits) and get near real-time notification of the bulk job.
Refer to our Kaizen post on When to use Get Records, Search Records, COQL and Bulk Read APIs? to decide which API will suit best for a given scenario.

3. Implement Caching Mechanisms

Store frequently accessed metadata locally or in a temporary cache. This allows you to get the data from the cache instead of making multiple calls to get the same information. Caching metadata of modules and fields would be a game changer as these are one of the most frequently accessed data.

4. Minimize Redundant Calls

Upsert Records API instead of Insert/Update Records

Use the upsert records API while creating records. If you have enabled duplicate check based on unique fields or display label, this API checks if there are existing records, and updates or inserts, accordingly. This helps you save up on credits instead of searching for records and then inserting or updating them.

Use Webhooks

Use webhooks to receive notifications about changes in data instead of polling. This reduces the need for frequent API calls to check for updates.
For example, when you use bulk APIs, they support both polling and callback. Use callback to get notified about the status of the job instead of using the API to poll for an update.

Similarly, you can use the Notification API to receive near real-time notification about changes in data. For instance, when you want to know whenever a deal is created, subscribe for the create action on the Deals module using the Notification API. This helps you avoid making repeated Get Records API calls to check for new records.
Instead of polling for updates, utilize webhooks to receive near real-time notifications about changes in data. This reduces the need for frequent API calls to check for updates. Notification APIs allow you to get near real-time notifications on data in CRM, while the Bulk APIs support both polling and callback op.

5. Monitor and Analyze Usage

Track API Credit Usage

Regularly monitor your API credit consumption through the API dashboard. The Dashboard gives you a comprehensive view of your credits, the usage pattern, consumption by modules, functions, integration tasks, etc. Understanding these patterns can help identify areas where you can avoid spending credits and optimize further.

Set Alerts for High Usage

Zoho CRM alerts the super admin of the org via an email whenever the API usage reaches 80, 90, or 100% of the available credits. Configure alerts based on your critical threshold limits to avoid unexpected disruptions. Refer to this page to learn how you can customize these alerts.

6. Increase Credits Wisely

Estimate Requirement Accurately

If you find that your organization consistently exceeds its credit limits, consider increasing your API credits from the API dashboard conveniently. Be mindful about add-on credits based on usage data in the past. Zoho CRM uses the pay-as-you-go model for add-on credits, so you only pay for what you use.


We hope that these simple strategies will help you optimize your API calls in Zoho CRM, effectively manage your API credits, and reduce unnecessary costs while maintaining efficient operations.
Let us know your thoughts in the comment section. Write to us at support@zohocrm.com if you have any questions.
See you next week!
Cheers!

    Access your files securely from anywhere







                          Zoho Developer Community






                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts



                                                          • Sticky Posts

                                                          • Kaizen #197: Frequently Asked Questions on GraphQL APIs

                                                            🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                            Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

                                                            Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
                                                          • Kaizen #193: Creating different fields in Zoho CRM through API

                                                            🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Client Script | Update - Introducing Commands in Client Script!

                                                            Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands


                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources


                                                                                            Zoho Writer Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ





                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • One time sale item in billing automatically detects as service

                                                                                                            if i have some items which i don't want to add in my "item" list because its sold only for one time. but when i type item name in invoice, it (system) automatically takes it as a service and despite of HSN , it shows SAC code to be entered. if its selectable i.e. either item or service , it would be very helpful and a must have feature.
                                                                                                          • Project template after project creation

                                                                                                            How can I apply a project template AFTER the project has been created?
                                                                                                          • convert the project to templet

                                                                                                            i have some deployment ME product for different customer , i need to create a fixed template for use it rather then keeping creating this template every time
                                                                                                          • Seriously - Create multiple contacts for leads, (With Company as lead) Zoho CRM

                                                                                                            In Zoho CRM, considering a comapny as a lead, you need us to allow addition of more than one contact. Currently the Lead Section is missing "Add contact" feature which is available in "Accounts". When you know that a particular lead can have multiple
                                                                                                          • Related Module in Sharing Rules

                                                                                                            Zoho CRM team recently added the feature to filter records by Related Records It will be really beneficial if we can have this feature for Sharing Rules as well
                                                                                                          • Assignment Thresholds Resetting After Lead Conversion

                                                                                                            Hello everyone, We're facing an issue with Zoho CRM's lead assignment thresholds that makes them unsuitable for our workflow. I'm hoping to find a potential workaround or solution from the community. Here’s our current process: A new lead is created automatically
                                                                                                          • Zoho CRM Analytics - Allow To Reorder Dashboards

                                                                                                            I would like to suggest that you add the ability to reorder dashboards in the Analytics Module. I can see that this has been requested some time ago, the latest 9 years ago. I am not sure if this is a big or small endeavor, but such a small fix can go
                                                                                                          • Territory view for custom modules?

                                                                                                            I have recently activated territories however I can't seem to find how to use territories for custom modules? These modules have territories:  Contacts /  Accounts / Opportunities These modules don't have territories:   Buildings (custom module) and 
                                                                                                          • Zoho Books - How to Invoke a Custom Function in Schedulers

                                                                                                            We have multiple schedulers that send emails to customers in batches. Currently, we are maintaining the same code across several schedulers. Is it possible to use a custom function inside a scheduler script? If yes, how can we invoke the custom function
                                                                                                          • Approval Process Comments

                                                                                                            Is it possible to view the comments entered during the approval or rejection of a record in the approval process? If not, is there a way to require a field to be completed upon approval or rejection?
                                                                                                          • Login for test case

                                                                                                            Had a few questions regarding authentication test cases and couldn't find an answer in the the docs. 1. If an app like Zoho Creator requires authentication before providing access, do I need to create a login function and add it to each test case? 2.
                                                                                                          • Zoho / Outlook Calendar sync

                                                                                                            The current Marketplace -> Microsoft -> Meetings integration needs 2 changes. 1. The current language for the Two-Way sync option should be changed. It currently states, "Sync both your Zoho CRM Calendar and Office 365 Calendar meetings with each other."
                                                                                                          • Please make it easier to Pause syncing

                                                                                                            right now it takes 3 clicks to get there. sounds silly, but can you make it just 2 clicks to get it done instead? thats how dropbox does it, 2 clicks to pause instead of 3.
                                                                                                          • Customer members area

                                                                                                            Does FSM support a customer members area? If not what do you propose we use if we want the data used in FSM for customers to give them an area / login to see past orders, create new orders and general announcements.
                                                                                                          • Zoho Books-Accounting on the Go Series!

                                                                                                            Dear users, Continuing in the spirit of our 'Function Fridays' series, where we've been sharing custom function scripts to automate your back office operations, we're thrilled to introduce our latest initiative – the 'Zoho Books-Accounting on the Go Series'.
                                                                                                          • Desktop app doesn't support notecards created on Android

                                                                                                            Hi, Does anybody have same problem? Some of last notecards created on Android app (v. 6.6) doesn't show in desktop app (v. 3.5.5). I see these note cards but whith they appear with exclamation mark in yellow triangle (see screenshot) and when I try to
                                                                                                          • Notes created in mobile can no longer be accessed in desktop

                                                                                                            Working with a 2013 Mac running OS 10.14.6; Desktop Notebook version 4.5.3. Using Motorola Moto G Power 5G - 2024; Android app version 6.7 I have been using Notebook for some years. Starting several weeks ago, the notes newly created ion the phone can
                                                                                                          • Function #49: Manage varying installment payments using Zoho Books

                                                                                                            . Hello everyone, and welcome back to our series! Last week, we discussed automating the collection of fixed installment payments in Zoho Books. But what if your payment structure involves charging varying percentages of the invoice total as installments?
                                                                                                          • Zoho Writer - Option to Export as .zdoc format

                                                                                                            I've noticed that it's not possible to export a Zoho Writer Document in the .zdoc format. Isn't zdoc, Zoho Writer's own format? My use case is that I sometimes need to create quite complex documents with floating elements, which sometimes need to become
                                                                                                          • Is it possible for contacts to "Re-enter" a workflow in Zoho Campaign?

                                                                                                            We are currently working on a way to automatically add users to from one list to other lists based on specific criteria, but can't seem to find a native way of doing this so we are trying to use Workflows to do this. So, for example, if a user's status is set to "Active," then they should be added to the list "Active Users." If the same user's status is then set to "Paused," they should be added to the list "Paused Users" and removed from the list "Active Users." This works fine for the first go
                                                                                                          • Bulk upload images and specifications to products

                                                                                                            Hi, Many users have asked this over the years and I am also asking the same. Is there any way in which we can bulk upload product (variant) images and product specifications. The current way to upload/select image for every variant is too cumbersome.
                                                                                                          • Out of Office for Just One of My Alias Email

                                                                                                            Can I set up the Out of Office Reply for Just One of my Alias Email Addresses?
                                                                                                          • Can I map multiple Surveys into the CRM using the same fields?

                                                                                                            Hello, We are a healthcare practice that offers two distinct services (Nutrition and Primary Care). We use Zoho Survey for our lead generation form (Get Started Survey), which allows people to express interest in one of the two services and even allows
                                                                                                          • Dealing with API responses where integers have more than 16 digits

                                                                                                            Hi there How do I deal with an api response contaning an int or float with more than 16 digits (before any decimal places for a float). I constantly receive the response "Unable to cast the 'BigInteger' value into a 'BIGINT' value because the input is
                                                                                                          • Can't change form's original name in URL

                                                                                                            Hi all, I have been duplicating + editing forms for jobs regarding the same department to maintain formatting + styling. The issue I've not run into is because I've duplicated it from an existing form, the URL doesn't seem to want to update with the new
                                                                                                          • Need Inactive accounts to be visible in Reports in Zoho Books

                                                                                                            I N=need Inactive accounts to be visible in Reports in Zoho Books to do recons of the accounts but when i see the same they are not visible in the Accountant - Account Transactions report
                                                                                                          • unblock e-mail

                                                                                                            please unblock my e-mails info@meatnews.gr and myrtokaterini@meatnews.gr
                                                                                                          • Add Zoho Mail for users who do not need Zoho One

                                                                                                            We have licenses for ZOho One for teams that need to use the suite of products that Zoho One offers.  We have 8 more people who only need email access and we would like to add just a Zoho Mail.  They do not need the Zoho One license.  We are currently
                                                                                                          • ZML vs HTML Snippet - which is better?

                                                                                                            Are there certain use cases where one is better than the other?
                                                                                                          • Auto CheckOut Based On Shift.

                                                                                                            This Deluge script runs on a scheduled basis to automatically set the 'Actual_Check_Out' time for employees who haven't manually checked out. If the current time is past their scheduled 'Shift_End_Time', the script updates the check-out time to match
                                                                                                          • How to remove some users in zoho accounts

                                                                                                            How to remove some users in Zoho accounts.
                                                                                                          • Infinite loop of account verification

                                                                                                            Hi I can't do anything on my zoho account.  I always get this message Hi Sheriffo Ceesay As a security measure, you need to link your phone number with this account and verify it to proceed further. When ever I supply the details, it displays that the number is associated with another account. I don't have any other account on zoho so this is really annoying. 
                                                                                                          • Load PO_Date field (Purchase Order) with current date in Deluge

                                                                                                            Hi, I'm not a full time developer, just helping to customize our CRM, in the small company I work for. There must be something wrong with me, because I can't do something so simple as complete a field with the current date in a function using Deluge.
                                                                                                          • Zoho CRM in Microsoft Power Automate Custom Connector

                                                                                                            Hi everyone, I’m building a Power Automate flow that integrates Microsoft Bookings with Zoho CRM. The goal is to automatically create a meeting (event) in Zoho CRM whenever a new appointment is booked via Microsoft Bookings. To achieve this, I created
                                                                                                          • Spell check sucks

                                                                                                            Come on guys, it's 2024 and your spell check is completely retarded. You gotta fix it.
                                                                                                          • How to include total km for multiple trips in expense report.

                                                                                                            Whenever I create a mileage report it only shows the total dollar amount to be reimbursed. The mileage for each individual trip is included but I also need to see the total distance for all trips in a report? How do I do this?
                                                                                                          • Outgoing blocked: Unusual activity detected.

                                                                                                            I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
                                                                                                          • Zoho One Login Issue - Unable to receive OTP

                                                                                                            Hi Support Team, I am experiencing a unique login issue with Zoho One. I am attempting to log in from India using Zoho Login credentials provided by a USA-based client. Their Zoho account is hosted on a US data center. After entering the username and
                                                                                                          • Question Regarding Managing Sale Items in Zoho Books

                                                                                                            Good day, I was wondering about something. Right now, Zoho Books doesn’t seem to have a way to flag certain items as being on sale. For example, if I want a list of specific items to be on sale from October 1 to October 12, the user would have to export
                                                                                                          • In the Zoho Creator Customer Payment form i Have customer field on select of the field Data want to fetch from the invoice from based on the customer name In the Customer Payment form i Have subf

                                                                                                            In the Zoho Creator Customer Payment form i Have customer field on select of the field Data want to fetch from the invoice from based on the customer name In the Customer Payment form i Have subform update Invoice , there i have date field,Invoice number
                                                                                                          • Next Page