Scrape products, variants and prices from a Shopify store
Export products of a Shopify store with price, discount, variants and stock. Each row has the title, vendor, price, compare-at price, discount percent and availability. Set onlyOnSale to get just the discounted items.
Input
Output fields
Sign up on Apify or log in
The Shopify Products JSON Scraper - Variants, Barcode, Discounts Actor is ready to run with the inputs already set for "Scrape products, variants and prices from a Shopify store". Sign up or log in and you'll land in Apify Console with a copy of this exact task.
Start the "Scrape products, variants and prices from a Shopify store" task
The Shopify Products JSON Scraper - Variants, Barcode, Discounts Actor will start running based on the input automatically. You can also change all the input fields, like shopify store urls, max products per store, and more, to match your specific use case.
Receive the "Scrape products, variants and prices from a Shopify store" output
Monitor the progress in real time. You will be notified as soon as your dataset is complete and ready for review. Each result includes data such as title, vendor, product type, and more.
Integrate into your workflow
The final output is delivered in JSON, CSV, or Excel format, ready to be plugged into your workflow. You can also run the "Scrape products, variants and prices from a Shopify store" task via API.

Integrate "Scrape products, variants and prices from a Shopify store" into your workflow
Connect "Scrape products, variants and prices from a Shopify store" with 100+ integrations, or run it via API or MCP.
Webhook
n8n
Make
Zapier
Airbyte
Keboola
IFTTT
Hubspot
GDrive
Gmail
Apify MCP
GitHub
Slack
LangChain
LlamaIndex
Flowise
Pinecone
OpenAI
Mastra
Clay
You pay per result: $0.0015 per result on the Free plan (about $1.50 per 1,000). Paid Apify plans get lower tiered prices.
Edit storeUrls (store or collection URLs), onlyOnSale, onlyAvailable, oneRowPerVariant and maxProductsPerStore.
Yes. Add this task to an Apify Schedule (for example daily) and read the dataset after each run. This task has no only-new switch, so each run returns the full result for your input.