Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Strukturierter Output
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-Workflows
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 intelligenceRequest-Schema
Diese Parameter stammen aus dem aktiven Search Shop.app products-Katalogeintrag.
| Parameter | Typ | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|---|
| query | string | Ja | Search query | - |
| limit | integer | Nein | Maximum products, defaults to 20 and supports up to 50 | - |
| in_stock | boolean | Nein | Request in-stock products | - |
| on_sale | boolean | Nein | Request sale products | - |
| deep_search | boolean | Nein | Enable Shop.app deep search mode | - |
Beispiel-JSON
Dieses Beispiel wird aus dem aktiven Endpunktkatalog gerendert, damit die Seite mit Docs und Playground synchron bleibt.
{
"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,
"group_title": "kids' athletic sneakers"
}
],
"groups": [
{
"title": "kids' athletic sneakers",
"query": "kids' athletic sneakers",
"products_seen": 1
}
]
}
}Endpunktkatalog
/shop-app/searchSearches Shop.app product results using the credential-free public web search flow. Limit defaults to 20 and accepts values up to 50.
Hinweise zur Response
- Products are deduplicated by product id and variant id. - `groups` summarizes the Shop.app expanded product groups used to produce the flattened `products` list. - Blocked pages, malformed SSE events, and non-empty searches with no parsed products return an upstream error instead of `200 []`. Example response: ```json { "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, "group_title": "kids' athletic sneakers" } ], "groups": [ { "title": "kids' athletic sneakers", "query": "kids' athletic sneakers", "products_seen": 1 } ] } } ```
MCP-Tool shop_app_search
/shop-app/products/{id}Returns normalized public product details from Shop.app.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "product": { "id": "4596217053229", "title": "Mens Wide Fit New Balance 624V5 Black Trainers ABZORB", "shop_name": "Wide Fit Shoes UK", "price": 1076, "currency": "HKD" } } } ```
MCP-Tool shop_app_product
/shop-app/shops/{handle}Returns public Shop.app merchant profile details.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop": { "handle": "marcnolan", "name": "Marc Nolan", "rating": 4.7 } } } ```
MCP-Tool shop_app_shop
/shop-app/shops/{handle}/productsReturns public product cards from a Shop.app merchant profile. sort_by allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCE.
Hinweise zur Response
- Invalid `sort_by` values return invalid-param errors before upstream IO. - Blocked pages, malformed route data, and empty parsed products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "sort_by": "MOST_SALES", "products": [ {"id": "4796042281039", "title": "Aiden Black Leather Combat Boots", "position": 1} ] } } ```
MCP-Tool 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.
Hinweise zur Response
- `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. - Blocked pages, malformed SSE events, and non-empty searches with no parsed products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "sneakers", "products_count": 5, "groups_count": 2, "shops_count": 3, "currencies": ["USD"], "prices_by_currency": [ { "currency": "USD", "count": 5, "min": 40, "max": 100, "average": 67.5 } ], "sale_count": 2, "discounts": { "min_percent": 20, "max_percent": 50, "average_percent": 35 }, "top_shops": [ { "shop_id": "62696", "shop_name": "BILLY Footwear", "count": 2 } ], "sampled_product_ids": ["8075903107261", "7093164834901"] } } ```
MCP-Tool shop_app_analysis
/shop-app/suggestionsReturns Shop.app autocomplete suggestions. Limit defaults to 10 and supports up to 20.
Hinweise zur Response
- Suggestions can be query suggestions or shop suggestions. - Blocked pages, malformed route data, and empty parsed suggestions return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "sneakers", "limit": 2, "suggestions": [ {"text": "sneakers", "type": "query", "url": "https://shop.app/search/results?query=sneakers"} ] } } ```
MCP-Tool shop_app_suggestions
/shop-app/categoriesReturns public Shop.app product categories.
Hinweise zur Response
- Category ids are normalized from Shopify product category GIDs when present. - Blocked pages, malformed route data, and empty parsed categories return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "categories": [ {"id": "1", "name": "Women", "slug": "women", "has_children": true} ] } } ```
MCP-Tool 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.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4596217053229", "variants": [ {"id": "34761278160941", "title": "Black / 7 / 6E", "available_for_sale": true} ] } } ```
MCP-Tool 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.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4596217053229", "variant": {"id": "34761278160941", "title": "Black / 7 / 6E", "available_for_sale": true} } } ```
MCP-Tool shop_app_product_variant
/shop-app/products/{id}/reviewsReturns public product reviews from a Shop.app product page.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4596217053229", "reviews": [ {"rating": 5, "body": "Perfect fit.", "author": "Donal", "date": "December 6, 2025"} ] } } ```
MCP-Tool shop_app_product_reviews
/shop-app/products/{id}/relatedReturns related product cards from a public Shop.app product page.
Hinweise zur Response
- Product cards use the same normalized shape as search results where fields are available. - Blocked pages and product pages with no parsed related products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4596217053229", "products": [ {"id": "5176966185005", "title": "Womens Wide Fit New Balance", "position": 1} ] } } ```
MCP-Tool shop_app_product_related
/shop-app/products/{id}/shopResolves the public Shop.app merchant profile for a product id.
Hinweise zur Response
- Uses Shop.app's public product-to-shop JSON route before resolving normalized shop details. - Unknown products or products without a public shop mapping return not-found errors. - Blocked pages and malformed JSON return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4596217053229", "shop": {"id": "1084107", "handle": "n1r478fp0h", "name": "Wide Fit Shoes UK"} } } ```
MCP-Tool shop_app_product_shop
/shop-app/shops/{handle}/collections/{collection_id}/productsReturns public product cards from a Shop.app merchant collection. sort_by allowed values: MOST_SALES, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RELEVANCE.
Hinweise zur Response
- Invalid `sort_by` values return invalid-param errors before upstream IO. - Blocked pages, malformed route data, and empty parsed products return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "collection_id": "292518002767", "products": [ {"id": "1372981887055", "title": "Belmont Mahogany Leather Wingtip Combat Boots", "position": 1} ] } } ```
MCP-Tool shop_app_collection_products
/shop-app/shops/{handle}/locationsReturns public retail locations for a Shop.app merchant profile.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "locations": [ {"name": "NYC", "latitude": 40.7205232, "longitude": -73.9961032, "address": {"city": "New York", "country": "US"}} ] } } ```
MCP-Tool shop_app_shop_locations
/shop-app/shops/{handle}/reviewsReturns public reviews for a Shop.app merchant profile.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "shop_id": "186720", "reviews": [ {"rating": 5, "body": "Great shoes.", "author": "Ada", "product": {"id": "8114373328975", "title": "Solana Brown Woven Leather Backstrap Clogs"}} ], "total_count": 15015 } } ```
MCP-Tool shop_app_shop_reviews
/shop-app/shops/{handle}/typeaheadReturns public store typeahead suggestions for a Shop.app merchant profile.
Hinweise zur Response
- 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. Example response: ```json { "code": 200, "msg": "OK", "data": { "shop_handle": "marcnolan", "query": "loafer", "suggestions": [ {"type": "term", "text": "loafer", "position": 1}, {"type": "product", "text": "Odell White Leather Belgian Loafer Sneakers", "id": "7438827651151", "position": 2} ] } } ```
MCP-Tool shop_app_shop_typeahead
Managed Execution
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
Selbst bauen oder kaufen
Nutze diesen Vergleich, um zu entscheiden, ob du Scraping-Infrastruktur intern pflegst oder einen Managed-Endpunkt aufrufst.
| Anforderung | Eigenbau | 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.
Verwandte APIs
Verbinde diesen Endpunkt mit angrenzenden Crawlora-Seiten für Suche, Monitoring, Docs und Preise.
Add Amazon product and search result monitoring to marketplace workflows.
ÖffnenCollect eBay item, search, and seller data for resale and marketplace research.
ÖffnenConnect e-commerce research with startup and launch discovery.
ÖffnenPlan product monitoring, pricing research, catalog enrichment, and review workflows.
ÖffnenUse a marketplace-specific workflow for Amazon product monitoring.
ÖffnenReview credit-based usage for Shop.app and other marketplace endpoints.
ÖffnenSo scrapst du 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
Antworten für Entwickler, die Crawlora für unterstützte öffentliche Suchergebnisseiten evaluieren.
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.
Unternehmensabdeckung
Shopify Inc. · SHOP
Shop.app wird von Shopify Inc. (SHOP) betrieben. Crawloras SEC-Endpunkte nutzen dieselbe CIK dieses Unternehmens, sodass Filings, Finanzdaten, Insider-Transaktionen und 13F-Beteiligungen mit demselben API-Key wie die Shop.app-Endpunkte oben abrufbar sind.
Weitere Shopify Inc.-Plattformen im Katalog
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.