Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
構造化出力
Use Crawlora's Shop.app Scraper API to collect public product, merchant, search, review, variant, category, and suggestion data without maintaining Shop.app-specific request handling, parsers, normalization, billing, and developer documentation.
SERPワークフロー
Shop.app data can support e-commerce discovery, price monitoring, merchant research, assortment tracking, review analysis, and catalog enrichment when teams need repeatable structured data instead of manual browsing.
E-commerce product intelligenceリクエストスキーマ
これらのパラメータは、稼働中の「Search Shop.app products」カタログエントリから取得しています。
| パラメータ | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
| query | string | はい | Search query | sneakers |
| limit | integer | いいえ | Maximum products, defaults to 20 and supports up to 50 | 20 |
| in_stock | boolean | いいえ | Request in-stock products | true |
| on_sale | boolean | いいえ | Request sale products | false |
| deep_search | boolean | いいえ | Accepted for compatibility; Shop.app no longer offers a separate deep search mode, so results are unchanged | false |
JSON例
この例は稼働中のエンドポイントカタログからレンダリングされるため、ページは常にDocsおよびPlaygroundと同期しています。
{
"code": 200,
"msg": "OK",
"data": {
"query": "sneakers",
"limit": 5,
"products": [
{
"id": "8075903107261",
"variant_id": "46242960965821",
"title": "Black/Black/Gum BILLY Sport Inclusion DZ1",
"url": "https://billyfootwear.com/products/black-black-gum-billy-sport-inclusion-dz1-zipper-shoes?utm_source=shop_app",
"shop_id": "62696",
"shop_name": "BILLY Footwear",
"price": 100,
"currency": "USD",
"position": 1
}
]
}
}エンドポイントカタログ
/shop-app/searchSearches Shop.app product results. Limit defaults to 20 and accepts values up to 50.
レスポンスに関する注記
- Products are deduplicated by product id and variant id. - Results come from Shop.app's public search feed in its ranking order; a `limit` above one feed page is filled by following the feed's cursor. - `groups` and each product's `group_title` are returned only when Shop.app supplies expanded product groups. Its current search feed does not, so they are normally absent. - Blocked pages, malformed responses, and product cards that cannot be parsed return an upstream error instead of `200 []`.
MCPツール shop_app_search
/shop-app/products/{id}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.
レスポンスに関する注記
- Product detail parsing uses public page HTML and route data only. - Blocked pages, not-found pages, and product pages without a parsed title return typed errors.
MCPツール shop_app_product
/shop-app/shops/{handle}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.
レスポンスに関する注記
- Collection summaries are included when discoverable on the public shop page. - Blocked pages, not-found pages, and shop pages without a parsed name return typed errors.
MCPツール shop_app_shop
/shop-app/shops/{handle}/productsLists 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.
レスポンスに関する注記
- Invalid `sort_by` values return invalid-param errors before upstream IO. - Blocked pages, malformed route data, and empty parsed products return an upstream error.
MCPツール shop_app_shop_products
/shop-app/analysisReturns 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.
レスポンスに関する注記
- `prices_by_currency` reports min, max, average, and count for each currency present in parsed products. - `discounts` is computed only from products with both `price` and `original_price`. - `top_shops` ranks shops by the number of parsed products in the analyzed result set. - `groups_count` counts Shop.app expanded product groups; its current search feed does not supply them, so it is normally `0`. - Blocked pages, malformed responses, and product cards that cannot be parsed return an upstream error.
MCPツール shop_app_analysis
/shop-app/suggestionsReturns 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.
レスポンスに関する注記
- Suggestions can be query suggestions or shop suggestions. - Blocked pages, malformed route data, and empty parsed suggestions return an upstream error.
MCPツール shop_app_suggestions
/shop-app/categoriesReturns 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.
レスポンスに関する注記
- Category ids come from Shopify product category GIDs when present. - Blocked pages, malformed route data, and empty parsed categories return an upstream error.
MCPツール shop_app_categories
/shop-app/products/{id}/variantsReturns 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.
レスポンスに関する注記
- Invalid `selected_options` JSON returns an invalid-param error before upstream IO. - Blocked pages, malformed route data, and empty parsed variants return an upstream error.
MCPツール shop_app_product_variants
/shop-app/products/{id}/variantReturns 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.
レスポンスに関する注記
- At least one selected option is required. - Complete option sets are more reliable; incomplete combinations may return not-found. - Malformed `selected_options` returns an invalid-param error before upstream IO.
MCPツール shop_app_product_variant
/shop-app/products/{id}/reviewsLists 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.
レスポンスに関する注記
- Review body, rating, author, date, and variant label are returned when present. - Blocked pages and product pages with no parsed reviews return an upstream error.
MCPツール shop_app_product_reviews
/shop-app/products/{id}/relatedLists 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.
レスポンスに関する注記
- Product cards use the same shape as search results where fields are available. - Blocked pages and product pages with no parsed related products return an upstream error.
MCPツール shop_app_product_related
/shop-app/products/{id}/shopFinds 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.
レスポンスに関する注記
- Unknown products or products without a public shop mapping return not-found errors. - Blocked pages and malformed JSON return an upstream error.
MCPツール shop_app_product_shop
/shop-app/shops/{handle}/collections/{collection_id}/productsLists 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.
レスポンスに関する注記
- Invalid `sort_by` values return invalid-param errors before upstream IO. - Blocked pages, malformed route data, and empty parsed products return an upstream error.
MCPツール shop_app_collection_products
/shop-app/shops/{handle}/locationsReturns 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.
レスポンスに関する注記
- Location id, name, coordinates, address, total count, and next cursor are returned when present. - Unknown shops return not-found errors. - Shops with no public retail locations return an upstream error.
MCPツール shop_app_shop_locations
/shop-app/shops/{handle}/reviewsLists 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.
レスポンスに関する注記
- Review body, rating, author, date, helpful count, reviewed product, total count, and next cursor are returned when present. - Unknown shops return not-found errors. - Blocked pages, malformed JSON, and responses with no parsed reviews return an upstream error.
MCPツール shop_app_shop_reviews
/shop-app/shops/{handle}/typeaheadReturns 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.
レスポンスに関する注記
- Suggestions can include terms, products, and collections. - Unknown shops return not-found errors. - Blocked pages, malformed JSON, and responses with no parsed suggestions return an upstream error.
MCPツール shop_app_shop_typeahead
マネージド実行
Crawlora wraps supported public Shop.app pages and JSON flows behind API-key protected endpoints with normalized responses, documented errors, Playground examples, and credit-based usage.
Endpoint-specific request handling for Shop.app search, product, shop, category, review, and suggestion pages
Normalized product, shop, variant, review, location, and category fields where available
Validation for enum and structured option inputs before upstream IO
Documented upstream failure behavior for blocked, malformed, not-found, or empty parsed responses
Docs and Playground pages generated from the active endpoint catalog
Credit-based usage tied to backend billing weights
自社構築との比較
スクレイピングインフラを社内で維持するか、マネージドエンドポイントを呼び出すかの判断にご活用ください。
| 要件 | 自社構築 | Crawlora |
|---|---|---|
| Endpoint coverage | Maintain separate collectors for search, products, shops, collections, reviews, variants, and suggestions. | Use documented Shop.app endpoint families from one API surface. |
| Parser maintenance | Track Shop.app route data, public JSON flows, page changes, and empty-result edge cases. | Use endpoint-specific parsers maintained behind the Crawlora API. |
| Schema normalization | Design product, shop, review, variant, and category models yourself. | Receive normalized JSON examples and schemas in Docs and Playground. |
| Input validation | Validate sort options, selected options, limits, and path identifiers in every caller. | Use documented endpoint validation and structured error behavior. |
| Usage billing | Build your own metering and pricing model. | Use credit-based endpoint weights and API-key usage tracking. |
Crawlora is not the official Shop.app, Shopify, or Shop Pay API. Crawlora provides structured public web data extraction endpoints for supported public Shop.app pages and flows. If your use case requires an official Shopify API, account-scoped commerce data, checkout, orders, or merchant administration, use Shopify's official APIs. Customers are responsible for ensuring their use complies with applicable laws, third-party rights, platform terms, and Crawlora terms.
関連API
このエンドポイントを、関連するCrawloraの検索、モニタリング、ドキュメント、料金の各ページと組み合わせて活用できます。
Add Amazon product and search result monitoring to marketplace workflows.
開くCollect eBay item, search, and seller data for resale and marketplace research.
開くConnect e-commerce research with startup and launch discovery.
開くPlan product monitoring, pricing research, catalog enrichment, and review workflows.
開くUse a marketplace-specific workflow for Amazon product monitoring.
開くReview credit-based usage for Shop.app and other marketplace endpoints.
開くShop.appのスクレイピング方法
Crawlora's Shop.app endpoints are GETs over the credential-free public Shop.app web flow. Search: /shop-app/search with query, limit (up to 50), in_stock, on_sale and deep_search, /shop-app/suggestions for autocomplete and /shop-app/analysis for a market snapshot of a query (price ranges, currencies, sale counts, discounts and top shops). Products: /shop-app/products/{id} plus its related, reviews, shop, variant and variants routes. Merchants: /shop-app/shops/{handle} plus its products, collection products, reviews, locations and typeahead routes, with sort_by values MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW and RELEVANCE. /shop-app/categories lists the public categories.
GET /shop-app/search?query=<term>&limit=50&in_stock=true for product cards, or /shop-app/analysis with the same filters for the query's price range, currency mix, sale share and top shops in one call. Use deep_search when you need more than the first page of the public flow.
GET /shop-app/products/{id} for normalized detail, /shop-app/products/{id}/variants (or /variant with selected_options as a JSON object) for the option matrix, /shop-app/products/{id}/reviews for public reviews and /shop-app/products/{id}/related for the related-product rail.
GET /shop-app/products/{id}/shop resolves the merchant from a product; GET /shop-app/shops/{handle} returns the profile, /shop-app/shops/{handle}/products the catalog (sort_by MOST_SALES for what sells), /shop-app/shops/{handle}/reviews the merchant reviews and /shop-app/shops/{handle}/locations any retail locations.
GET /shop-app/suggestions?query=<prefix> for Shop.app autocomplete, /shop-app/shops/{handle}/typeahead for suggestions inside one shop, and /shop-app/categories for the public category list.
FAQ
対応する公開検索結果ページ向けにCrawloraを評価している開発者向けの回答です。
Yes. Crawlora provides Shop.app endpoints for supported public Shop.app product, shop, search, review, category, suggestion, and variant workflows.
No. Crawlora is not the official Shop.app, Shopify, or Shop Pay API. It provides structured public web data extraction endpoints for supported public Shop.app pages and flows.
The active catalog includes product search, product detail, product variants, related products, product reviews, product-to-shop lookup, shop profile, shop products, collection products, shop locations, shop reviews, shop typeahead, categories, suggestions, and query analysis where supported.
Yes, Shop.app product and search responses can support price research and monitoring where price, original price, currency, availability, and sale fields are available in the response.
Yes. The Shop.app platform includes merchant profile, shop products, collection products, location, review, and product-to-shop endpoints where public data is available.
No. Crawlora Shop.app endpoints are for supported public Shop.app data extraction. Use official Shopify APIs for account-scoped commerce, order, checkout, or merchant administration data.
Search with Crawlora's /shop-app/search endpoint, read products with /shop-app/products/{id} and its variants, reviews and related routes, and profile merchants with /shop-app/shops/{handle} and its products and reviews routes. All are GETs over the public, credential-free Shop.app flow.
A market snapshot for a query derived from the search results: price ranges, currencies, sale counts, discount levels and the top shops, with the same in_stock, on_sale and deep_search filters as search and a limit up to 50.
Yes. the /shop-app/shops/{handle}/products endpoint accepts sort_by with MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW or RELEVANCE, plus in_stock, so best-sellers per shop are one call.
Yes. Pass selected_options as a JSON object (or repeated option.Name=value filters) to the /shop-app/products/{id}/variant endpoint for the exact variant, or /shop-app/products/{id}/variants for the adjacent ones.
The endpoints read public product and merchant pages without credentials. Collecting them for research and monitoring is generally permissible when you respect Shop's terms, rate limits and applicable law.
対象企業
Shopify Inc. · SHOP
Shop.appを運営するのはShopify Inc.(SHOP)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のShop.appエンドポイントと同じAPIキーで取得できます。
カタログ内の他のShopify Inc.プラットフォーム
Guides
Read Crawlora guides and comparisons that use the Shop.app API.
Test Shop.app search in Playground, inspect the current response schema in Docs, and compare credit-based usage on the pricing page.