Advanced Search for WHOIS
Use this guide to help craft powerful, flexible WHOIS queries using logical expressions, text matching, wildcard values, and date filters.
This capability is available for all HYAS Insight packages as part of our Domain Registration API. There is no UI support for this capability at this time.

Query Structure Basics
Every advanced search query is an expression made of one or more field-specific conditions joined by logical operators like AND, OR, or NOT.
String Matching
Define the conditions for fields you wish to filter on by specifying the fields, values, and operators based upon the following lists.
Supported operators:
Operator | Description | Example Partial Expression |
|---|---|---|
| Exact match |
|
| Not equal |
|
Fields available:
domaindomain_createddomain_expiresdomain_updatedregistrarregistrant_addressregistrant_cityregistrant_countryregistrant_emailregistrant_nameregistrant_phonenameserver
Values:
Use specific values in single quotes to pull back results that include (or exclude) those values. Note that wildcard values are supported for domain and nameserver fields. See HYAS Insight search for additional information on using wildcards.
Tip: Values must be in single quotes ('example.com')
Tip: In order to provide you the most flexibility, there are no volume limits on the results returned for your query. This may result in no returned results due to timeout. Be judicious in defining your query by focusing your search criteria as tightly as possible.
Logical Operators
You can build complex queries using these logical keywords (case-insensitive):
Operator | Purpose | Example Partial Expression |
|---|---|---|
| Combine multiple filters |
|
| Match one of several filters |
|
| Exclude matches |
|
Parentheses () can group expressions for clarity and priority.
Date Comparisons
Used to search by WHOIS record timestamps.
Supported date operators:
Operator | Meaning | Example |
|---|---|---|
| On exact date |
|
| Not on this date |
|
| After this date |
|
| Before this date |
|
| On or after this date |
|
| On or before this date |
|
Accepted formats:
yyyy-MM-dd
yyyy-MM-ddTHH:mm:ss
yyyy-MM-ddTHH:mm:ssZ
yyyy-MM-ddTHH:mm:ss+HH:mm
yyyy-MM-ddTHH:mm:ss-HH:mm
Example Queries
Domains with specific string from specific registrar after 2024:
domain = '*arty.com' AND registrar = 'PDR Ltd.' AND domain_created >= '2024-01-01T00:00:00Z'
Domains ending in …bank.co NOT created by ProtonMail or Gmail users:
domain = '*bank.co' NOT (registrant_email = '*@proton.me' OR registrant_email = '*@gmail.com')
Domains with specific string and registrant organization which are recently expired:
domain = "*arty.com' AND registrant_organization = 'Example Corp' AND domain_expires < '2025-06-01T00:00:00Z'
Best Practices
Use quotes (
'...') for all string or date values.Combine multiple expressions with
AND,OR, andNOT.Use parentheses
()to group and prioritize logic.Match partial values using wildcards like
*example.com.