Shopify Product Scraper: Prices, Variants & Stock avatar

Shopify Product Scraper: Prices, Variants & Stock

Pricing

from $0.60 / 1,000 product scrapeds

Go to Apify Store
Shopify Product Scraper: Prices, Variants & Stock

Shopify Product Scraper: Prices, Variants & Stock

Scrape products from any Shopify store or collection: title, vendor, type, tags, prices, compare-at prices, discount %, availability, variants, SKUs and images. Product or variant rows, in the market currency you choose. No login.

Pricing

from $0.60 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

veenkes

veenkes

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 hours ago

Last modified

Features

Limited permissions

Share

A Shopify product scraper for any public Shopify store or collection. Export the catalog with titles, vendors, types, tags, prices, compare-at prices, discount percent, availability, variants, SKUs and images — as one row per product or one row per variant, in the market currency you choose.

No Shopify admin access or login. Works with the store's public catalog (including the products.json feed when it is available).

What can this Shopify scraper do?

  • 🛍️ Any Shopify store: millions of brands such as Allbirds, Kith, ColourPop and Tentree. Paste a domain and go.
  • 🗂️ Collections: paste https://store.com/collections/sale to scrape just that collection.
  • 💲 Market-correct prices: Shopify Markets shows different prices per country. Pick US, DE, GB… and get prices with the matching currency.
  • 🏷️ Discounts: compareAtPrice and discountPercent on every product and variant. Find what's on sale in one filter.
  • 📦 Stock: available per product and per variant. Use Only in-stock items to skip sold-out stock.
  • 🔁 Monitoring-friendly: Updated since + variant rows + schedules = a cheap daily price and stock tracker.
  • 🤖 AI and spreadsheet ready: flat JSON, CSV or Excel. Works with the Apify MCP server, n8n, Make, Zapier and Google Sheets.

Use cases

  • Competitor price monitoring for e-commerce and DTC brands.
  • Product research and dropshipping: find best-sellers, new arrivals and vendors.
  • Discount and deal tracking: list every product with discountPercent > 30.
  • Catalog migration and enrichment: export titles, SKUs, options and images.
  • Market research: assortment, pricing tiers and product types across a niche.

What data do you get?

FieldExample
store, storeNamehttps://www.tentree.com, Tentree
title, handle, urlLookout Long Puffer
vendor, productType, tagstentree, Womens, ["best-sellers", …]
price, priceMax, compareAtPrice, discountPercent348, 348, null, null
currency, marketUSD, US
available, variantsCounttrue, 5
options, variantssizes, colours, SKUs, prices and stock per variant
imageUrl, imagesShopify CDN image URLs
createdAt, publishedAt, updatedAtISO dates
descriptionTextplain-text description (optional)

In variant mode every row is one variant and adds variantId, variantTitle, sku, option1-3, grams and variantUrl.

How to use it

  1. Click Try for free.
  2. Add store domains (allbirds.com) or collection URLs (https://kith.com/collections/footwear).
  3. Choose One row per product or variant, the Market country, and optional filters.
  4. Click Start and download JSON, CSV or Excel, or use the API.

Run it from the API

You can start this Actor from any language with the official Apify API client. Replace YOUR_APIFY_TOKEN with a token from Apify Console > Integrations. Never put the token in a public repo.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("veenkes/veenkes-shopify-products").call(run_input={
"stores": [
"https://colourpop.com"
],
"maxProductsPerStore": 100,
"outputLevel": "product"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('veenkes/veenkes-shopify-products').call({
"stores": [
"https://colourpop.com"
],
"maxProductsPerStore": 100,
"outputLevel": "product"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Schedule the Actor, send results to a webhook, or connect it in Zapier, Make or n8n. Store page: https://apify.com/veenkes/veenkes-shopify-products.

Use from AI agents (Apify MCP)

AI agents can run this Actor through the Apify MCP server. Connect Claude, Cursor or any MCP-compatible client to Apify, then ask the agent to call veenkes/veenkes-shopify-products with an input like the example above. The agent discovers the tool from the Actor title and description.

How much does it cost?

Pay per result: you pay for each product (or variant) row saved.

Apify plan tierPrice per 1,000 rows
FREE$1.00
BRONZE$0.80
SILVER$0.70
GOLD and above$0.60

There is also a $0.00005 start fee per run. For example, a full 2,000-product catalog costs about $1.60 at the BRONZE tier. Set Maximum cost per run to cap spending.

Input example

{
"stores": ["https://colourpop.com", "https://kith.com/collections/footwear"],
"maxProductsPerStore": 1000,
"outputLevel": "product",
"country": "US",
"onlyAvailable": true,
"updatedSince": "2026-11-01",
"includeDescription": false
}

Output example

{
"store": "https://www.tentree.com",
"storeName": "Tentree",
"productId": 8143544320186,
"title": "Lookout Long Puffer",
"url": "https://www.tentree.com/products/lookout-long-puffer-forest-pine",
"vendor": "tentree",
"productType": "Womens",
"tags": ["back-to-school", "best-sellers"],
"currency": "USD",
"market": "US",
"price": 348,
"priceMax": 348,
"compareAtPrice": null,
"discountPercent": null,
"available": true,
"variantsCount": 5,
"options": [{ "name": "Color", "values": ["FOREST PINE"] }, { "name": "Size", "values": ["XS", "S", "M", "L", "XL"] }],
"variants": [{ "id": 44905051095226, "title": "FOREST PINE / XS", "sku": "TCW3532-5590-XS", "price": 348, "compareAtPrice": null, "available": false }],
"imageUrl": "https://cdn.shopify.com/s/files/1/2341/3995/files/Green-Cloud-Shell-Long-Puffer-TCW3532-5590_11.jpg",
"updatedAt": "2026-11-12T14:01:32-07:00"
}

The key-value store record SUMMARY shows rows saved per store and flags stores that are not on Shopify, are password-protected, or block the public feed.

Tips and limitations

  • A few large stores disable the public product feed. They show up as BLOCKED_OR_PASSWORD_PROTECTED in SUMMARY, and they produce no billable rows.
  • Stock is available or sold out only. Shopify doesn't expose exact inventory counts publicly.
  • If a store rate-limits you, enable Apify Proxy in the input. The Actor also backs off and retries automatically.

Why this one?

You get both product-level and variant-level (size/colour/SKU) export, plus market-specific prices, without logging in. Pricing is pay-per-product, with descriptions optional, so catalog monitoring stays predictable.

FAQ

Is it legal to scrape Shopify stores? The Actor reads only public product information that stores show to every visitor, and collects no personal data. Check each store's terms and the laws that apply to your use.

How do I know a site runs on Shopify? Just try it: non-Shopify sites are reported as NOT_A_SHOPIFY_STORE with no billable rows.


Integrations

  • Apify API — Python and JavaScript clients (examples above), plus a REST API.
  • AI agents — run it via the Apify MCP server.
  • Automation tools — Zapier, Make, n8n, or an Apify webhook when a run finishes.
  • Export — download the dataset as JSON, CSV, Excel or XML, or load it from a scheduled run.

Open the Actor in Apify Store.

Not affiliated with or endorsed by Shopify Inc. or any store owner.