Filtering
All list and export endpoints accept repeatable filter query parameters.
Format
Section titled “Format”filter=logic.operator.field.value| Part | Values |
|---|---|
logic | and, or |
operator | See tables below |
field | Any lead field (see list below), or attr:name for custom attributes |
value | Filter value (omit for no-value operators like is_empty) |
How and / or logic works
Section titled “How and / or logic works”Each filter carries its own logic prefix — there is no global “AND mode” or “OR mode”.
- Filters prefixed with
andmust all match (like SQLAND). - Filters prefixed with
ormatch if any one of them is true (like SQLOR). - When mixing both: all
andfilters must pass and at least oneorfilter must pass.
| Example | Meaning |
|---|---|
filter=and.eq.city.Paris | city must be Paris |
filter=and.eq.city.Paris&filter=and.gte.rating.4 | city is Paris AND rating ≥ 4 |
filter=and.is_not_empty.email&filter=or.is_not_empty.phone | has email OR has phone |
Filterable fields
Section titled “Filterable fields”| Field | Type | Notes |
|---|---|---|
name | text | |
email | text | |
phone | text | |
city | text | |
country | text | |
category | text | |
source | text | |
source_id | text | |
website | text | |
rating | number | |
review_count | number | |
score | number | Computed score 0–100 |
tags | array | Use array operators |
location | location | Use location operators |
attr:<name> | varies | Custom attribute (e.g., attr:cuisine) |
Text operators
Section titled “Text operators”| Operator | Description |
|---|---|
eq | Equals (case-insensitive) |
neq | Not equals |
contains | Contains substring |
not_contains | Does not contain |
starts_with | Starts with |
ends_with | Ends with |
is_empty | Null or empty string |
is_not_empty | Not null and not empty |
in | Equals one of (comma-separated values) |
Numeric operators
Section titled “Numeric operators”| Operator | Description |
|---|---|
eq | Equals |
neq | Not equals |
gt | Greater than |
gte | Greater than or equal |
lt | Less than |
lte | Less than or equal |
Array operators (for tags)
Section titled “Array operators (for tags)”| Operator | Description |
|---|---|
array_contains | Array contains value |
array_not_contains | Array does not contain value |
array_empty | Array is empty |
array_not_empty | Array is not empty |
Location operators (for location)
Section titled “Location operators (for location)”| Operator | Description | Value format |
|---|---|---|
within_radius | Within N km of a point | lat,lng,km |
is_set | Has coordinates | — |
is_not_set | Missing coordinates | — |
Custom attributes
Section titled “Custom attributes”Use attr:field_name as the field:
?filter=and.eq.attr:cuisine.Italian?filter=and.gt.attr:employees.100Examples
Section titled “Examples”# City = Athens AND rating >= 4?filter=and.eq.city.Athens&filter=and.gte.rating.4
# Has email OR has phone?filter=and.is_not_empty.email&filter=or.is_not_empty.phone
# Tagged as "restaurant"?filter=and.array_contains.tags.restaurant
# Within 5km of Athens city center# Value format: lat,lng,radius_km?filter=and.within_radius.location.37.98,23.73,5
# Source is either "website" or "api"?filter=and.in.source.website,api
# Leads with a custom "cuisine" attribute = Italian?filter=and.eq.attr:cuisine.Italian