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.
products
Section titled “products”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. |
business_files
Section titled “business_files”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. |
events
Section titled “events”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. |
updates
Section titled “updates”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. |