Endpoint Playground
Lists products from a Shop.app merchant, by shop `handle`. `limit` defaults to 30 (max 60), `sort_by` is `MOST_SALES` (default), `PRICE_LOW_TO_HIGH`, `PRICE_HIGH_TO_LOW` or `RELEVANCE`, and `in_stock` defaults to true. Each card has its id, title, price, original price, image and URL. An invalid `sort_by` is rejected.
14 Oct 2026: 30 products; 11 fields had a value in every checked item and 2 varied between items.
Sample value profiles: price: 91 to 228, median 215; title: “Aiden Black Leather Combat Boots” and 29 other values; url: shop.app.
curl 'https://api.crawlora.net/api/v1/shop-app/shops/marcnolan/products?sort_by=MOST_SALES' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| handle (path) | string | Yes | marcnolan | Shop handle |
| limit | integer | No | Maximum products, defaults to 30 and supports up to 60 | |
| sort_by | string | No | MOST_SALES | Sort mode |
| in_stock | boolean | No | Request in-stock products |
{
"code": 200,
"msg": "OK",
"data": {
"shop_handle": "marcnolan",
"sort_by": "MOST_SALES",
"products": [
{
"id": "4796042281039",
"title": "Aiden Black Leather Combat Boots",
"position": 1
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.