Shopify Product Scraper
Pricing
from $1.50 / 1,000 products
Shopify Product Scraper
Scrape every product from any Shopify store — title, price, variants, SKUs, images, tags and dates — straight from the public product feed. One row per product or per variant. No login, no browser. Perfect for price research, dropshipping and catalogue imports.
Pricing
from $1.50 / 1,000 products
Rating
0.0
(0)
Developer
Arber Lutolli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape every product from any Shopify store — no login, no browser automation, no manual work.
Give it store addresses like allbirds.com; get back a clean row for every product: title, price range, variants, SKUs, images, tags, vendor, product type and dates. Export to CSV, Excel, JSON or pull it via the API.
Perfect for dropshippers, competitor and price research, catalogue imports, market analysis and feeding product data into your own app.
What it does
For each Shopify domain you provide, the Actor:
- Reads the store's public product feed (
products.json) — the fixed address every Shopify store exposes, no login required. - Pages through the entire catalogue (or up to your limit).
- Returns a clean, structured row for every product — or, if you prefer, one row per variant (SKU-level), so each size/colour has its own price and stock status.
Headless (Hydrogen/Oxygen) stores are handled automatically via their *.myshopify.com domain. It uses plain HTTPS requests through Apify Proxy — no headless browser — so runs are fast and cheap.
Input
| Field | Meaning |
|---|---|
| Shopify store domains or URLs | One per line, e.g. allbirds.com. |
| One row per variant (SKU-level) | Off = one row per product. On = one row per variant (size/colour/SKU). |
| Include product description text | Adds a plain-text description to each row. On by default. |
| Max products per store | Cap per store. 0 = all products. |
| Stores processed at once | Concurrency. 5 is a safe default. |
| Proxy | Apify Proxy. Residential gives the best hit rate. |
Output (one row per product)
{"recordType": "product","domain": "allbirds.com","productTitle": "Men's Wool Runners","handle": "mens-wool-runners","productUrl": "https://allbirds.com/products/mens-wool-runners","vendor": "Allbirds","productType": "Shoes","tags": ["wool", "everyday"],"priceMin": 98.0,"priceMax": 110.0,"price": 98.0,"variantCount": 24,"available": true,"optionNames": ["Size", "Color"],"imageCount": 6,"image": "https://cdn.shopify.com/...","descriptionText": "Our iconic everyday shoe...","createdAt": "2020-02-01T00:00:00-05:00","updatedAt": "2026-10-18T09:12:00-04:00","publishedAt": "2020-02-03T00:00:00-05:00"}
In variant mode each row instead carries variantId, variantTitle, sku, price, compareAtPrice, available, option1/2/3, weightGrams and barcode.
Good to know
- Shopify only. Non-Shopify domains return a short
errorrow (and aren't charged). Need WooCommerce or contact/lead data too? See the Shopify & WooCommerce Store Leads Actor. - Pricing is pay-per-result: you're charged per product (or per variant row) returned.
products.jsondoesn't expose currency, socurrencyisnull— prices are in the store's own currency.
Use cases
- Competitor and price monitoring across stores.
- Dropshipping / catalogue import into your own store or app.
- Market and assortment research (what sells, at what price, in what categories).
- Feed product data into a spreadsheet, database or pricing tool.
FAQ
Can I export products from a Shopify store I don't own?
Yes. Every Shopify store exposes a public products.json feed, so you don't need admin access, a password or an app — just the store's web address.
How is this different from Shopify's built-in export? Shopify's built-in export only works for your own store, one store at a time, and large exports get emailed to you. This scrapes any store, many at once, and delivers CSV / Excel / JSON or a live API feed.
What fields do I get for each product? Title, handle, URL, vendor, product type, tags, price range, variant count, SKUs, availability, images and dates — or switch to one row per variant for full SKU-level detail.
Does it work on every Shopify store?
Most of them. Headless (Hydrogen / Oxygen) stores are handled automatically via their *.myshopify.com domain. A small share sit behind Cloudflare challenges and may not return data.
Can I track competitor prices over time? Yes — schedule the Actor to re-run and record price and stock changes across your list of stores.