Skip to content

Fields, filters and sort keys

A search names one collection, exactly one country, and a sort. Only the fields, operators and sort keys below exist: anything else is refused with unknown_field, operator_not_allowed or sort_not_allowed, never rewritten. Limits on every search: at most 50 rows, 20 filter clauses, 10 values in an in, 3 sort keys, 512 characters of q and 256 of any string value.

Every clause is an object with one member, the field name. {"on_sale": false} is shorthand for {"on_sale": {"eq": false}}. The country clause selects the rows published for that country; on products, price_amount and price_currency then mean that country’s price. See Search for the shape of a request.

Typed address: POST /v1/products/search. Text fields for query_by: product_name, short_description, tags, brand. Sort keys: _text_match, price_amount, published_at.

Filter field Type and operators
country ISO 3166-1 alpha-2; exactly one per search
language string; operators: eq, in. {"language": v} is shorthand for {"language": {"eq": v}}.
tags string; operators: eq, in. {"tags": v} is shorthand for {"tags": {"eq": v}}.
brand string; operators: eq, ne, in, nin. {"brand": v} is shorthand for {"brand": {"eq": v}}.
vertical string; operators: eq, ne, in, nin. {"vertical": v} is shorthand for {"vertical": {"eq": v}}.
category string; operators: eq, ne, in, nin. {"category": v} is shorthand for {"category": {"eq": v}}.
channel string; operators: eq, ne, in, nin. {"channel": v} is shorthand for {"channel": {"eq": v}}.
availability string; operators: eq, ne, in, nin. {"availability": v} is shorthand for {"availability": {"eq": v}}.
on_sale bool; operators: eq. {"on_sale": v} is shorthand for {"on_sale": {"eq": v}}.
price_amount money; operators: eq, lt, lte, gt, gte; also a sort key; applies to the searched country’s value (indexed as price_{CC}). {"price_amount": v} is shorthand for {"price_amount": {"eq": v}}.
price_currency currency; operators: eq, ne, in; applies to the searched country’s value (indexed as price_currency_{CC}). {"price_currency": v} is shorthand for {"price_currency": {"eq": v}}.
gtin string; operators: eq, in. {"gtin": v} is shorthand for {"gtin": {"eq": v}}.
sponsored bool; operators: eq. {"sponsored": v} is shorthand for {"sponsored": {"eq": v}}.
published_at timestamp; operators: lt, lte, gt, gte; also a sort key.

Typed address: POST /v1/business-files/search. Text fields for query_by: description, brands_owned.name, brands_sold.name, markets_served. Sort keys: _text_match, year_established, published_at.

Filter field Type and operators
country ISO 3166-1 alpha-2; exactly one per search
language string; operators: eq, in. {"language": v} is shorthand for {"language": {"eq": v}}.
has_locations bool; operators: eq. {"has_locations": v} is shorthand for {"has_locations": {"eq": v}}.
location_geo geopoint; operators: near.
cities string; operators: eq, in. {"cities": v} is shorthand for {"cities": {"eq": v}}.
delivery.options string; operators: eq, in. {"delivery.options": v} is shorthand for {"delivery.options": {"eq": v}}.
ships_internationally bool; operators: eq. {"ships_internationally": v} is shorthand for {"ships_internationally": {"eq": v}}.
payment.methods string; operators: eq, in. {"payment.methods": v} is shorthand for {"payment.methods": {"eq": v}}.
has_booking bool; operators: eq; always false on every row, so has_booking: true matches nothing. {"has_booking": v} is shorthand for {"has_booking": {"eq": v}}.
year_established int; operators: eq, lt, lte, gt, gte; also a sort key. {"year_established": v} is shorthand for {"year_established": {"eq": v}}.
published_at timestamp; operators: lt, lte, gt, gte; also a sort key.

Typed address: POST /v1/events/search. Text fields for query_by: title, description. Sort keys: _text_match, start_at, end_at, price_min, price_max, published_at.

Filter field Type and operators
country ISO 3166-1 alpha-2; exactly one per search
language string; operators: eq, in. {"language": v} is shorthand for {"language": {"eq": v}}.
region string; operators: eq, in. {"region": v} is shorthand for {"region": {"eq": v}}.
event_type string; operators: eq, ne, in, nin. {"event_type": v} is shorthand for {"event_type": {"eq": v}}.
attendance_mode string; operators: eq, ne, in. {"attendance_mode": v} is shorthand for {"attendance_mode": {"eq": v}}.
start_at timestamp; operators: lt, lte, gt, gte; also a sort key.
end_at timestamp; operators: lt, lte, gt, gte; also a sort key.
timezone string; operators: eq, in. {"timezone": v} is shorthand for {"timezone": {"eq": v}}.
geo geopoint; operators: near.
city string; operators: eq, in. {"city": v} is shorthand for {"city": {"eq": v}}.
ticketed bool; operators: eq. {"ticketed": v} is shorthand for {"ticketed": {"eq": v}}.
price_min money; operators: lt, lte, gt, gte; also a sort key.
price_max money; operators: lt, lte, gt, gte; also a sort key.
price_currency currency; operators: eq, in. {"price_currency": v} is shorthand for {"price_currency": {"eq": v}}.
age_restriction string; operators: eq, ne, in. {"age_restriction": v} is shorthand for {"age_restriction": {"eq": v}}.
published_at timestamp; operators: lt, lte, gt, gte; also a sort key.

Typed address: POST /v1/jobs/search. Text fields for query_by: title, description. Sort keys: _text_match, salary_min, salary_max, closing_date, published_at.

Filter field Type and operators
country ISO 3166-1 alpha-2; exactly one per search
language string; operators: eq, in. {"language": v} is shorthand for {"language": {"eq": v}}.
salary_disclosed bool; operators: eq. {"salary_disclosed": v} is shorthand for {"salary_disclosed": {"eq": v}}.
employment_type string; operators: eq, ne, in, nin. {"employment_type": v} is shorthand for {"employment_type": {"eq": v}}.
category string; operators: eq, ne, in, nin. {"category": v} is shorthand for {"category": {"eq": v}}.
work_arrangement string; operators: eq, ne, in. {"work_arrangement": v} is shorthand for {"work_arrangement": {"eq": v}}.
geo geopoint; operators: near.
city string; operators: eq, in. {"city": v} is shorthand for {"city": {"eq": v}}.
region string; operators: eq, in. {"region": v} is shorthand for {"region": {"eq": v}}.
salary_min money; operators: lt, lte, gt, gte; also a sort key.
salary_max money; operators: lt, lte, gt, gte; also a sort key.
salary_currency currency; operators: eq, in. {"salary_currency": v} is shorthand for {"salary_currency": {"eq": v}}.
salary_period string; operators: eq, in. {"salary_period": v} is shorthand for {"salary_period": {"eq": v}}.
closing_date timestamp; operators: lt, lte, gt, gte; also a sort key.
published_at timestamp; operators: lt, lte, gt, gte; also a sort key.

Typed address: POST /v1/updates/search. Text fields for query_by: headline, body. Sort keys: _text_match, published_at, relevant_until.

Filter field Type and operators
country ISO 3166-1 alpha-2; exactly one per search
language string; operators: eq, in. {"language": v} is shorthand for {"language": {"eq": v}}.
update_type string; operators: eq, ne, in, nin. {"update_type": v} is shorthand for {"update_type": {"eq": v}}.
published_at timestamp; operators: lt, lte, gt, gte; also a sort key.
relevant_until timestamp; operators: lt, lte, gt, gte; also a sort key.