Shopify Product Scraper
Pricing
$5.00 / 1,000 per results
Shopify Product Scraper
Scrape product listings from any Shopify store. Get titles, prices, availability, images, and tags via the Shopify JSON API.
Pricing
$5.00 / 1,000 per results
Rating
0.0
(0)
Developer
Daniel Wilson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
What does Shopify Product Scraper do?
Shopify Product Scraper extracts product listings from any Shopify-powered store. It fetches titles, prices, availability, vendor info, images, and tags directly from the store's JSON API — no HTML scraping required. Just provide a store URL and get structured data in seconds.
Run it on Apify to get API access, scheduling, automatic proxy rotation, monitoring, and data export in JSON, CSV, HTML, or Excel.
Why use Shopify Product Scraper?
- Extract product catalogs — Download complete product listings from any Shopify store for market research, price monitoring, or inventory analysis.
- No scraping infrastructure — The Shopify JSON API returns clean, structured data. No need to parse HTML or handle dynamic content.
- Collection scoping — Target specific collections (e.g., "mens-shoes", "sale") to narrow results.
- Pay per result — 10 free results per run, then $0.02 per additional result. Only pay for what you use.
Use Cases
How to scrape product listings from any Shopify store
Enter the store URL (e.g., https://allbirds.com) and the scraper fetches products via the public /products.json API. No authentication needed — every Shopify store exposes this endpoint.
How to monitor competitor prices on Shopify
Schedule weekly runs of competitors stores. Compare the price and compare_at_price fields across runs to detect price changes, sales, and new product launches.
How to build a product catalog from multiple Shopify stores
Run the scraper against multiple store URLs and aggregate results. Filter by product_type or tags to categorize products. Export to CSV for import into your database.
How to track product availability on Shopify
The available boolean field tells you if a product is in stock. Schedule daily runs and track when products go in and out of stock.
How to use Shopify Product Scraper
- Enter the store URL — Provide the Shopify store's base URL, e.g.
https://allbirds.com. - (Optional) Enter a collection handle — If you want products from a specific collection, add the handle (the URL slug from
/collections/{handle}). - Set the max results — Choose how many products to scrape (up to 500).
- Run the Actor — Click "Run" and wait for results to appear in the dataset.
The Actor fetches products via the store's public /products.json API endpoint, paginates through results, and pushes each product to the output dataset.
Input
| Field | Type | Required | Description |
|---|---|---|---|
store_url | string | Yes | Shopify store URL (e.g. https://allbirds.com) |
collection | string | No | Collection handle for a subset of products |
max_results | integer | No | Max products to return (default: 50, max: 500) |
Example input:
{"store_url": "https://allbirds.com","collection": "mens-shoes","max_results": 100}
Output
Each result is a JSON object with these fields:
| Field | Type | Description |
|---|---|---|
title | string | Product title |
handle | string | Product URL slug |
url | string | Full product page URL |
price | string | Formatted price (e.g. $95.00) |
compare_at_price | string or null | Original price (if on sale) |
available | boolean | Whether the product is in stock |
vendor | string | Brand or vendor name |
product_type | string | Product category |
image_url | string or null | Main product image URL |
tags | array of strings | Product tags |
Example output:
{"title": "Wool Runner","handle": "wool-runner","url": "https://allbirds.com/products/wool-runner","price": "$95.00","compare_at_price": null,"available": true,"vendor": "Allbirds","product_type": "Shoes","image_url": "https://cdn.shopify.com/.../image.jpg","tags": ["wool", "sneakers", "sustainable"]}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the Apify Console.
nCost example: 50 products = 40 paid × $0.02 = $0.80 per run. First 10 results are free.
Pricing / Cost estimation
The first 10 results of each run are free. After that, each additional result costs $0.02 (2 cents) through Apify's pay-per-event (PPE) billing.
For a typical run of 100 products: 90 chargeable results × $0.02 = $1.80. For 500 products: 490 chargeable results × $0.02 = $9.80.
These costs are estimates — actual Apify platform fees may apply. Check the Apify pricing page for details.
Tips
- Collection handles are the URL slugs from
/collections/{handle}— navigate to a collection page on the store and copy the last segment of the URL. - Max results caps at 500. If you need more, run the Actor multiple times with different collection handles or contact us for a custom solution.
- Rate limits — Shopify stores may rate-limit public API access. The Actor uses sensible timeouts, but for large-scale scraping consider using Apify proxy.
FAQ, disclaimers, and support
Is this legal? Scraping publicly available data from e-commerce stores generally falls under legitimate data collection. However, always review the target website's Terms of Service and robots.txt. The Actor uses the public JSON API — it does not bypass authentication or access private data.
Known limitations: The Shopify public products API returns at most 250 products per page and may not include all product variants. For variant-level detail, you would need to scrape individual product pages.
Need help or a custom solution? Open an issue on the GitHub Issues tab or contact us for tailored scraping solutions.