Shop.app Scraper
Pricing
from $8.00 / 1,000 results
Shop.app Scraper
Shop.app Scraper extracts product data from Shop.app including category pages, keyword search results, and the public deals page. It is designed for catalog research, merchandising analysis, pricing checks, and product discovery workflows.
Pricing
from $8.00 / 1,000 results
Rating
0.0
(0)
Developer
Hypebridge
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Shop.app Scraper do?
Shop.app Scraper extracts product data from Shop.app, including category pages, keyword search results, and the public deals page. It is designed for catalog research, merchandising analysis, pricing checks, and product discovery workflows where you need structured results instead of browsing the site manually.
Why scrape Shop.app?
- Track category assortments: Pull products from categories like socks, beauty, home, or fitness to monitor what is being promoted.
- Research search demand: Run keyword searches and inspect which products surface for a term.
- Monitor deals and discounts: Capture products shown on the public deals page, including sale pricing where available.
- Enrich product records: Open product detail pages to collect descriptions, variants, options, reviews, and media.
What data can Shop.app Scraper extract?
| Field | Type | Description |
|---|---|---|
id | String | Shopify product ID |
title | String | Product title |
url | String | Canonical Shop.app product URL |
shopName | String | Merchant name |
priceAmount | String | Current price |
originalPriceAmount | String | Original price when discounted |
discountPercent | Number | Computed discount percentage |
reviewCount | Number | Review count |
description | String | Product description |
variants | Array | Variant pricing and selected options |
reviews | Array | Product review records |
sourceLabel | String | Whether the record came from a category, search, or deals page |
The Output tab contains the full schema, including images, offers, media, product warnings, and merchant metadata.
How to scrape Shop.app
- Open Shop.app Scraper in Apify.
- Add one or more category URLs, search terms, or enable the deals page.
- Set Max items to control how many products the run can collect.
- Keep Enrich with product detail enabled if you need variants, reviews, and full descriptions.
- Start the run and download the dataset as JSON, CSV, Excel, or HTML.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | [] | Shop.app category URLs to scrape |
searchTerms | Array | [] | Search terms to submit through the Shop.app search UI |
scrapeOffers | Boolean | false | Include the public deals page |
enrichProductDetail | Boolean | true | Open each product page for richer fields |
maxItems | Number | 20 | Maximum number of products to extract |
debugMode | Boolean | false | Save screenshots and HTML when requests fail |
Example input: category scrape
{"startUrls": [{ "url": "https://shop.app/categories/19/socks" }],"enrichProductDetail": true,"maxItems": 25}
Example input: search scrape
{"searchTerms": ["wrinkle free travel clothes"],"maxItems": 20}
Example input: deals scrape
{"scrapeOffers": true,"enrichProductDetail": false,"maxItems": 50}
Output
Results are stored in the Dataset tab. Each record includes both product fields and run metadata such as sourceUrl, sourceLabel, and scrapedAt.
Sample output
{"id": "6630346915889","slug": "body-wash","title": "Body Wash","url": "https://shop.app/products/6630346915889/body-wash","shopName": "SALT & STONE","priceAmount": "36.0","priceCurrency": "USD","reviewCount": 5081,"description": "A multi-benefit, refreshing gel body cleanser.","variants": [{"id": "gid://shopify/ProductVariant/39446676111409","title": "Bergamot & Hinoki / 15.2 FL OZ / 450 ML","price": { "amount": "36.0", "currencyCode": "USD" },"compareAtPrice": { "amount": null, "currencyCode": null },"availableForSale": true,"selectedOptions": [{ "name": "Scent", "value": "Bergamot & Hinoki" }],"sellingPlanAllocations": []}],"sourceUrl": "https://shop.app/categories/19/socks","sourceLabel": "CATEGORY_PRODUCTS","searchTerm": null,"scrapedAt": "2026-04-17T23:15:00.000Z","enrichError": false}
Tips
- Start with a low
maxItemsvalue when validating a new source. - Disable
enrichProductDetailif you only need fast list-level price checks. - Enable
debugModewhen diagnosing failures; screenshots and HTML are saved to the key-value store.
FAQ
Can I scrape both categories and search terms in one run?
Yes. The actor accepts both, and maxItems applies across the combined run.
What happens if a detail page fails?
The actor saves the base product record with enrichError: true instead of dropping the item entirely.
Does the actor require login?
No. It only uses public Shop.app pages and public product detail pages.
Support
- Bugs or missing fields: open an issue in the actor repository.
- Programmatic usage: use the Apify API or schedule runs directly from the Apify platform.
Disclaimer: This actor extracts publicly visible product data. You are responsible for ensuring your use complies with applicable law, the site's terms, and any privacy obligations in your jurisdiction.