Shopify Product Scraper - Multi-Store Export
Pricing
from $0.80 / 1,000 product scrapeds
Shopify Product Scraper - Multi-Store Export
Scrape up to 20 public Shopify product catalogs in one run. Export prices, SKUs, variants, options, and availability to CSV, Excel, or JSON—without an API key, browser, proxy, or login. Pay only $0.80 per 1,000 products; error rows are free.
Pricing
from $0.80 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Dominik Seehütter
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Shopify Multi-Store Catalog Exporter
Export public product catalogs from several Shopify storefronts in one Apify run. The Actor is deliberately narrow: product listings, prices, stock flags, options, and variants—no reviews, contacts, customers, orders, descriptions, or images.
Why use it
- Process up to 20 store domains in one run.
- Receive one predictable product record with nested variants, suitable for JSON, CSV export, scheduling, or API integration.
- Get an explicit, unbilled error record when a store is protected, is not a compatible Shopify storefront, or disallows the endpoint in
robots.txt. - No browser, login, proxy, CAPTCHA service, or anti-bot bypass.
- Exact price strings are preserved; the Actor does not silently round money.
Input
{"storeUrls": ["https://store-one.example","store-two.example"],"maxProductsPerStore": 1000,"maxConcurrency": 2,"requestDelayMillis": 500}
Only each URL's HTTPS origin is used. Duplicate domains are removed. Private/reserved network addresses, credentials, custom ports, and unsafe redirects are rejected.
Output
Each billed product record contains:
- store and product URLs
- Shopify product ID, handle, title, vendor, and product type
- availability, minimum/maximum price, variant counts
- tags and product options
- nested variants with ID, title, SKU, exact price, compare-at price, availability, options, weight, and shipping flag
- published and updated timestamps
The public feed does not label its active currency, so prices are returned exactly as the storefront supplies them without guessing a currency. Product descriptions and images are intentionally omitted.
An incompatible or disallowed store returns one error record containing storeUrl, errorCode, and errorMessage. Error records are not associated with the billable product event.
Pricing
Planned Store pricing:
- Actor start: $0.00005 (Apify's synthetic start event)
- Product: $0.0008 per saved product record
- Error records: free
In Apify monetization settings, keep apify-actor-start, remove apify-default-dataset-item, and add the custom primary event product at $0.0008. This prevents error rows from being charged.
Compliance and reliability
The Actor uses an identified user agent, reads robots.txt before the catalog endpoint, waits between pages, and processes no more than four stores concurrently. If robots.txt cannot be read, the store is skipped conservatively. HTTP 429 is reported and never bypassed.
The Actor reads only the unauthenticated public Shopify JSON storefront surface. It does not collect customer or order data and does not fall back to browser automation or proxies when a merchant restricts access.
Local development
npm installnpm testnpm run validatenpm start
Local input lives in storage/key_value_stores/default/INPUT.json. The production build is capped at 256 MB.