Kaizen #82 - Search Records API(V4)

Kaizen #82 - Search Records API(V4)

Hello everyone!
Welcome back to this week's Kaizen post!
Today, we will discuss Search API(in version 4), the various supported operators, and how you can use these operators to search for data in different fields of a module.

First off, let us discuss:

When you should use the Search API

You can also 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 text-based 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.

Search vs Query API

You should use the search records API when you want to perform a text-based search across the module, search for phone or emails fields exclusively, and when you do not know the record IDs.
You can also opt for this API when the maximum number of records you want to fetch per API call is less than 200.

Use the query API when you want to use advanced comparators to query for records from a custom view(without actually creating one), do a cross-module search(through lookup fields), or use aggregate functions.
Opt for this API when you want to fetch up to 2000 records in an API call.

Encoding

When there are parentheses or a comma in your search value, you must escape them and then encode the characters. For example, to search for Patricia(Boyle), you must escape the parentheses as Patricia\(Boyle\) followed by encoding the value as Patricia%5C%28Boyle%5C%28.
When there are special characters in the search value such as +, : etc, you must encode them. Example: Modified_Time%3Agreater_equal%3A2023-04-20T05%3A58%3A06%2B05%3A30 for
Modified_Time:greater_equal:2023-04-19T05:58:06+05:30

Request Details
Request URL: {{api-domain}}/crm/v4/{{module_api_name}}/search
Scope: ZohoCRM.modules.{module_name}.ALL/READ (and) ZohoSearch.securesearch.READ
Parameters specific to Search API: email, phone, word, criteria
Other parameters: fields, converted, approved, page, per_page

1. word

Use this parameter to do a global search of a word in all records and fields of the module.
Note that the search term must have at least three characters to perform a search.

Example
{{api-domain}}/crm/v4/Contacts/search?word=ABC&per_page=3&fields=Last_Name,Account_Name,Full_Name

The response contains the records that have "ABC" in any of their fields.

Response
{
    "data": [
        {
            "Full_Name": "test2k abc",
            "Last_Name": "abc",
            "Account_Name": null,
            "id": "3652397000011831001"
        },
        {
            "Full_Name": "Daly",
            "Last_Name": "Paul",
            "Account_Name": {
                "name": "ABC",
                "id": "3652397000007505116"
            },
            "id": "3652397000007505119"
        },
        {
            "Full_Name": "test2000",
            "Last_Name": "test2000",
            "Account_Name": {
                "name": "ABC",
                "id": "3652397000003098017"
            },
            "id": "3652397000009873004"
        }
    ],
    "info": {
        "call": false,
        "per_page": 3,
        "next_page_token": "74d1d2c0xxx5fe1b",
        "count": 3,
        "sort_by": "id",
        "page": 1,
        "previous_page_token": null,
        "page_token_expiry": "2023-04-22T16:48:05+05:30",
        "sort_order": "desc",
        "email": false,
        "more_records": true
    }
}

2. email

This parameter searches the email fields(including custom email fields) of the module and returns the matching records.
If you have special characters in the email ID, you must encode them to get the exact records.
If you do not encode, then the response will have all the records with the matching email ignoring the special character. 
For example, if the email ID is p+boyle@abc.com, and you do not encode, the response will contain email IDs such as p.boyle@abc.com, p.boylex@abc.com, p.daly@zylker.com etc. 

Example
{{api-domain}}/crm/v4/Contacts/search?email=p%2Bboyle%40abc.com&fields=Email,Last_Name

Response
{
    "data": [
        {
            "Email": "p+boyle@abc.com",
            "Last_Name": "abc",
            "id": "3652397000011831001"
        }
    ],
    "info": {
        "call": false,
        "per_page": 200,
        "next_page_token": null,
        "count": 1,
        "sort_by": "id",
        "page": 1,
        "previous_page_token": null,
        "page_token_expiry": null,
        "sort_order": "desc",
        "email": false,
        "more_records": false
    }
}

3. phone

This parameter searches the phone fields(including custom phone fields) of the module and returns the matching records.

Example
{{api-domain}}/crm/v4/Contacts/search?phone=%2B075-244562374&fields=Last_Name,Phone

