Skip to main content
For complicated queries, like “Knicks gear from Nike or Adidas, for kids, in blue,” we recommend agentic search. Toggle to agentic mode, and an LLM plans the search: it extracts deterministic filters, may split the request into OR/AND sub-searches, runs them, and merges the results into one ranked list. Latency is higher than default or keyword (it’s LLM-bound), so use it for shopping and assistant flows where result quality matters more than milliseconds.

When to use

Prefer agentic when the request has several moving parts that should become real filters:
  • Multi-constraint shopping language — brand, retailer, category, size, price, and attributes in one sentence
  • Alternatives and branches"Nike or Adidas…", "green 4-wheel or black 2-wheel…"
  • Conversational / vibe phrasing — descriptive language stays in the semantic query while constraints become structured filters
  • Pasted identifiers — SKU, MPN, GTIN, UPC, or EAN that should pin and boost an exact match
If you already know exact attribute handles and values, build them yourself with attribute filters — agentic is for when the caller has natural language, not a pre-built filter tree.

What it extracts

Natural language is turned into structured SearchFilters (and related ranking signals), including: Query shapes it plans for (not just single-filter extraction):
  • Alternatives / DNF"Nike or Adidas hoodies in black or grey" → multiple sub-searches, then merge
  • Correlated constraints"green 4-wheel or black 2-wheel suitcase" keeps color tied to the other trait per branch
  • AND within one product"brown and yellow sneakers" stays one search with both colors
  • Descriptive residue"cozy oversized cable knit sweater for winter" keeps vibe language in the semantic query while filters stay clean
Attribute coverage depends on the category taxonomy. Agentic does not replace hand-built attribute filters when you already know the exact handles and values.
The filters you provide override the filters set by the agent.

Same API surface

Request and response shapes are identical to default mode. Explicit filters combine with what the planner extracts, and pagination via next_page_token works as usual.