Shopify Scraper - Products, Prices, Variants & Stock
Pricing
from $0.42 / 1,000 products
Shopify Scraper - Products, Prices, Variants & Stock
Scrape products from a Shopify store: titles, prices, compare-at prices, variants, stock, images and tags. Shopify product scraper and catalog extractor using the store's public product JSON, with optional store analysis.
Pricing
from $0.42 / 1,000 products
Rating
0.0
(0)
Developer
CrawlKit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Extract the product catalog of a public Shopify store from its public /products.json endpoint. No API key or login is needed and no headless browser is used. Charged per product.
Features
- Product catalog extraction — titles, prices, images, variants, SKUs, stock levels, tags, vendor, product type, and timestamps.
- Automatic pagination — reads paginated
/products.jsonresponses (250 products per page) up tomaxProducts(max 10,000). - Store analysis (optional) — reads the homepage,
/meta.jsonand/collections.jsonto report the Shopify theme, about 25 common apps detected from script patterns (Klaviyo, Yotpo, Judge.me, Loox, ReCharge…), payment methods mentioned on the page (PayPal, Apple Pay, Klarna, Shop Pay…), store currency, and collection count. - Proxy handling — uses browser-like requests and Apify Proxy. If the store rate-limits or blocks a request (HTTP 429/403), the actor retries with a new proxy session, first on datacenter and then on residential proxies.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
shopUrl | string | Yes | — | URL of the Shopify store (e.g. https://store.myshopify.com or https://www.example.com) |
maxProducts | integer | No | 20 | Maximum number of products to return (1–10,000) |
includeVariants | boolean | No | true | Include per-variant details (price, SKU, stock) |
analyzeStore | boolean | No | false | Add one store analysis record (theme, apps, payments); charged as STORE_ANALYSIS |
Output Example
Product
{"title": "Classic Cotton T-Shirt","handle": "classic-cotton-t-shirt","description": "<p>Soft organic cotton tee…</p>","vendor": "BrandName","product_type": "T-Shirts","tags": ["cotton", "summer", "bestseller"],"price": 24.99,"compare_at_price": 34.99,"currency": null,"available": true,"total_inventory": 142,"images": ["https://cdn.shopify.com/s/files/1/…/shirt-front.jpg","https://cdn.shopify.com/s/files/1/…/shirt-back.jpg"],"variants": [{"title": "Small / White","price": "24.99","sku": "CCT-S-WHT","available": true,"inventory_quantity": 38}],"url": "https://store.myshopify.com/products/classic-cotton-t-shirt","created_at": "2024-03-15T10:00:00Z","updated_at": "2024-06-01T14:30:00Z","published_at": "2024-03-15T12:00:00Z"}
Store Analysis
{"_type": "store_analysis","store_url": "https://store.myshopify.com","store_name": "My Store","store_domain": "store.myshopify.com","theme_name": "Dawn","theme_id": 123456789,"currency": "USD","payment_methods": ["Shopify Payments", "PayPal", "Apple Pay", "Shop Pay"],"detected_apps": ["Klaviyo", "Judge.me", "Google Analytics"],"collections_count": 12,"products_count": 250}
Use Cases
- Competitor analysis — monitor a competitor's catalog, pricing, and installed tech stack.
- Price monitoring — track price changes across Shopify stores over time.
- Catalog backup — export your own store's product data as structured JSON.
- Market research — analyze product trends, popular apps, and pricing strategies across multiple stores.
- Lead generation — identify stores using specific apps or payment providers.
Pricing
Pay-per-event, no start fee: $0.70 per 1,000 products and $2.00 per 1,000 store analyses on the Apify Free plan, with lower prices on paid plans.
| Event | Free | Starter | Scale | Business | Enterprise |
|---|---|---|---|---|---|
Product (PRODUCT) | $0.70 | $0.59 | $0.52 | $0.42 | $0.42 |
Store analysis (STORE_ANALYSIS) | $2.00 | $1.70 | $1.50 | $1.20 | $1.20 |
Prices in USD per 1,000 events.
Cost examples (Free plan)
| Scenario | Products | Analysis | Total Cost |
|---|---|---|---|
| Quick product lookup (20 products) | 20 | No | $0.014 |
| Full store analysis | 20 | Yes | $0.016 |
| Medium catalog (500 products) | 500 | No | $0.35 |
| Full catalog + analysis (2000 products) | 2,000 | Yes | $1.40 |
Limitations
- Shopify stores only — the actor checks the platform before scraping and fails if the URL is not a Shopify storefront.
- Some stores disable or block
/products.json(or are password-protected). Those runs end FAILED with the reason in the status message (rate-limited, forbidden, or no products returned). - Some stores hide inventory quantities;
total_inventoryis then0andinventory_quantityisnull. descriptionis the product HTML truncated to 500 characters.- Currency isn't available per product (
currencyis alwaysnull); enable store analysis to get the store's default currency. - In the store analysis,
products_countcounts only the first page of/products.json(at most 250). App and payment detection relies on patterns in the homepage HTML, so apps that load nothing on the homepage won't appear.
Python 3.11, async httpx, Apify SDK. Retries with a new proxy session on rate limits and server errors.
Related Actors
- Tech Stack Detector - Website Technology Lookup — Detect the tech stack of a website: CMS, frameworks, analytics, CDN, payment and hosting technologies, from HTTP headers, HTML, scripts and cookies.
- Google Shopping Scraper - Product Prices & Sellers — Scrape Google Shopping results: product titles, prices, old prices, sellers, ratings, review counts and images in 12 countries.
- Amazon Reviews Scraper - Product Reviews & Ratings — Scrape Amazon product reviews from the product page: rating, title, text, date, verified purchase and helpful votes, plus product rating and review count.