Kaizen #60 - Get Records, Search Records, Query and Bulk Read APIs

Kaizen #60 - Get Records, Search Records, Query and Bulk Read APIs

Hi everyone.. Welcome back!

In this post, we will discuss when to use Get Records, Search Records, Query, and Bulk Read APIs to fetch records. Please note that the information in the article holds true for version 3 of Zoho CRM APIs.

Get Records API

The GET Records API allows you to fetch all the records from a module in your CRM account. 

When should you use GET Records API?

       Use this API to fetch a specific set of records whose IDs you already know, or to fetch all the records from a module without any filters, or using the pre-defined filters.
      For instance, when you want to render a mobile/web UI to show the list of records in a module or a specific custom view, you can make use of Get Records API.

Pagination

  • You can retrieve up to 200 records using this API in a single call.
  • To fetch more than 200 records, you must use pagination and make further API requests with the page parameter.
  • For more than 2000 and up to a maximum of 100,000 records, use the page_token parameter in the request. The value for this parameter is available from the key "next_page_token" in the response of the first Get Records call. 
  • You cannot use the page_token parameter with the page parameter.

Points to remember

  • You should specify the field API names to fetch the records.
  • You can fetch up to 50 fields using this API.
  • You can sort the records by id, Created_Time and Modified_Time fields.
  • Each Get Records API call consumes one API credit.

Examples

1. To fetch the records from 1801-2000 in the Leads module with the Last_Name and Email fields

The info JSON object in the response contains the next_page_token to retrieve the next set of records. 

2. To fetch after 2000 records
 [GET] "https://www.zohoapis.com/crm/v3/Leads&fields=Last_Name,Email&per_page=200 
&page_token="db8d4276axxxxxxx713748a4e""

Search Records API

Search Records API lets you search for records in a module based on a criteria that you define. You can search for records with a specific word in the text fields, or by email or phone fields across the specified module. You can also search for a variety of other fields like currency, Date, DateTime, picklists etc.

When should you use Search Records API?

      Use this API when you want to search for a specific text, phone or email in the records of a module, or when you want to do a module-level word search. Search API is the go-to API  when you know the details like email, phone or a specific text, but not the individual IDs of the records.
      For example, when you want to render a search box in your web/mobile UI, and do a module-level search for the word, use Search Records API. 

Pagination

  • You can search for up to 200 records in one API request.
  • To fetch more than 200 and up to 2000 records, use the page parameter.

Points to remember

  • Your search criteria can have  equalsstarts_withinequalsnot_equalgreater_equalgreater_thanless_equalless_thanstarts_with, or between conditions.
  • There will be a delay in accessing recently inserted or updated records using this API due to data indexing.
  • Due to the indexing delay, it is advised not to use Search API to check for record duplication while creating a new record. 
  • Each Search Records API call consumes one API credit

Examples

1. To search for all the Leads with the word Zoho in the record

2. To fetch records from the Leads module whose Last_Name is 'Thomas' and First_Name starts with 'M'

Query API

Query API lets you query for records based on queries using the CRM Object Query Language(COQL). COQL is based on the SQL query syntax, and supports the SELECT query to fetch records. Using this API, you can query for data across different modules that are linked using lookup fields.  This API allows you to search for a variety of fields like picklist, Date, DateTime, Lookup, Number, Currency, Boolean, or string fields, and sort the records on the basis of any field.

When should you use Query API?

      To query for a module's data and its lookup related data using various comparators, or when you want to query for records that fall into a custom view without actually creating one.
      For instance, when you want to filter all the products in a specific price range, with 4 stars and up rating, use Query API.
      You can also use Query API to query for records from cross module (linked via lookup field). Eg: Filtering deals based on the account's location and industry type. In this example, Deals is the primary module linked with Accounts module via the lookup field 'Accounts_Name'.

Pagination

  • You can retrieve 200 records in one API call using this API.
  • To fetch more than 200 records and upto 10000 records, use the OFFSET clause. 

