Shopify Store Scraper - Products, Prices, Stock & Store Leads
Scrape any Shopify store: full product catalog with prices, discounts, variants, SKUs and stock, plus store profile (location, currency, theme, apps, emails, socials). Monitor mode returns only new products, price drops and stock changes. No API key.
Guide: AliExpress product research
Shopify Store Scraper - Products, Prices, Stock & Store Leads
Scrape any public Shopify store in seconds: the full product catalog with prices, compare-at prices, discounts, variants, SKUs and stock, plus a store profile for lead lists (location, currency, product count, ships-to countries, theme, detected apps, public emails and social links).
Turn on Monitor mode and schedule it: each run returns only what changed (new products, price drops, sales starting or ending, back-in-stock, out-of-stock and removed products).
No API key, no login, no browser. Fast and cheap.
What you can do with it
- Competitor price monitoring: track a rival's prices, discounts and stock every day.
- Product research and dropshipping: pull whole catalogs, vendors, product types and tags.
- Shopify store leads: check a list of domains and get the store profile, the apps it uses (Klaviyo, Judge.me, Recharge, Gorgias, Attentive...), emails and socials. Useful for agencies and Shopify app vendors.
- Back-in-stock and sale alerts: combine Monitor mode with a schedule and a webhook, Slack, email or Make/Zapier.
- AI agents (ChatGPT, Claude, Cursor via Apify MCP): "What's on sale at colourpop.com right now?" Results are compact by default.
Input
| Field | Description |
|---|---|
storeUrls |
Domains or URLs. Accepts allbirds.com, a store URL, a collection URL (/collections/sale) or a product URL (/products/handle). |
maxProductsPerStore |
Cap per store (default 100). 0 = whole catalog. |
includeProducts |
Scrape products (default on). |
includeStoreProfile |
Add one store/lead row per store (default on). |
onlyChanges |
Monitor mode: only changes since the last run. |
includeDescription |
Add product descriptions as plain text (default off). |
oneRowPerVariant |
One row per size/colour variant instead of a nested list. |
Example:
{
"storeUrls": ["allbirds.com", "https://colourpop.com/collections/lips"],
"maxProductsPerStore": 50,
"onlyChanges": false
}
Output
Product row
{
"resultType": "product",
"store": "allbirds.com",
"storeName": "Allbirds",
"title": "Men's Tree Runner - Jet Black (White Sole)",
"url": "https://allbirds.com/products/mens-tree-runners",
"vendor": "Allbirds",
"productType": "Shoes",
"price": 100.0,
"compareAtPrice": null,
"onSale": false,
"discountPercent": null,
"currency": "USD",
"available": true,
"variantsCount": 12,
"variantsAvailable": 9,
"variants": [{ "title": "8", "sku": "TR3MJBW080", "price": 100.0, "available": true }],
"image": "https://cdn.shopify.com/...",
"publishedAt": "2025-03-01T10:00:00-08:00"
}
In Monitor mode each row also has changeTypes (new, price_drop, price_increase, sale_started, sale_ended, back_in_stock, out_of_stock, removed), plus previousPrice and previousAvailable.
Store profile row
{
"resultType": "store",
"store": "colourpop.com",
"name": "ColourPop",
"city": "Oxnard",
"country": "US",
"currency": "USD",
"productsCount": 1063,
"shipsToCountriesCount": 180,
"theme": { "name": "Colourpop/Main", "schemaName": "Colourpop" },
"apps": ["Klaviyo", "Yotpo", "Okendo", "Gorgias", "Attentive", "Klarna"],
"emails": [],
"socials": { "instagram": "https://instagram.com/colourpopcosmetics", "tiktok": "https://www.tiktok.com/@colourpopco" }
}
Domains that aren't Shopify stores, or whose catalog is disabled, return a free error row, so you can also use this to check which domains run Shopify.
How Monitor mode works
The Actor saves a snapshot per store (or per collection) in a named key-value store, shopify-store-monitor. The first run returns every product as new. Later runs return only the differences. Removed products are detected when the whole catalog or collection was fetched (maxProductsPerStore: 0, or fewer products than the cap). Schedule it daily in Apify Schedules and connect a webhook or integration for alerts.
Use it from ChatGPT, Claude & AI agents
This Actor works as a tool for AI assistants through the Apify MCP server, and the inputs are designed so an agent can fill them in.
Claude (claude.ai / Desktop), ChatGPT, Cursor, VS Code, Windsurf: add the MCP server URL below as a custom connector / MCP server and sign in with your Apify account:
https://mcp.apify.com/?tools=get_anything/shopify-store-scraperClaude Desktop / Cursor config file:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com/?tools=get_anything/shopify-store-scraper" } } }Any LLM framework or GPT Action (REST): one call runs the Actor and returns the results as JSON:
POST https://api.apify.com/v2/acts/get_anything~shopify-store-scraper/run-sync-get-dataset-items?token=YOUR_TOKENNo-code: Make, Zapier, n8n, LangChain and LlamaIndex have Apify integrations.
Then just ask, for example: "What's on sale at allbirds.com right now, and which apps does the store use?"
Pricing
Pay per event: you pay per product row and per store profile. Non-Shopify domains are free. See the Pricing tab for current prices.
FAQ
Does it work on every Shopify store? It works on any store that serves the standard public /products.json feed, which is almost all of them. A few stores disable it, and you'll get a clear error row.
Do I need a proxy? Usually not. For very large or frequent runs you can enable Apify Proxy.
Is it legal? It reads only public storefront data that Shopify serves to every visitor. Don't use it to collect personal data beyond public business contacts, and follow the store's terms.
Related scrapers
Amazon Scraper - Products, Prices & Best Sellers, 21 Countries
Scrape Amazon in 21 countries (US, India, Singapore, UK, Germany, Japan, UAE...): search results, product pages and Best Sellers / New Releases / Movers & Shakers rankings. Title, ASIN, price, list price, rating, reviews. No API key.
Noon Scraper - UAE & Saudi Ecommerce Prices, Stock & Ratings
Scrape product data from Noon.com across UAE, KSA and Egypt. Search by keyword, category URL, or paste product URLs. Returns clean JSON: title, brand, price, discount, stock, rating, images and more. Built for price monitoring and competitor research.
Airbnb Scraper - Listings, Prices & Ratings
Scrape Airbnb search results for any city and dates: listing title, type, location (lat/lng), total and nightly price with discounts, rating, review count, beds, badges (Guest favorite, Superhost), free cancellation and photos. Filter by guests, price, room type, bedrooms. No login.