GET/shop-app/analysisapiKey5 credits/request
Returns a market snapshot derived from Shop.app search results, including price ranges, currencies, sale counts, discounts, and top shops. Limit defaults to 20 and accepts values up to 50.
Required: query. Optional: limit, in_stock, on_sale, deep_search.
Sampled 14 Oct 2026: 12 fields returned with a value. In the sample: products_count: 20; query: “sneakers”; currencies: 1 entry; groups_count: 0; shops_count: 11; prices_by_currency: 1 entry; sale_count: 3; discounts.min_percent: 7.57.
Open in Playground
GET/shop-app/categoriesapiKey3 credits/request
Returns the Shop.app product category tree, with no parameters. Each category has its `id`, `gid`, `name`, `slug`, `image`, `has_children`, nested `children` and a `path` of ancestors. Ids are taken from Shopify product category GIDs where present.
Takes no parameters.
Sampled 14 Oct 2026: 14 items. Filled in every item: id, gid, name, slug, path. Not in every item: has_children (13). In the sample: name: “Women” and 13 other values; has_children: true in 13 of 13; path: median 2 entries.
Open in Playground
GET/shop-app/products/{id}apiKey5 credits/request
Returns a Shop.app product by `id`: title, description, price and original price, currency, availability, images, option groups, rating, review count with reviews, related products and the selling shop. Pass `variant_id` to mark a variant as selected. Missing products return an error.
Required: id. Optional: variant_id.
Sampled 14 Oct 2026: 3 items. Filled in every item: name, values. In the sample: name: “Colour” and 2 other values; values: median 3 entries.
Open in Playground
GET/shop-app/products/{id}/relatedapiKey5 credits/request
Lists products related to a Shop.app product, by `id`. `limit` defaults to 20 and is capped at 50. Each card has the product's id, title, price, original price, currency, `on_sale` flag, image, shop name and URL. A product page with no related items returns an error.
Required: id. Optional: limit.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, variant_id, title, url, shop_id, shop_name, price, currency and 4 more. Not in every item: original_price (12), on_sale (10). In the sample: price: 5 to 257, median 177; title: “Men's Wide Fit New Balance MX608BB5 (New 624) Walking/Runni…” and 19 other values; url: widefitshoes.co.uk; on_sale: true in 10 of 10; original_price: 161 to 321, median 209; image: cdn.shopify.com; image_alt: “Women's Wide Fit New Balance MX608 (New 624) Running Traine…” and 18 other values; position: 1 to 20, median 10.
Open in Playground
GET/shop-app/products/{id}/reviewsapiKey5 credits/request
Lists customer reviews for a Shop.app product, by `id`, up to `limit` (default 20, max 50). Each review has its rating, title, body, author, date, helpful count and variant label, where present. A product with no reviews returns an error.
Required: id. Optional: limit.
Sampled 14 Oct 2026: 6 items. Filled in every item: id, rating, body, author, date, product. In the sample: date: 2024-02-10 to 2026-02-21; rating: 1 to 5, median 5; body: median 117 characters.
Open in Playground
GET/shop-app/products/{id}/shopapiKey5 credits/request
Finds the Shop.app merchant that sells a product, by the product `id`. Returns the shop's handle, name, description, logo, banner, rating, review count, storefront URL, and its collections. Unknown products, or ones with no public shop, return not found.
Required: id.
Sampled 14 Oct 2026: 11 fields returned with a value. In the sample: shop.rating: 4.48; shop.name: “Wide Fit Shoes UK”; shop.url: shop.app; shop.logo: cdn.shopify.com; shop.reviews_count: 557; shop.storefront: widefitshoes.co.uk.
Open in Playground
GET/shop-app/products/{id}/variantapiKey5 credits/request
Returns the exact public product variant matching selected options. selected_options must be a JSON object when provided. Repeated option filters may also be sent as option.Name=value or option[Name]=value.
Required: id. Optional: selected_options.
Sampled 14 Oct 2026: 10 fields returned with a value. In the sample: variant.price: 169.95; variant.title: “Black / 7 / 6E”; variant.available_for_sale: true; variant.currency: “EUR”; variant.requires_shipping: true.
Open in Playground
GET/shop-app/products/{id}/variantsapiKey5 credits/request
Returns adjacent variants for a Shop.app product. selected_options must be a JSON object when provided. Repeated option filters may also be sent as option.Name=value or option[Name]=value.
Required: id. Optional: selected_options, limit.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, gid, title, options, price, currency, available_for_sale, requires_shipping and 1 more. In the sample: price: 120.95 to 169.95, median 132.95; title: “Black / 7 / 6E” and 19 other values; available_for_sale: true in 12 of 20; requires_shipping: true in 20 of 20.
Open in Playground
GET/shop-app/searchapiKey5 credits/request
Searches Shop.app product results. Limit defaults to 20 and accepts values up to 50.
Required: query. Optional: limit, in_stock, on_sale, deep_search.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, variant_id, title, url, shop_id, shop_name, price, currency and 2 more. Not in every item: image_alt (10), original_price (5), on_sale (3). In the sample: price: 75 to 257, median 135; title: “Crossover™ Victory Trainer” and 19 other values; url: wolfandshepherd.com and 10 other hosts; on_sale: true in 3 of 3; shop_name: “Wolf & Shepherd” and 10 other values; image: cdn.shopify.com; image_alt: “khaki / honey” and 9 other values; position: 1 to 20, median 10.
Open in Playground
GET/shop-app/shops/{handle}apiKey5 credits/request
Returns a Shop.app merchant profile by shop `handle`: name, description, logo, banner, rating, review count, storefront and Shop.app URLs, and collection summaries when the shop page lists them. Unknown handles return an error.
Required: handle.
Sampled 14 Oct 2026: 4 items. Filled in every item: id, title, slug, url. In the sample: title: “Men's Loafers & Mules” and 3 other values; url: shop.app.
Open in Playground
GET/shop-app/shops/{handle}/collections/{collection_id}/productsapiKey5 credits/request
Lists products in one collection of a Shop.app merchant, by shop `handle` and `collection_id`. `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 title, price, original price, image and URL.
Required: handle, collection_id. Optional: limit, sort_by (4 allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCE), in_stock.
Sampled 14 Oct 2026: 30 items. Filled in every item: id, variant_id, title, url, shop_id, shop_name, price, currency and 3 more. Not in every item: original_price (11), on_sale (10). In the sample: price: 70 to 175, median 165; title: “Aiden Black Leather Combat Boots” and 29 other values; url: shop.app; on_sale: true in 10 of 10; image: cdn.shopify.com; image_alt: “Aiden Black Leather Combat Boots” and 29 other values; position: 1 to 30, median 15; original_price: 145 to 175, median 150.
Open in Playground
GET/shop-app/shops/{handle}/locationsapiKey5 credits/request
Returns the public retail locations of a Shop.app merchant by shop handle, up to `limit` (default 10, max 50). Each location has its id, name, latitude and longitude, and street address; the response also carries the total count and a cursor for the next page. A shop with no public retail locations returns an error.
Required: handle. Optional: limit.
Sampled 14 Oct 2026: 2 items. Filled in every item: id, name, latitude, longitude, address. In the sample: name: “Store - Chicago” and 1 other value.
Open in Playground
GET/shop-app/shops/{handle}/productsapiKey5 credits/request
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.
Required: handle. Optional: limit, sort_by (4 allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCE), in_stock.
Sampled 14 Oct 2026: 30 items. Filled in every item: id, variant_id, title, url, shop_id, shop_name, price, currency and 3 more. Not in every item: original_price (11), on_sale (10). In the sample: price: 91 to 228, median 215; title: “Aiden Black Leather Combat Boots” and 29 other values; url: shop.app; on_sale: true in 10 of 10; image: cdn.shopify.com; image_alt: “Aiden Black Leather Combat Boots” and 29 other values; position: 1 to 30, median 15; original_price: 189 to 228, median 195.
Open in Playground
GET/shop-app/shops/{handle}/reviewsapiKey5 credits/request
Lists customer reviews for a Shop.app merchant, by shop `handle`, up to `limit` (default 20, max 50). Each review has its rating, body, author, date, helpful count and the product reviewed. Also returns `total_count` and `next_cursor`. Unknown shops return not found.
Required: handle. Optional: limit.
Sampled 14 Oct 2026: 6 items. Filled in every item: id, rating, title, body, author, date, product. In the sample: date: 2026-10-10 to 2026-10-13; body: median 284 characters.
Open in Playground
GET/shop-app/shops/{handle}/typeaheadapiKey2 credits/request
Returns search suggestions inside one Shop.app shop, for the shop `handle` and required `query`. `limit` defaults to 20, which is also the maximum. Suggestions are `type` term, product or collection, with text, position and a product or collection object where relevant. Unknown shops return not found.
Required: handle, query. Optional: limit.
Sampled 14 Oct 2026: 13 items. Filled in every item: type, text, id, position. Not in every item: url (3), product (3). In the sample: type: term (10), product (3); position: 1 to 13, median 7; text: “loafer” and 12 other values; url: marcnolan.com.
Open in Playground
GET/shop-app/suggestionsapiKey2 credits/request
Returns Shop.app autocomplete suggestions for the required `query`. `limit` defaults to 10 and is capped at 20. Each suggestion is either a search query or a shop, with its `text`, `type`, URL and, for shops, the shop handle, name, rating and image.
Required: query. Optional: limit.
Sampled 14 Oct 2026: 10 items. Filled in every item: text, type, url. Not in every item: shop_id (4), shop_name (4), shop_handle (4), image (3), rating (4). In the sample: type: query (6), shop (4); rating: 4.44 to 4.92, median 4.76; text: “Sneakers Plus” and 9 other values; url: shop.app; shop_name: “Sneakers Plus” and 3 other values; image: cdn.shopify.com.
Open in Playground