Points to remember

  • You can use DB comparators such as =, >, <, >=, <=, is null, is not null, between, in, not in, like, and not like in your search query.
  • You can fetch a maximum of 10000 records using this API.
  • You can use Query API to check for record duplication while creating a new record in your web/mobile UI apps.
  • Each Query API call consumes one API credit.

Examples

1. Cross Module Filtering : To filter deals based on its corresponding account's location and industry type.

"select_query": "select Deal_Name, Stage, Probability, Type, Account_Name from Deals where ((Account_Name.Location = 'Texas') AND (Account_Name.Industry = 'Military'))"

2. Consider the following custom view.

You can fetch the records in the custom view using the following SELECT query, without actually creating the custom view.
 { "select_query": "select Last_Name, Owner.last_name from Leads where ((Industry  = 'ERP') and (Owner = '4876876000000327001')) OR (Rating =    'Acquired')" }

For more examples, refer to our Get Records through COQL page
TIP : If you want to fetch all the records in a module using COQL Query API, you can still use the COQL query to do it. For example, the below example will fetch all the records in the Leads module.
   {  "select_query": "select Last_Name, Owner.last_name from Leads where ((Industry  = 'ERP') OR (Industry  != 'ERP'))"}

Bulk Read API

Bulk Read API lets you export data in bulk from a module. Using this API, you can export records based on a query, or export all the records in a module with or without filters. The main advantage of Bulk read API is in the huge number of records it can retrieve in one API call. While you can fetch 200 records per API call for GET Records API, Search Records API and Query API, you can export 200,000 records per API call using the Bulk read API. 

When should you use Bulk read API?

When you want to schedule a job to export huge volume of CRM data.
For instance, when you want to export the list of all the records from a  Zoho CRM  module to sync with your local ERP system's data store, use Bulk read API. 

Points to remember

  • Bulk read is an asynchronous API.
  • The result of the bulk read job will be available as a downloadable CSV/ICS file.
  • Each Bulk read API call consumes 50 API credits.
  • To export more than 200,000 records, use the page key in the request body. Setting page to '2' exports data starting from 200,001.

Sample Scenario

Let us now consider the case where you want to fetch (a)2000, (b)5000, (c)10000 and (d)15000 records from a module, and see which API is best-suited for each case.

 Number of records
 Get Records API
Search Records API
Query API
Bulk read API
2000
  • 10 API calls
  • 10 API credits
  • Use pagination
  • 10 API calls
  • 10 API credits
  • Use pagination
  • 10 API calls
  • 10 API credits
  • Use OFFSET
  • 1 API call
  • 50 API credits
5000
  • 25 API calls
  • 25 API credits
  • use pagination (up to 2000 records) & page_token (after 2000 records)

Not possible to fetch more than 2000 records
  • 25 API calls
  • 25 API credits
  • Use OFFSET 
  • 1 API call
  • 50 API credits
10000
  • 50 API calls
  • 50 API credits
  • use pagination (up to 2000 records) & page_token (after 2000 records)

Not possible to fetch more than 2000 records
  • 50 API calls
  • 50 API credits
  • Use OFFSET
  • 1 API call
  • 50 API credits

15000
  • 75 API calls
  • 75 API credits
  • use pagination (up to 2000 records) & page_token (after 2000 records)

Not possible to fetch more than 2000 records

Not possible to fetch more than 10000 records
  • 1 API call
  • 50 API credits

To sum up, for up to 2000 records, the Get Records API, Search Records API, and Query API all use the same API credits. However, Query API has the edge over the other two because it provides you with greater flexibility to tweak your criteria, thanks to all the comparators and logical operations it supports.  If you intend to fetch 10,000 or more records asynchronously, the Bulk Read API is preferable in terms of API credits consumed. For synchronously fetching more than 10,000 records, use the Get Records API.


Feature
Get Records API
Search Records API
Query API
Bulk Read API
Maximum number of records per API call
 200
 200
 200
 200,000
 For Events - 20,000
Maximum number of records that can be fetched
 100,000
 2000
 10,000
 100,000,000
Indexing Delay
 No 
 Yes
 No 
 NA