Response
{
    "data": [
        {
            "Last_Name": "Smith",
            "Phone": "075-244562374",
            "id": "3652397000010134055"
        },
        {
            "Last_Name": "Gayle",
            "Phone": "+075-244562374",
            "id": "3652397000011831001"
        }
    ],
    "info": {
        "call": false,
        "per_page": 200,
        "next_page_token": null,
        "count": 2,
        "sort_by": "id",
        "page": 1,
        "previous_page_token": null,
        "page_token_expiry": null,
        "sort_order": "desc",
        "email": false,
        "more_records": false
    }
}

4. criteria

Use this parameter when you want to search for records based on a certain criteria. 
The format is (({api_name}:{operator}:{value})and/or({api_name}:{operator}:{value}))

The following table gives you the field types and the operators you can use in the "criteria" parameter.

Field Type
Operator
Date, DateTime
equals, not_equal, greater_equal, greater_than, less_equal, less_than, between, in
Integer, Currency, Decimal
equals, not_equal, greater_equal, greater_than, less_equal, less_than, between, in
Boolean
equals, not_equal
Lookup(user/owner)
equals, not_equal, in
Picklist, Autonumber
equals, not_equal, in
Text, Email, Phone, Website
equals, not_equal, starts_with, in


Let us discuss each of these field types with examples.

4.1 Date in criteria

Supported operators: equals, not_equal, greater_equal, greater_than, less_equal, less_than, between, in

{{api-domain}}/crm/v4/Deals/search?criteria=(Closing_Date:between:2022-12-10,2022-12-21)&fields=Last_Name,Amount,Closing_Date

4.2 DateTime in criteria(search value encoded)

Supported operators: equals, not_equal, greater_equal, greater_than, less_equal, less_than, between, in
Here, the value in the Modified_Time field is Modified_Time:greater_equal:2023-04-19T05:58:06+05:30 and contains the special characters :, +, -. So, you must escape these characters and then encode them. 
The encoded value is Modified_Time%3Agreater_equal%3A2023-04-19T05%3A58%3A06%2B05%3A30

{{api-domain}}/crm/v4/Deals/search?criteria=Modified_Time%3Agreater_equal%3A2023-04-19T05%3A58%3A06%2B05%3A30&fields=Last_Name,Amount,Closing_Date

4.3 Currency and Decimal in criteria

Supported operators: equals, not_equal, greater_equal, greater_than, less_equal, less_than, between, in

{{api-domain}}/crm/v4/Deals/search?criteria=((Probability:between:70,90) AND (Amount:less_equal:75000))&fields=Amount,Probability

4.4 Boolean in criteria

Supported operators: equals, not_equal

{{api-domain}}/crm/v4/Leads/search?criteria=(Email_Opt_Out:equals:true)&fields=Last_Name,Company&per_page=2

4.5 Lookup in criteria

Supported operators: equals, not_equal, in
Here, Account_Name is the lookup field in the Contacts module and points to the Accounts module.

{{api-domain}}/crm/v4/Contacts/search?criteria=(Account_Name:in:Zylker,ABC)&fields=Last_Name,Company,Account_Name&per_page=5

4.6 Picklist in criteria

Supported operators: equals, not_equal, in
Here, Languages_Known is a custom picklist field in the Contacts module. This request fetches all the records that contain "English" or "French" or both in the Languages_Known picklist.

{{api-domain}}/crm/v4/Contacts/search?criteria=(Languages_Known:in:English,French)&fields=Last_Name,Company,Languages_Known&per_page=5

 4.7 User/Owner Lookup in criteria

Supported operators: equals, not_equal, in
To search based on Owner fields, you must use the ID of the users as the search value.

{{api-domain}}/crm/v4/Contacts/search?criteria=(Owner:in:3652397000000186017,3652397000000281001)&fields=Last_Name,Company,Owner&per_page=5

4.8 Text in criteria

Supported operators: equals, not_equal, starts_with, in

{{api-domain}}/crm/v4/Contacts/search?criteria=(Department:starts_with:s)&fields=Last_Name,Department

4.9 Email in criteria

Supported operators: equals, not_equal, starts_with, in

