Shopify Product Scraper - Products & Reviews avatar

Shopify Product Scraper - Products & Reviews

Pricing

Pay per usage

Go to Apify Store
Shopify Product Scraper - Products & Reviews

Shopify Product Scraper - Products & Reviews

Scrape any Shopify store's products, collections, variants, and reviews. Supports Judge.me, Loox, Stamped, and Yotpo review platforms. Deep extraction with pricing, inventory, and images.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 minutes ago

Last modified

Categories

Share

Shopify Product Scraper - Products, Collections & Reviews

Extract detailed product data, variants, and customer reviews from any Shopify store. This actor goes beyond basic product scraping by also extracting reviews from popular platforms including Judge.me, Loox, Stamped, and Yotpo.

What data do you get?

For each product, the scraper extracts:

  • Product details: Title, handle, description, vendor, product type
  • Pricing: Current price, compare-at price, currency, discount percentage
  • Variants: All variants with SKU, price, inventory status, weight, option values
  • Images: All product images with alt text
  • Tags & collections: Product tags and collection membership
  • SEO metadata: Meta title, meta description, URL handle
  • Reviews (optional): Rating, author, date, title, body, verified purchase status
  • Review summary: Average rating, total review count per product
  • Timestamps: Created, updated, and published dates

Use Cases

Dropshipping Research

Find winning products by analyzing best-sellers, pricing trends, and customer sentiment across competing Shopify stores. Sort by best-selling to quickly identify top performers.

Competitor Analysis

Monitor competitor product catalogs, pricing strategies, and customer feedback. Track new product launches and price changes over time.

Price Monitoring

Build automated price tracking by running the scraper on a schedule. Compare prices across multiple stores selling similar products.

Market Research

Analyze customer reviews to understand product-market fit, common complaints, and feature requests. Use review data to identify gaps in the market.

Product Sourcing

Identify high-rated products with strong reviews for private label or wholesale opportunities. Filter by rating and review count to find proven winners.

How to use

Input example

{
"storeUrls": [
"https://gymshark.com",
"https://allbirds.com",
"https://fashionnova.com"
],
"includeReviews": true,
"maxProducts": 500,
"sortBy": "best_selling"
}

Sort options

ValueDescription
best_sellingMost popular products first (default)
price_ascCheapest products first
price_descMost expensive first
newestMost recently added
titleAlphabetical by title

Output example

{
"id": 7654321098765,
"title": "Power Leggings",
"handle": "power-leggings",
"description": "High-waisted compression leggings with side pocket...",
"vendor": "Gymshark",
"productType": "Leggings",
"tags": ["women", "leggings", "best-seller", "new-arrival"],
"price": "52.00",
"compareAtPrice": "65.00",
"discountPercent": 20,
"currency": "USD",
"available": true,
"variants": [
{
"id": 43210987654321,
"title": "XS / Black",
"price": "52.00",
"compareAtPrice": "65.00",
"sku": "GS-PL-XS-BLK",
"available": true,
"option1": "XS",
"option2": "Black",
"weight": 200,
"weightUnit": "g"
}
],
"variantCount": 24,
"options": [
{ "name": "Size", "values": ["XS", "S", "M", "L", "XL"] },
{ "name": "Color", "values": ["Black", "Navy", "Grey"] }
],
"images": [
"https://cdn.shopify.com/s/.../power-leggings-front.jpg",
"https://cdn.shopify.com/s/.../power-leggings-side.jpg"
],
"imageCount": 4,
"reviewSummary": {
"averageRating": 4.7,
"totalReviews": 1283,
"ratingDistribution": { "5": 892, "4": 241, "3": 98, "2": 32, "1": 20 }
},
"reviews": [
{
"author": "Sarah M.",
"rating": 5,
"title": "Best leggings ever!",
"body": "These are incredibly comfortable and squat-proof...",
"date": "2026-02-15",
"verified": true
}
],
"collections": ["women", "leggings", "best-sellers"],
"storeUrl": "https://gymshark.com",
"productUrl": "https://gymshark.com/products/power-leggings",
"createdAt": "2025-11-01T10:00:00Z",
"updatedAt": "2026-02-28T14:30:00Z",
"scrapedAt": "2026-03-02T12:00:00Z"
}

How it works

  1. Product Discovery: Uses Shopify's /products.json API endpoint for fast, reliable product enumeration (250 products per page, no anti-bot blocks)
  2. Collection Mapping: Fetches /collections.json to map products to their collections
  3. Review Extraction: Visits individual product pages and detects the review platform (Judge.me, Loox, Stamped, or Yotpo), then extracts reviews via their widget APIs
  4. Deduplication: Tracks product IDs to ensure no duplicates across pages
  5. Smart Pagination: Automatically paginates through all products up to your configured limit

Review platform support

PlatformDetectionExtraction
Judge.meWidget script tagJSON API (/judgeme/widgets/...)
LooxScript tag / metaWidget API
StampedScript tag / divAPI endpoint
YotpoApp key in pageReviews API
Native ShopifySPR widgetHTML parsing

Tips for best results

  • Start small: Test with maxProducts: 10 and one store URL first
  • Reviews are slower: Each product page must be visited individually for reviews. Disable includeReviews for faster runs if you only need product data
  • Use proxies: For scraping 1000+ products, enable Apify Proxy to avoid rate limiting
  • Sort strategically: Use best_selling to get the most valuable products first when using a low maxProducts limit
  • Schedule runs: Set up a recurring schedule for ongoing price and inventory monitoring

Cost estimation

With PPE pricing at $0.004 per product scraped:

ProductsCost
100$0.40
500$2.00
1,000$4.00
10,000$40.00

Limitations

  • Shopify's /products.json endpoint returns a maximum of 250 products per page
  • Some stores may restrict the products.json endpoint; the actor falls back to /collections/all/products.json
  • Review extraction requires visiting individual product pages (slower than product-only mode)
  • Private/password-protected stores are not accessible
  • Review API rate limits vary by platform

Changelog

v1.0.0 (2026-03-02)

  • Initial release
  • Product scraping via /products.json API
  • Collection mapping via /collections.json
  • Review extraction for Judge.me, Loox, Stamped, Yotpo, and native Shopify
  • Smart pagination and deduplication
  • Sort by best-selling, price, newest, or title

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/shopify-product-scraper").call(run_input={
"storeUrl": "https://example.myshopify.com",
"maxResults": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']}: {item.get('price', 'N/A')}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/shopify-product-scraper').call({
storeUrl: 'https://example.myshopify.com',
maxResults: 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));