Pagination
Use page parameter to retrieve more than 200 records and page_token parameter for more than 200 recordsUse page parameter to retrieve up to 2000 recordsUse LIMIT and OFFSET to navigate and retrieve a maximum of up to 10,000 recordsUse page key in the request body to fetch more than 200,000 records. Maximum possible value for page is 500
Sorting supportLimited (id, Created_Time and Modified_Time fields )
 No
 Yes
 No
Credits per API call
 1
 3 - with CVID parameter
 1
 1
 50

We hope you found this post useful. Let us know your thoughts in the comment section or reach out to us at support@zohocrm.com

Thank You!




    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 #217 - Actions APIs : Tasks

                                                            Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                          • Kaizen #216 - Actions APIs : Email Notifications

                                                            Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
                                                          • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                            Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
                                                          • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                            Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
                                                          • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

                                                            Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the


                                                          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

                                                                                            Get Started. Write Away!

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

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方







                                                                                                            • Recent Topics

                                                                                                            • Text/SMS With Zoho Desk

                                                                                                              Hi Guys- Considering using SMS to get faster responses from customers that we are helping.  Have a bunch of questions; 1) Which provider is better ClickaTell or Screen Magic.  Screen Magic seems easier to setup, but appears to be 2x as expensive for United States.  I cannot find the sender id for Clickatell to even complete the configuration. 2) Can customer's reply to text messages?  If so are responses linked back to the zoho ticket?  If not, how are you handling this, a simple "DO NOT REPLY" as
                                                                                                            • Agent password reset

                                                                                                              Hi Zoho support, I would like to ask if there is a way the admin can reset a password of an agent? Regards
                                                                                                            • Can receive but not send messages in Zoho Mail

                                                                                                              Hello! I was able to configure my email client successfully in that I can receive messages just fine. However, when I send messages out, they seem to go out fine (I don't receive any errors or anything), but the recipient does NOT receive those messages.
                                                                                                            • Mail is sent twice!

                                                                                                              Been using Zoho for a while now. Installed Zoho for someone else and some weird things are happening. Mails are being sent twice. He is using Thunderbird as an email client. I already read about email being duplicated in the sent folder. But in my case
                                                                                                            • Can't login IMAP suddenly

                                                                                                              Since this evening I'm getting the error: You are yet to enable IMAP for your account. Please contact your administrator... IMAP always been enabled in my account and was workign fine for the past 7 years. Already tried turning IMAP off and on again.
                                                                                                            • Sending of username did not succeed: Mail server pop.zoho.com responded: User already specified

                                                                                                              I am having issues receiving emails from Zoho in Thunderbird. I am getting the above error. The first error tells me Authentication failed, and prompts me to enter in my password. Then I get the above error. I can receive emails when I log in online to
                                                                                                            • Bug tracking

                                                                                                              Hi, does anyone know how to track errors during picking or packing? This way I can keep track and see how to improve and prevent errors in this area.
                                                                                                            • Exact match in name when searching workdrive

                                                                                                              Hello, I am wondering how to search workdrive files/folders with an exact match in the name. For example, when I search across folder with the url param search[name]=someName, I get multiple results such as "someName", "someNameAndMore", or "someName
                                                                                                            • Flow - Fetch info from drop down in another module

                                                                                                              I am running into a road block which I thought would be a simple task. My goal - The account is assigned to a "route" which can be selected from a drop down menu and adds a tag to the account accordingly (easy enough). Now when I create a task for this
                                                                                                            • Migration of corporate mail environment from Yandex 360 to Zoho mail

                                                                                                              I have to migrate a corporate mail environment with an existing domain from Yandex 360 to Zoho mail. It is vital to migrate all users with all the data. I have read the article on this topic using MacMister Email Backup Software just now and have some
                                                                                                            • I'm unable to send mail pthrough Zoho SMTP programmatically

                                                                                                              This has been working for years, but today it's been offline all day long. I see nothing anywhere on your site about this. I'm not the only one experiencing this. Downdetector has a spike of reports today
                                                                                                            • Can no longer send email via Django site

                                                                                                              This was working fine as of 11/7/25. Now I am unable to send user verification emails from a Django site on a AWS lightsail sever. When a user attempts to register the following error occurs. I have also attempted to send a test email via the shell and
                                                                                                            • unable to send email but able to receive email

                                                                                                              my email address is info@securityforceservices.ca
                                                                                                            • Custom Field for Subscription

                                                                                                              Hi, I can't find a way to add a custom field (to contain a license key generated from our software) against a subscription? Is the only place to add this information in the Invoice module (as custom field for invoice)? When a customer views his subscription via the customer portal, there appears no way to display a license key for them? The invoice is not the natural place to store a license key for a particular subscription, so where else can this be stored and displayed?
                                                                                                            • Login to server failing

                                                                                                              When trying to retrieve my mail, I am getting this error message -- Login to server pop.zoho.com with username (my email address) failed. It gives me the option to retry, enter password, or cancel. Then I get this message -- Sending of username did not
                                                                                                            • Configuration failed: 200 response not received for POST request.

                                                                                                              Hello, I am trying to set up a webhook to connect with an Salesforce but I receive the following error from Zoho: Configuration failed: 200 response not received for POST request I have tried testing it on webhook.site as well and receive the same error
                                                                                                            • Zoho Migration Assistant not working

                                                                                                              Hello, I am trying to use you Migration assistant to migrate emails from Rediff to Zoho. I am stuck in the first step. After downloading the migration tool, I copied the link to verify user credentials, however, after pasting the link in the browser,
                                                                                                            • Paid Support Plans with Automated Billing

                                                                                                              We (like many others, I'm sure) are designing or have paid support plans. Our design involves a given number of support hours in each plan. Here are my questions: 1) Are there any plans to add time-based plans in the Zoho Desk Support Plans feature? The
                                                                                                            • Scheduled Reports - Do not send empty report

                                                                                                              Hello, We are intensively using reports in the CRM, especially for sales managers.  When data is empty, they still receive an email. Can you add an option to avoid sending the report when data is empty?
                                                                                                            • Contacts Missing — PeopleSync/Zoho Mail

                                                                                                              English: In our company we use ManageEngine Mobile Device Manager (MDM), Free edition, to manage corporate mobile devices. Our usage policy does not allow personal Google accounts on these devices; therefore, Google account sync is blocked through MDM.
                                                                                                            • Best way to integrate Zoho with mobile app for managing customer requests with real-time notifications?

                                                                                                              Hello, I'm building a solution for a travel company where customers submit requests through a website, and the sales team manages these requests through a mobile app. The Requirement: Customers fill a form on the website (name, email, number of children,
                                                                                                            • Kaizen #57 - Mass Update API in Zoho CRM

                                                                                                              Hello everyone! Welcome back to yet another post in the Kaizen series. This week, we will discuss the Mass Update API in Zoho CRM. In this post, we will cover the following: 1. Introduction 2. Mass Update Records API  3. Schedule Update and Get Status
                                                                                                            • Getting Attachments in Zoho Desk via API

                                                                                                              Is there a way to get attachments into Zoho Desk via an API?      We have a process by which a zoho survey gets sent to the user as a link in a notification.    The survey has several upload fields where they can upload pdf documents.    I've created
                                                                                                            • Multiple currencies - doesn’t seem to work for site visitors / customers

                                                                                                              I am trying to understand how the multiple currency feature works from the perspective of the website visitor who is shopping on my Zoho Commerce site. My site’s base currency is US Dollars (USD) but my store is for customers in Costa Rica and I would
                                                                                                            • Pincode based Product Restriction

                                                                                                              we have different types of products. 1) Very bulky items like plywood. 2) Too delicate items like glass These type of products we want to sell to local customers. Other products we want to supply all over India. There should be an option to restrict products
                                                                                                            • Can multiple agents be assigned to one ticket on purpose?

                                                                                                              Is it possible to assign one ticket to two or more agents at a time? I would like the option to have multiple people working on one ticket so that the same ticket is viewable for those agents on their list of pending tickets. Is something like this currently
                                                                                                            • Related Lists filter

                                                                                                              I have Contacts showing in our Accounts module. I customized the Contacts module with an Employment Status field, with the following picklist options: "Primary Contact", "Secondary Contact", "Active Staff(not a main contact)", and "No longer employed".
                                                                                                            • Standalone custom function not generating logs

                                                                                                              Why dont't standalone custom functions generate logs when the're called from another function? I have some functions (workflow, buttons and blueprint) that have common parts, so I put that part in a standalone function which is called from the others.
                                                                                                            • Automated log-out/session end

                                                                                                              I'm concerned about security of our data. Is it possible to set an automatic time-out for user sessions on Zoho CRM, after a certain period of inactivity or when the session reaches a certain duration (12 hours perhaps)? 
                                                                                                            • Add "Reset MFA" Option for Zoho Creator Client Portal Users

                                                                                                              Hello Zoho Creator Team, We hope you are doing well. We would like to request an important enhancement related to Multi-Factor Authentication (MFA) for client portal users in Zoho Creator. Currently, Creator allows us to enforce MFA for portal users,
                                                                                                            • Support Bots and Automations in External Channels

                                                                                                              Hello Zoho Cliq Team, How are you? We actively use Zoho Cliq for collaboration, including with our external developers. For this purpose, external channels are a key tool since they work seamlessly within the same interface as all of our other channels
                                                                                                            • Urgent Security Feature Request – Add MFA to Zoho Projects Client Portal Hello Zoho Projects Team,

                                                                                                              Hello Zoho Projects Team, We hope you are doing well. We would like to submit an urgent security enhancement request regarding the Zoho Projects Client Portal. At this time, as far as we are aware, there is no Multi-Factor Authentication (MFA) available
                                                                                                            • Creator HTML page refresh

                                                                                                              Hi, I have added around 5 different html snippets in single creator page. I understand, I can refresh the entire page from page script using Navigational URLs https://help.zoho.com/portal/en/kb/creator/developer-guide/others/url-patterns/articles/navigational-urls
                                                                                                            • Zoho Desk - Custom Module Related List Columns on Tickets

                                                                                                              I have a custom module in Zoho Desk called Asana Tasks, each task has a lookup to a Ticket. On the Ticket I want to see the columns of the Asana Tasks in the related list . Is there a way to do this? Right now it just has the name of the record and I
                                                                                                            • Google Analytics import data inaccurate (as of October 11, 2025)

                                                                                                              We have Zoho Analytics connected to GA4 to import daily event data. This has been running without issue for a couple of years. However, a month ago we started noticing discrepancies. All data until October 10 lines up perfectly - October 11 onward is
                                                                                                            • What is your opinion of the new UI?

                                                                                                              Hi Everyone, I would like to see what everyone thinks of the new Zoho One Dashboard. I don't get it, but perhaps I'm missing something. What are your thoughts?
                                                                                                            • Zoho mail to Teaminbox

                                                                                                              Hello, We're searching for new mail program. Now I'm testing a bit with zoho mail and team inbox. My findings in the research: Pop mail throught zoho mail is almost instant. Any pop or imap via external provider takes a couple minutes to 15 minutes before
                                                                                                            • What are the OAuth scopes needed to access the Zoho MCP server?

                                                                                                              I think I'm authenticating with the MCP server endpoint successfully using a bearer token but I can't successfully initialize an MCP session. I'm using the official MCP Python sdk (https://github.com/modelcontextprotocol/python-sdk). I get as far as here
                                                                                                            • Account blocked for IMAP use

                                                                                                              Hello, My email client (Evolution) can't sync mail anymore. It gives the error: "Your account is temporarily blocked for IMAP use. This may happen if you exceed the maximum number of simultaneous IMAP connections allowed. Kindly try again after some time."
                                                                                                            • Is SMTP included in the free plan?

                                                                                                              My client has a Zoho Mail Free 14 day trial that ends tomorrow. She has set up a domain email address with SMTP on a third party app and is wondering if it will continue working once her plan downgrades to the free forever plan. Thanks
                                                                                                            • Next Page