{{api-domain}}/crm/v4/Contacts/search?criteria=(Email%3Aequals%3Ap%2Bboyle%40abc.com)&fields=Last_Name,Email

Here, the email "p+boyle@abc.com" has a special character(+) and so, must be encoded to get the right response.

4.10 Phone in criteria

Supported operators: equals, not_equal, starts_with, in

{{api-domain}}/crm/v4/Contacts/search?criteria=(Phone%3Ain%3A%2B075-1111111%2C888-555-2145)&fields=Last_Name,Phone

Here, the phone numbers +075-1111111 and 888-555-2145 are the search values for the Phone field. As they both contain special characters, we have encoded them. 

4.11 Website in criteria

Supported operators: equals, not_equal, starts_with, in

{{api-domain}}/crm/v4/Leads/search?criteria=(Website:starts_with:https)&fields=Last_Name,Website

Note

  • You can search for a maximum of 10 criteria (with same or different columns) with equals and starts_with conditions.
  • When you use "equals" for multiple conditions, and if one of your conditions is (Company:equals:ABC), the response will contain records with ABC as well as ABC Inc in their Company fields.
  • When you use "equals" with a single condition and search for a field, like (Campaign_Name:equals:CRM), the response will contain only those records whose Campaign_Name is "CRM" and not records with "Best CRM" or "Latest CRM" in their Campaign_Name fields.
  • The phone, word, and email parameters search for all fields whose datatype is phone, text, and email, respectively. But, when you use them in the criteria parameter, the search is restricted only to that particular field as you give the field's API name.

We hope you found this post useful. We will see you next week with another interesting post.
Let us know your questions and feedback in the comment section, or write to us at support@zohocrm.com.


