Search Products
Search retail product catalogs (Amazon or Walmart) by keyword. Returns matching products with title, brand, image, price in USD, star rating, review count, and availability; each result includes a product URL that feeds directly into get-product-details and order-product. By default returns ONLY orderable products (the top hits are verified to have a purchasable price, so Amazon Fresh / grocery / perishable listings with no buy-box price are filtered out); pass orderableOnly=false for raw catalog results. Ideal for: finding physical products to order, price comparison, building shopping workflows.
Catalog action Integrations
Search retail product catalogs (Amazon or Walmart) by keyword. Returns matching products with title, brand, image, price in USD, star rating, review count, and availability; each result includes a product URL that feeds directly into get-product-details and order-product. By default returns ONLY orderable products (the top hits are verified to have a purchasable price, so Amazon Fresh / grocery / perishable listings with no buy-box price are filtered out); pass orderableOnly=false for raw catalog results. Ideal for: finding physical products to order, price comparison, building shopping workflows.
At a Glance
| Field | Value |
|---|---|
| Action ID | search-products |
| Category | Integrations |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | shopping, products, search, ecommerce, read |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search keywords describing the product (e.g. 'wireless mouse', 'coffee grinder'). |
retailer | string | No | Retailer catalog to search. Default: 'amazon'. |
page | number | No | Result page number (1-based). Default: 1. |
orderableOnly | boolean | No | Return ONLY products that can actually be ordered (default: true). When true, the top results are verified to have a purchasable price, so non-orderable listings (Amazon Fresh / Whole Foods grocery, perishables with no buy-box price) are dropped before they reach the user. Set false for raw catalog results. |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
results | array | Yes | Matching products, in retailer ranking order. |
retailer | string | Yes | Retailer that was searched. |
query | string | Yes | The search query used. |
Examples
json{ "type": "search-products", "payload": { "query": "status:open" }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/search-products/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "query": "status:open" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
