Skip to content

Search API

POST
View MD

The POST search endpoint is designed for advanced use cases where filters need complex nested boolean logic or where the request body would become too large for URL parameters alone.

The POST endpoint uses a hybrid approach: standard identification parameters stay in the URL, while the complex boolean logic is sent in the JSON body.

ParameterTypeRequiredDescription
tracker_idstringYour unique Luigi’s Box tracker identifier.
qstringThe user’s search query.
sizeintegerNumber of hits to return. Default: 10.
pageintegerResult page number. Default: 1.
ParameterTypeRequiredDescription
filtersobjectStructured boolean filter definition. Each top-level key is a content type such as item, and the value can contain nested and, or, and not arrays made of filter objects.
HeaderValueRequiredDescription
Accept-Encodinggzip, deflateRecommendedEnables compressed responses.
Content-Typeapplication/jsonIndicates that the request body is JSON.

Execute a POST request with Content-Type: application/json.

  • Keep tracker_id, q, pagination, and other standard request parameters in the query string.
  • Put only the complex filters object into the JSON payload.
  • Use nested and, or, and not arrays when you need logic that cannot be expressed comfortably with repeated f[] values.

The response structure matches the GET /search endpoint and contains top-level results and next_page fields.

FieldDescription
queryRequested query string.
corrected_queryQuery correction markup when the query was altered.
total_hitsTotal number of hits for the requested type.
hitsResult objects for the requested type.
facetsFacets and their counts.
filtersFilters applied to the results.
quicksearch_hitsResults for secondary types requested via quicksearch_types.
suggested_facetOptional facet suggested for narrowing the result set.
suggested_urlOptional redirect URL for direct-match or fixit behavior.
campaignsBanner campaigns associated with the query.
FieldDescription
urlUnique identifier of the result object.
attributesCatalog fields stored for the hit, such as title, brand, or price.
pinnedPresent when the result was added by customization.
typeResult type, for example item.
nestedNested objects associated with the hit, such as variants.

The API uses standard HTTP status codes to indicate success or failure. The POST search endpoint accepts the same query parameters as the GET endpoint, so all parameter validation errors from the Search API (GET) apply here as well.

HTTP StatusDescription
200 OKThe request succeeded and results are returned.
400 Bad RequestThe request was malformed — missing parameters or invalid JSON body.
404 Not FoundThe tracker_id does not match any known catalog.
500 Server ErrorInternal error. If persistent, contact support.
504 Gateway TimeoutThe request took too long to process. Retrying may succeed.