querystringrequired
Free-text search keyword, e.g. one shape is a product type like a shoe or phone name. Must be non-empty.
https://api.sandbase.ai/v1/api/shop-app/search-productsSearches shop.app products globally by a free-text keyword and returns one page of matching products from the site's global search results (actual product records, not autocomplete suggestions or merchant-only results).
Your output will appear here
Complete the inputs, then click Run.
Searches shop.app products globally by a free-text keyword and returns one page of matching products from the site's global search results (actual product records, not autocomplete suggestions or merchant-only results).
curl -X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "shop-app/search-products", "first": 10, "query": "running shoes"}'
The result is returned in outputs[0].data.
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Free-text search keyword, e.g. one shape is a product type like a shoe or phone name. Must be non-empty. |
after | string | No | Pagination cursor taken unchanged from a previous response's end_cursor field. Omit for the first page. |
first | integer | No | Number of products to return for this page (1-100). Takes precedence over page_size when both are given; when omitted, page_size applies. |
page_size | integer | No | Legacy page-size control (1-100), used only when first is omitted. |
Flat $0.03 per call. Failed calls are not charged.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/shop-app/search-products" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"first": 10,
"query": "running shoes",
"page_size": 30
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
querystringrequiredFree-text search keyword, e.g. one shape is a product type like a shoe or phone name. Must be non-empty.
afterstringPagination cursor taken unchanged from a previous response's end_cursor field. Omit for the first page.
firstintegerNumber of products to return for this page (1-100). Takes precedence over page_size when both are given; when omitted, page_size applies.
page_sizeintegerLegacy page-size control (1-100), used only when first is omitted.
Default: 30
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
Shop Search ProductsThis API Shop | $0.03 per call | JSON |
Shop | $0.03 per call | JSON |
Shop | $0.03 per call | JSON |
Shop | $0.03 per call | JSON |
Shop | $0.03 per call | JSON |
Shop | $0.03 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/shop-app/search-products with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
$0.03 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
Required: query (string). Optional: after (string), first (integer) and page_size (integer). The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. Shop Search Products runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Shop API access separately.