Fast-track header reading PRODUCT AND USE CASES over dark grid with soft green-lit shapes

Boolean search syntax: a practical guide to filtering the Enrich Layer API

August 5, 2026/Enrich Layer Team·4 min read

If you are good at Googling, you already know most of Boolean search. The operators that narrow a web search (quotes for exact phrases, a minus sign to exclude a term, OR to widen) are the same ones that narrow a query against the Enrich Layer API. This guide documents the syntax formally and then shows how to use it where it actually pays off: filtering people and employees by title, and companies by name or industry.

Enrich Layer replaced regular-expression search with Boolean search in 2024. Regular expressions gave you power, but most queries people wrote were simple, and the syntax created more friction than it removed. Boolean search keeps the majority of that expressiveness with a fraction of the learning curve.

The operators

A Boolean query is built from terms joined by operators. A term is a single word (engineer), an exact phrase in double quotes ("vice president"), or a group of terms in parentheses. There are six things to know.

AND (&&)

Requires all terms. Results must match every keyword.

bananas && apples

Matches only where both "bananas" and "apples" are present.

OR (||)

Requires either term (or both). Use it to widen a query across synonyms and variants.

bananas || apples

NOT (-)

Excludes a term. Place the hyphen directly before the word to remove.

bananas -apples

Matches "bananas" while filtering out anything that also matches "apples".

Exact phrase (" ")

Double quotes match a phrase as a unit, in order, rather than the words scattered independently.

"banana bread"

Matches the phrase "banana bread", not documents that merely contain "banana" somewhere and "bread" somewhere else.

Grouping (( ))

Parentheses control evaluation order, exactly like arithmetic. Group an OR before combining it with an AND so the alternation is treated as one unit.

(bananas || apples) && bread

Matches "bread" paired with either "bananas" or "apples".

Wildcard (*)

The asterisk does suffix matching: it stands in for the end of a word.

star*

Matches "star", "stars", "start", "startup", and so on.

Constraint: a wildcard cannot lead a query. *apple is invalid; write apple*.

The rules to remember

  • Operators are case-insensitive. AND, and, and && are equivalent; the same holds for OR/|| and NOT/-.
  • Nested parentheses are supported. You can group inside groups for complex logic.
  • Each expression is limited to 255 characters. Long queries built from many OR variants can hit this ceiling, so keep them tight.
  • Wildcards are suffix-only. Use them at the end of a word, never at the start.

Where Boolean search applies

Boolean syntax is accepted by these Enrich Layer search parameters:

EndpointParameterFilters on
Person Searchcurrent_role_titleCurrent job title
Person Searchpast_role_titlePast job title
Company Searchname / industryCompany name or industry
Employee Searchkeyword_booleanJob title keyword
Employee Listingboolean_role_searchEmployee title

The value you pass to any of these parameters is a Boolean expression built from the operators above. (Job Search accepts only a plain keyword, not Boolean syntax, so it is not listed here.)

Worked examples

The fruit examples teach the grammar; these show the queries you will actually write.

Find a role, exclude a level

Engineering managers, but not directors:

current_role_title=("engineering manager") -director

Cover every way a title is written

Titles are inconsistent across companies. Widen with OR, then narrow with a required domain:

current_role_title=("vice president" || VP) && (engineering || technology)

This matches VP-level people in engineering or technology whether their title spells out "vice president" or abbreviates it to "VP".

Strip out the noise you never want

Data scientists, excluding interns and juniors in one pass:

current_role_title="data scientist" -intern -junior

Filter companies by industry

Companies in software or IT, matched on the industry field:

industry=(software || "information technology")

Catch title variants with a wildcard

develop* covers "developer", "development", and "develops" without listing each one. That helps when you are unsure how a title is phrased:

boolean_role_search=develop* && (senior || lead)

Employees whose titles match common sales-role variants:

keyword_boolean=("account executive" || "sales development" || SDR)

Tips for building queries that hold up

  • Quote multi-word titles. "account executive" matches the role; account executive (unquoted) is looser and can pull in unrelated matches.
  • Group before you combine. Wrap every OR alternation in parentheses before joining it to an AND, so precedence never surprises you.
  • Exclude last. Build the query that finds what you want, then append -term exclusions to trim it.
  • Watch the 255-character limit. If a query grows past it, split the work into two narrower searches or trade a long OR list for a wildcard where the variants share a root.
  • Iterate. Start broad, look at what comes back, and tighten. Boolean search rewards a second pass more than a perfect first draft.

Where to go next

Boolean search is one filter among many. You will usually combine current_role_title with location, headcount, industry, or other parameters to reach a precise segment. For the full parameter list on each endpoint, see the Person Search, Company Search, Employee Search, and Employee Listing references.

apirevopstalent-sourcingdata-engineerslead-enrichment