Wildcard Search in HubSpot: Finding Partial Matches
If you have ever tried to search for partial text inside a HubSpot property -- say, every company domain that contains "consulting" or every phone number starting with a specific area code -- you have probably discovered that HubSpot's native search tools are not designed for that kind of query. The global search bar looks for record names and indexed fields. Filters let you check if a property "contains" a word, but only for certain property types, and they do not support pattern matching, wildcards, or regular expressions.
This is a real problem when you are trying to clean up data, audit property values, or find records that match a specific pattern buried inside a text field.
What "wildcard search" actually means
In most software, a wildcard search means using special characters to represent unknown parts of a string. The asterisk (*) typically means "any number of characters," and the question mark (?) means "any single character." If you have used *.csv to find all CSV files on your computer, you have used a wildcard.
In CRM contexts, wildcard search is useful for things like:
- Finding all email addresses at a specific domain (
*@acme.com) - Locating phone numbers with a particular area code (
(415)*) - Identifying URLs that contain a certain path segment (
*/blog/*) - Catching misspellings or variations of a company name
Regular expressions (regex) take this further, letting you define precise patterns. For example, \(\d{3}\)\s?\d{3}-\d{4} matches a US phone number in a specific format.
What HubSpot actually offers for searching property values
HubSpot gives you a few built-in ways to look for data inside records, but each has significant constraints.
Global search
The search bar at the top of HubSpot searches across record names, email addresses, phone numbers, and a handful of other indexed fields. It does not search inside arbitrary text properties, and it does not support any kind of pattern matching. You cannot search for "every contact whose job title contains 'VP'" from the global search bar.
List filters and view filters
When you create a list or filter a view, you can use conditions like "property is equal to," "contains," or "starts with." The "contains" filter is the closest thing to a substring search, but it has limitations:
- It is a case-insensitive literal match -- no wildcards, no regex
- It is only available for single-line text, multi-line text, and a few other property types
- You cannot combine "contains" conditions with OR logic across multiple properties in a single filter group
- There is no "does not contain" option for all property types
- Performance degrades with large datasets, especially in marketing contact lists
CRM search API
HubSpot's CRM search API (/crm/v3/objects/{objectType}/search) supports a CONTAINS_TOKEN filter operator, but it works on tokenized text -- meaning it matches whole words, not arbitrary substrings. Searching for "consult" will not match "consulting." The API does not support regex at all.
Reporting filters
HubSpot reports let you filter data, but the filter options mirror the list filter constraints. There is no way to use pattern matching in a report filter.
The real-world problems this creates
Without proper substring or pattern search, common CRM tasks become painful.
Data standardization audits. You want to find every contact whose phone number is in the wrong format. Without regex search, you cannot define what "wrong format" means as a search pattern. You are stuck manually scrolling through records or exporting to a spreadsheet.
Domain-based segmentation. You need to find every company with a Gmail or Yahoo email domain to separate personal emails from business emails. The "contains" filter works here, but only one value at a time. You would need to create separate filters for gmail.com, yahoo.com, hotmail.com, outlook.com, and so on.
Finding partial URLs. Your blog posts contain links with old tracking parameters you want to update. Searching for utm_source=old_value inside a rich text body is not something HubSpot's native tools can do.
Catching data entry variations. Your sales team enters company names inconsistently -- "IBM", "I.B.M.", "International Business Machines." A wildcard or fuzzy search would help you find and standardize these, but HubSpot does not offer one.
Workarounds using HubSpot's native tools
You can partially work around the lack of wildcard search with some creative approaches.
Export and search in a spreadsheet
The most common workaround is to export your records to a CSV, open it in Excel or Google Sheets, and use the spreadsheet's search capabilities. Spreadsheets support regex (Google Sheets has REGEXMATCH; Excel has REGEX in newer versions), so you can find pattern-based matches.
The downside is obvious: you are working outside HubSpot. To act on what you find, you need to either update records one by one back in HubSpot or re-import the modified CSV. This is slow, risky, and creates version control problems.
Use calculated properties as a detection mechanism
You can create a HubSpot calculated property or use a workflow with an if/then branch to check whether a property value matches certain conditions. For example, you could create a workflow that checks if a phone number property does not match your expected format and then sets a flag property.
This is clever but limited. Workflow conditions do not support regex, and calculated properties only support basic math and string operations. You also need to build and maintain the workflow, which is overhead.
Use the CRM search API with CONTAINS_TOKEN
If you are comfortable writing code, you can use HubSpot's search API to find records containing specific tokens. Combine this with a script that checks each result against a regex pattern to filter false positives.
This works but requires development skills, API key management, and careful handling of pagination and rate limits.
A better approach: dedicated search tooling
The most efficient way to do wildcard and pattern-based search across HubSpot data is to use a tool built specifically for it. SearchReplace connects to your HubSpot portal and lets you search across any property on any object type using exact match, substring match, or full regular expressions.
For example, you could search for every contact whose phone number matches ^\(\d{3}\) \d{3}-\d{4}$ to find properly formatted numbers -- or negate the pattern to find the ones that need fixing. You could search for every company domain containing "consulting" as a substring. You could use regex to find all blog post body content containing a specific URL pattern.
The search results show you every matching record with the matched value highlighted, so you know exactly what you are looking at before making any changes.
Practical patterns for common searches
Here are some useful search patterns for common HubSpot data tasks.
Find email addresses at free providers:
Substring search for @gmail.com, @yahoo.com, @hotmail.com across the email property on contacts.
Find phone numbers in non-standard format:
Regex pattern ^(?!\+1\d{10}$).*$ against the phone property to find anything not in E.164 format.
Find URLs with specific tracking parameters:
Substring search for utm_source=old_campaign across any text or rich text property on blog posts or landing pages.
Find company names with punctuation variations:
Regex pattern I\.?B\.?M\.? against the company name property to find all variations of "IBM."
Find properties with leading or trailing whitespace:
Regex pattern ^\s+|\s+$ against any text property. Hidden whitespace causes matching problems in workflows and reports, and this pattern catches it.
Tips for effective pattern-based searching
When you start using pattern matching on CRM data, keep a few things in mind.
First, always preview before you act. A regex that looks right can match things you did not expect. Any search-and-replace operation should show you the affected records before applying changes.
Second, start narrow and expand. If you are not sure how many records will match, start with a more specific pattern and broaden it once you are confident in the results.
Third, test your regex on sample data. If you are writing a complex pattern, test it on a few known values first. Tools like regex101.com are helpful for building and debugging patterns.
Fourth, document your patterns. When you find a regex that works well for a recurring cleanup task, save it somewhere your team can reference. Pattern-based data cleanup is much more efficient when you are not rebuilding patterns from scratch each time.
HubSpot's native search is fine for finding a specific contact or company by name, but it falls short when you need to search for patterns inside property values. If wildcard and regex search are part of your data management workflow, a dedicated tool saves significant time compared to the export-and-spreadsheet approach.
Keep working through the cleanup
Related HubSpot guides for planning, previewing, and validating the next step.
How to Do Partial Match Find and Replace in HubSpot
HubSpot's built-in tools only match exact property values. Learn how to find and replace substrings within property values — fixing partial matches across your CRM data.
Read guideCase-Sensitive Search in HubSpot: How to Target Exact Matches
HubSpot's native search is case-insensitive. Learn how to perform case-sensitive searches to find and fix data that has the wrong capitalization.
Read guideHubSpot Regex Find and Replace: Complete Guide
Learn how to use regular expressions for powerful find-and-replace operations in HubSpot. From basic patterns to advanced techniques for CRM and CMS data.
Read guideUseful Regex Patterns for HubSpot Search and Replace
A practical collection of regex patterns for common HubSpot data cleanup tasks — phone numbers, URLs, email domains, and more.
Read guideStill editing HubSpot records one by one?
Start with 100 free applied records — no credit card required.