Shop APIshop.app ↗
Access Shop.app products, merchant profiles, categories, and search via 8 endpoints. Get prices, ratings, reviews, and pagination across the full catalog.
What is the Shop API?
The Shop.app API exposes 8 endpoints covering products, merchants, categories, and search across the shop.app catalog. Use get_product_details to retrieve current and original prices, images, and merchant info for any product, or search_products to run free-text queries with cursor-based pagination. Merchant discovery is covered through autocomplete, category browsing, and direct profile lookup by handle.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/5dd62abe-8dc5-4896-99ae-78ddfd844b61/get_homepage_featured_products' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieves featured products from the shop.app homepage hero carousel. Returns up to 10 products across categories (general, beauty, fashion). No parameters needed. Each product includes basic info suitable for drilling into details via get_product_details.
No input parameters required.
{
"type": "object",
"fields": {
"products": "array of product objects with id, title, slug, category, image_url, rating, review_count"
},
"sample": {
"data": {
"products": [
{
"id": "4131300606034",
"slug": "cookware-set",
"title": "Cookware Set",
"rating": 4.8,
"category": "general",
"image_url": "https://cdn.shopify.com/s/files/1/0258/6273/3906/files/Cookware_Set.jpg",
"review_count": 39164
}
]
},
"status": "success"
}
}About the Shop API
Product and Merchant Data
The get_product_details endpoint returns a full product record: price, original_price (present when discounted), an images array, rating, review_count, and a merchant object containing the merchant's id, name, and handle. Both product_id and product_slug are required inputs, which you can obtain from get_homepage_featured_products or get_merchant_products. Merchant profiles are accessible via get_merchant_info using a handle; the response includes websiteUrl, shopifyId, defaultHandle, and a productReviewAnalytics object with totalProductReviews and averageRating.
Search and Discovery
search_products accepts a free-text query and an optional page_size (1–50), returning product records with id, title, slug, price, original_price, currencyCode, image URLs, and rating. Pagination uses an opaque end_cursor field passed as the after parameter on subsequent calls; has_next_page signals whether more results exist. The get_search_autocomplete endpoint takes a query prefix and returns both text completions (type query) and matching merchant suggestions (type shop) with id, name, handle, and rating — useful for resolving handles before calling get_merchant_info or get_merchant_products.
Category and Merchant Browsing
list_categories returns all top-level categories with Shopify GID-based id values, display name, hasChildren boolean, and a path array of GIDs. search_merchants_by_category accepts a category slug and optional filters — min_rating, max_rating, min_reviews, max_reviews — and returns paginated merchant records with id, name, handle, rating, review_count, and website_url. Known category slugs include women, men, beauty, home, fitness-nutrition, and baby-toddler. Each category page yields approximately 25–35 merchants.
Merchant Product Listings
get_merchant_products takes a broker_id and optional first (1–100) and after cursor, returning paginated product nodes with id, title, slug, price, originalPrice, images, and reviewAnalytics. The response also includes totalCount, hasNextPage, and endCursor for iterating through a merchant's full catalog sorted by most sales.
The Shop API is a managed, monitored endpoint for shop.app — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shop.app changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shop.app API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor price drops by comparing
pricevsoriginal_pricefields across merchant catalogs - Build a merchant discovery tool using
search_merchants_by_categoryfiltered bymin_ratingandmin_reviews - Populate product comparison pages with images, ratings, and prices from
get_product_details - Index a merchant's full product catalog by paginating
get_merchant_productswith theaftercursor - Implement search autocomplete using
get_search_autocompleteto surface merchant handles for downstream lookups - Aggregate merchant review analytics using
productReviewAnalytics.averageRatingandtotalProductReviewsfromget_merchant_info - Identify trending homepage products via
get_homepage_featured_productsand cross-reference details withget_product_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does shop.app have an official developer API?+
What does `search_merchants_by_category` return, and how does filtering work?+
id, name, handle, rating, review_count, and website_url. You can narrow results using min_rating, max_rating, min_reviews, and max_reviews parameters. Pagination is controlled by page (1-indexed) and page_size, with has_next_page indicating further results.Does the API return product inventory levels or stock status?+
How does pagination work across endpoints?+
search_products and get_merchant_products both use cursor-based pagination. Pass the end_cursor or endCursor value from a response as the after parameter in the next request. search_merchants_by_category uses page-number pagination via the page parameter instead.Are individual product reviews or review text accessible through the API?+
rating, review_count, and reviewAnalytics objects — but not individual review text, reviewer names, or review dates. You can fork this API on Parse and revise it to add an endpoint that surfaces per-review content.