Shopify Products Scraper
Pricing
Pay per usage
Shopify Products Scraper
Scrapes products from public Shopify stores via the /products.json endpoint. Supports multiple stores, per-source limits, round-robin concurrency, direct-first HTTP with Apify Proxy fallback, and per-host rate limiting.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Man Mohit verma
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
What does Shopify Products Scraper do?
Shopify Products Scraper collects product data from public Shopify stores in a single run. It reads each store's public products.json feed, supports multiple stores at once, and saves structured product records to an Apify dataset.
Use it to build catalogs, monitor competitors, enrich analytics pipelines, or export Shopify product data at scale.
Features
- Scrape multiple Shopify stores in one Actor run
- Set a product limit per store
- Control parallelism across stores with round-robin scheduling
- Limit requests per host to reduce rate-limit errors
- Choose between short (condensed) or full (complete Shopify JSON) output
- Optional Apify Proxy support for stores that block direct requests (disabled by default)
Input
Configure the Actor in the Input tab. Main fields:
| Field | Description |
|---|---|
websites | Required. One or more Shopify store URLs. |
limitPerSource | Maximum products to scrape per store (default: 250). |
maxConcurrency | Max parallel page requests across stores (default: 5). |
maxRequestsPerSecond | Per-host request rate limit (default: 2). Lower this if you see HTTP 429 errors. |
outputType | short for a compact schema, or full for complete product JSON. |
proxyConfiguration | Optional. Direct requests are tried first; proxy is used as fallback. |
Website examples
Simple URL list:
["https://www.allbirds.com","https://gymshark.com"]
URLs with optional source IDs (included in output as sourceId):
[{ "id": "allbirds", "url": "https://www.allbirds.com" },{ "id": "gymshark", "url": "gymshark.com" }]
Store URLs are normalized automatically. Duplicate URLs are removed.
Output
Results are saved to the default dataset. You can download them as JSON, CSV, Excel, HTML, XML, or RSS from the run's Storage tab.
The Output tab includes Short and Full views that match the outputType input setting.
Short output (outputType: "short")
Compact records for reporting and catalog overviews. Main fields include:
| Field | Description |
|---|---|
store | Store hostname |
title | Product title |
url | Product page URL |
vendor | Product vendor |
priceMin / priceMax | Variant price range |
available | Whether any variant is available |
featuredImage | Primary image URL |
tags | Product tags |
sourceId | Your optional source identifier |
Full output (outputType: "full")
Complete Shopify product objects with scrape metadata (store, sourceUrl, scrapedAt, sourceId) plus standard fields such as variants, images, and options.
Output example (short)
{"store": "www.allbirds.com","title": "Wool Runner","url": "https://www.allbirds.com/products/wool-runner","vendor": "Allbirds","priceMin": 98,"priceMax": 98,"available": true,"featuredImage": "https://cdn.shopify.com/...","tags": ["shoes", "wool"],"sourceId": "allbirds"}
Tips
- Start with a low
limitPerSourcewhen testing new stores. - If a store blocks requests, enable Apify Proxy in
proxyConfiguration. The Actor tries direct access first and switches to proxy only when needed. - Lower
maxRequestsPerSecondif you encounter rate limiting (HTTP 429). - Use
outputType: "short"for dashboards and exports; usefullwhen you need raw Shopify product structure.
Limitations
- Works with public Shopify stores that expose the standard
products.jsonendpoint. - Some stores may block scraping, return incomplete data, or require proxy access.
- This Actor scrapes product catalog data only; it does not log in to Shopify Admin.