Install
openclaw skills install @gzipped/browse-productsSemantic product search API using vector embeddings. Search products by natural language queries with price filtering, pagination, and relevance scoring. Use when the user wants to search products, browse a product catalog, or find items by description.
openclaw skills install @gzipped/browse-productsThis skill provides access to a semantic product search API that uses vector embeddings to find products by meaning rather than keyword matching.
GET https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search?query=<your-query>
Example:
GET https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search?query=wireless+bluetooth+headphones
GET https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search?query=running+shoes&minPrice=50&maxPrice=200
See complete API reference for all endpoints, parameters, and response formats.
| Parameter | Required | Default | Description |
|---|---|---|---|
query | Yes | — | Natural language search text (max 500 chars) |
minPrice | No | — | Minimum price filter |
maxPrice | No | — | Maximum price filter |
page | No | 1 | Page number (1-based) |
pageSize | No | 20 | Results per page (max 100) |
titleOnly | No | false | Search only product titles |
descriptionOnly | No | false | Search only product descriptions |
sortBy | No | relevance | Sort: relevance, price, date |
sortOrder | No | desc | Order: asc, desc |
For multiple queries in one request:
POST https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search/bulk
Send a JSON array of search requests (max 50 per request).
minPrice and maxPrice to narrow resultstitleOnly for precision — When searching for specific product namesrelevanceScore — Scores closer to 1.0 indicate stronger semantic matchesWhen presenting search results to the user, follow these guidelines to ensure a rich and useful experience:
imageUrls field from each product to display as many product photos as possible. Visual content is essential for helping users evaluate products.price field clearly. If priceWithoutDiscount and discountPercent are available, highlight the discount (e.g., strikethrough the original price, show the discount percentage).url so the user can navigate directly to the store.Each search returns:
metadata — pagination info, search time, cache status, embedding modelresults[] — matching products with id, title, description, price, url, relevanceScore, and attributesFor complete response schema, see API reference.
curl -G "https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search" \
-d "query=wireless+bluetooth+headphones" \
-d "minPrice=50" \
-d "maxPrice=200" \
-d "page=1" \
-d "pageSize=10"
curl -X POST "https://pbs-search-api-fp45p.ondigitalocean.app/api/v1/products/search/bulk" \
-H "Content-Type: application/json" \
-d '[
{
"query": { "text": "running shoes" },
"pagination": { "page": 1, "pageSize": 5 }
},
{
"query": { "text": "tennis racket" },
"pagination": { "page": 1, "pageSize": 5 }
}
]'