Cheers!

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              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 #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.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • 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


                                                              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

                                                                                                                • How can we clear a signature field with deluge?

                                                                                                                  I would like to clear a signature field in the Edit -> On Load. I have tried input.signature = ""; input.signature = null; clear input.signature; None of the above is working. is there any other way I am missing?
                                                                                                                • Online PDF Editor

                                                                                                                  Hello Team, There is a small glitch i found when i was using your online software called "PDF Editor", There is a menu bar on right side comes when we click on 3 dots for any pdf, but that entire menu has no options to choose, that is totally blank, please
                                                                                                                • How do I disconnect my Salesforce integration?

                                                                                                                  I need to integrate a different Salesforce sandbox with my Zoho form.
                                                                                                                • Zoho Recruit - Email Relay

                                                                                                                  Good day, Has anyone succeeded in setting up an email relay for Office 365? If I add the details from https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-8361e398-8af4-4e97-b147-6c6c4ac95353, I get the connection error. Regards, Eka
                                                                                                                • Zoho Recruit -> Exchange Online Relay

                                                                                                                  HI! I have tried to connect Recruit to our MS 365 Exchange Online without any luck. I use this guide https://help.zoho.com/portal/en/kb/recruit/outreach/email-relay/articles/email-relay-zoho-recruit#Configuring_Email_Relay_Settings Do anyone have the
                                                                                                                • Error AS101 when adding new email alias

                                                                                                                  Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
                                                                                                                • an issue in Zoho CRM where the workflow rule is not triggering

                                                                                                                  H I’m currently facing an issue in Zoho CRM where the workflow rule is not triggering when a new lead is created through a webform. I’ve double-checked the criteria and field updates, everything seems fine but it still doesn’t fire. Has anyone faced this
                                                                                                                • 401 Unauthenticated Error – Zoho CRM to Google Sheets Integration

                                                                                                                  Hi I'm building an Automation Function in Zoho CRM using Deluge that appends contact data from Zoho CRM into a Google Sheet whenever a new contact is created. WHAT I'VE DONE: I created a connection in Zoho CRM (Developer Hub → Connections) with the following
                                                                                                                • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

                                                                                                                  Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
                                                                                                                • Income not showing in direct bank feed

                                                                                                                  Hi, I am trying to enter income without knowing or mentioning customer, as i am told, my client wants single or cash basis accounting but i seriously struggling......................
                                                                                                                • I am not able to check in and checkout in zoho people even location access allowed

                                                                                                                  This issue i am facing in mackbook air m1, I allowed location in chrome browser and i also tried in safari but getting similar issue. Please have a look ASAP.
                                                                                                                • Preview future shift rotation in Shift Schedule

                                                                                                                  Hi, What if, instead of the current behavior, the Shift Rotation feature in Zoho People allowed users to preview future shift schedules before the scheduler execution? Currently, when a shift rotation is configured (for example, monthly rotation), the
                                                                                                                • What do you get in Zoho ONE Free Trial?

                                                                                                                  Zoho One is a collection of applications that work together to run a company's entire operations in the cloud. It includes more than 40 online applications and an equivalent number of mobile apps, all of which can be accessed with a single sign-on and
                                                                                                                • Automatically Update Ticket Status in Zoho Desk Based on Actions in Zoho Projects

                                                                                                                  Hi Zoho Desk Team, Hope you’re doing well. We’re using the Zoho Desk–Zoho Projects integration to manage tasks related to customer tickets, and it works well for linking and tracking progress. However, there are a few important automation capabilities
                                                                                                                • Sign Out

                                                                                                                  Hello, I have a doubt with Permalink. I have a view created with critera to show only the records belonging to the user who has sign in. The problem is that the different users use the same computer and some times the user login keep signed, and when I send the permalink (by email) of the view, the users enter with other login signed. Moreover the permalink view doesn�t allow to do a log out. May I add something in the permalink to request always sign in? Sorry for my English. Many thanks! Regards
                                                                                                                • Announcing new features in Trident for Windows (v.1.39.4.0)

                                                                                                                  Hello Community! Trident for Windows just received a major update, with a range of capabilities that focuses on strengthening communication and simplifying workflows. Let’s dive into what’s new! Upload email attachments to WorkDrive. Until now, you could
                                                                                                                • Introducing Automatic Field Addition (Text Tags) in Zoho Sign

                                                                                                                  Hello, Today we are excited to announce the general availability of automatic field addition (text tags) feature in Zoho Sign. Now, you can now add text tags in the content of your documents and Zoho Sign will automatically add the corresponding fields when they are uploaded for the signing process. For example: when you add text tags to your sales orders, new employee contracts, and NDAs, Zoho Sign will add the corresponding fields when these documents are uploaded for the signing process. If you
                                                                                                                • Introducing Built-in Telephony in Zoho Recruit

                                                                                                                  We’re excited to introduce Built-in Telephony in Zoho Recruit, designed to make recruiter–candidate communication faster, simpler, and fully traceable. These capabilities help you reduce app switching, handle inbound calls efficiently, and keep every
                                                                                                                • Do not use isnull()

                                                                                                                  Does not always return booleans. Can also return null. Never use this function. Just use var==null instead.
                                                                                                                • Write-Off multiple invoices and tax calculation

                                                                                                                  Good evening, I have many invoices which are long overdue and I do not expect them to be paid. I believe I should write them off. I did some tests and I have some questions:  - I cannot find a way to write off several invoices together. How can I do that,
                                                                                                                • Splitting Transactions in Zoho Books

                                                                                                                  I have read in past forum posts that the ability to split bank transactions would likely be implemented - it's definitely a typical accounting program feature.  I'm new to Zoho and thought I'd found nirvana until I realized this feature doesn't seem to
                                                                                                                • Statement Aging On Cutomer Statement

                                                                                                                  Hello, Is it possible to put aging on customer statements? Current 1-30days 31-60days 61-90days 91-120days Over 120 days. See attached image from another accounting package. Many customers pay off a statement and clear older invoices.
                                                                                                                • Unveiling the next iteration of Ask Zia in Zoho CRM: An all-new chat interface, conversation history, actions, and much more

                                                                                                                  Your CRM assistant just leveled up. Zoho CRM's Ask Zia functionality now offers a more conversational and context-aware experience to help you not just understand your data, but act on it—all from one chat window. With its redesigned interface and expanded
                                                                                                                • Response rate and time on social media

                                                                                                                  Hello, I just want to know if it's possible to manage the response rate and response time from my social media on zoho social ? I don't see any statistical reports on the online scoreboard ? Thank you in advance for your response and sorry if the question has already been posted
                                                                                                                • Whatsapp BOT with CRM

                                                                                                                  Hello, how do you use Whatsapp integrations in zoho CRM?
                                                                                                                • Ability to translate Zoho CRM Kiosks

                                                                                                                  Hi team, Is support for translating kiosk text and screen names in the Zoho CRM translation tool planned on the roadmap? Thanks,
                                                                                                                • Whatsapp Limitation Questions

                                                                                                                  Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
                                                                                                                • Editing the list of Categories in the Categorize Manually section of Banking in Zoho Books

                                                                                                                  Hi, I need to create two new Categories called Withdrawals and Deposits to categorize payments in a bank account. How do I edit the Categories list?
                                                                                                                • [Free Webinar] Intelligent document processing with Zoho RPA

                                                                                                                  Hello everyone! Greetings from the Zoho RPA team! We're excited to invite you to our upcoming webinar on intelligent document processing with Zoho RPA, where we'll introduce powerful new capabilities designed to make your automation journey smarter, faster,
                                                                                                                • Zoho People > Performance Management > Appraisal cycle

                                                                                                                  Hello All I am using this 2 users to test out how it work on Performance Management User 1 - Reportee User 2 - Reporting Manager : Li Ting Haley User 1 : Self Appraisal Error How do i fix this error?
                                                                                                                • Send emails directly via Cases module

                                                                                                                  Greetings all, The ability to send emails from the Cases module, which users have been eagerly anticipating, is now available, just like in the other modules. In Zoho CRM, Cases is a module specifically designed for managing support tickets. If your organization
                                                                                                                • Webinar Alert: Supercharge landing pages with data insights | Zoho LandingPage

                                                                                                                  Every visitor to your landing page leaves behind valuable data, but are you leveraging it to improve conversions? Join our expert-led Landing Page Analytics webinar to learn how to track, analyze, and optimize landing page performance with Zoho LandingPage’s
                                                                                                                • Bulk Deletion of Zoho Projects Using Node.js and Zoho Projects API

                                                                                                                  Zoho Projects currently does not provide a built-in option to delete multiple projects in bulk from the UI. When working with testing environments or large numbers of temporary projects, deleting them one by one becomes time-consuming. To address this,
                                                                                                                • Show unsubscribed contacts ?

                                                                                                                  Hello, I would like to display the unsubscribed contacts. Unfortunately, I do not have this subscription type as described in the documentation (https://help.zoho.com/portal/en/kb/marketing-automation-2-0/user-guide/contacts/contact-management/articles/subscription-type-24-1-2024#Subscription_Type_field.)
                                                                                                                • Track Marketing Automation Campaigns in Zoho CRM

                                                                                                                  Hello, I've been searching but haven't found the exact answer to this question. I am looking to track Marketing Automation email campaigns and activities inside of Zoho CRM. Use Case: Action: Prospect Submits A Lead Form Outcomes: Prospect created in
                                                                                                                • Validation rule for Date field

                                                                                                                  The condition settings for a Date field are are absolutlly usless. Conditions can only be set for a specific date, which is logically ineffective in most cases. When setting a condition for a Date field, users usually need to compare the value relative
                                                                                                                • Easily map shift data fields during user imports

                                                                                                                  Greetings all, You can now include all your shift-related data for your users without any hassle during user imports. With this enhancement, the Map Import Fields to Zoho CRM option includes all shift-related fields: Current Shift, Next Shift, and Shift
                                                                                                                • Unable to send

                                                                                                                  Hello, I am unble to send any single email during the whole time due to the Zoho IP 136.143.188.16 being bloked by SpamCop.net Please help can somebody help me?
                                                                                                                • How do you arrange order in which the speakers are listed in a session once they have been selected?

                                                                                                                  Probably another simple thing I've missed but I can't find how to arrange the order in which the speakers are listed in a session once they have been selected. We usually want the speakers listed alphabetically by last name, but sometimes not. Once the
                                                                                                                • Product Updates in Zoho Workplace applications | February 2026

                                                                                                                  Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of February. Zoho Mail Organize Personal Notes with Collections You can now create collections under My Personal
                                                                                                                • Next Page