WooCommerce Product Scraper | $0.90/1K | Shopify CSV Export avatar

WooCommerce Product Scraper | $0.90/1K | Shopify CSV Export

Pricing

from $0.90 / 1,000 product scrapeds

Go to Apify Store
WooCommerce Product Scraper | $0.90/1K | Shopify CSV Export

WooCommerce Product Scraper | $0.90/1K | Shopify CSV Export

Scrape any WooCommerce catalog via the public Store API. Full variant prices, reviews text, related products, discount %, product intelligence score. Export to Shopify CSV (migration) or Google Merchant feed. $0.0009 per product ($0.90 per 1,000).

Pricing

from $0.90 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 hours ago

Last modified

Share

WooCommerce Product Scraper | Catalog Snapshot, Variants, Reviews, Shopify CSV & Google Merchant Export

Scrape any WooCommerce-powered store in real-time via the public Store API. Now with catalog snapshot mode (one aggregate record per store), brand auto-extraction, auto-categorization (apparel/electronics/beauty/...), new-arrival detection, popularity ranking, live FX conversion, full variant prices, review text, discount %, product intelligence score, and direct export to Shopify CSV (for store migration), Google Merchant feed (for Google Shopping), or custom CSV (you pick the columns).

WooCommerce powers ~30% of all online stores worldwide — millions of shops are reachable with this single actor.

✨ Why this is different

  • Direct JSON API — 10–100× faster than browser scraping
  • 🎯 Exact structured data — no AI guessing, no hallucinations
  • 📦 Full catalog pagination — up to 10,000 products per run
  • 🧬 Real variant prices (when enrichVariants is on)
  • 💬 Review text + reviewer info (optional)
  • 💰 Auto-computed discountPct per product
  • 🏷️ Brand auto-extraction from attributes/meta
  • 📂 Auto-categorization — apparel / electronics / beauty / home / food / etc
  • 🆕 isNewArrival flag for products added in last 30 days
  • 🔝 popularityRank within-store bestseller ranking
  • 💱 Live FX conversion (convertToCurrency: "USD")
  • 🧠 Product intelligence score (0-100)
  • 📊 Catalog snapshot mode — one aggregate record per store
  • 🔄 WooCommerce → Shopify migration (exportFormat: "shopify-csv")
  • 📢 Google Shopping feed generator (exportFormat: "google-merchant")
  • 📋 Custom CSV — pick exactly which columns you want
  • 🔒 Zero antibot — Store API is public by design

Works on

Any store built on WooCommerce — ~30% of all online stores:

  • WordPress + WooCommerce sites of any theme (Astra, OceanWP, Kadence, Storefront, Divi)
  • WooCommerce Marketplace and any third-party themes
  • Subscription, multilingual (WPML), variable-product stores

Not sure if a site is WooCommerce? Try <store>/wp-json/wc/store/v1/products?per_page=1. JSON response → it works.

📦 Input

Scrape entire catalog with full variant prices

{
"storeUrls": ["https://store.com"],
"maxProducts": 500,
"enrichVariants": true
}

Migrate WooCommerce → Shopify

{
"storeUrls": ["https://my-old-store.com"],
"maxProducts": 0,
"exportFormat": "shopify-csv-only"
}

Result: every dataset row already has Shopify-CSV columns (Handle, Title, Body (HTML), Variant SKU, Variant Price, Variant Compare At Price, Image Src, SEO Title, ...). Export the dataset as CSV and import directly into Shopify.

Generate Google Shopping feed

{
"storeUrls": ["https://store.com"],
"exportFormat": "google-merchant-only",
"onlyInStock": true
}

Each row contains id, title, link, image_link, availability, price, brand, condition, product_type — drop into Google Merchant Center.

Catalog snapshot — competitor monitoring at scale ⭐

{
"storeUrls": [
"https://competitor1.com",
"https://competitor2.com",
"https://competitor3.com"
],
"exportFormat": "catalog-snapshot",
"maxProducts": 0
}

Returns one aggregate record per store with full intel:

  • Total product count, price ranges, AOV estimate
  • % on sale, average discount %, in-stock %
  • New arrivals in last 30 days
  • Top 10 brands with product counts
  • Category distribution (apparel/electronics/beauty/...)
  • Catalog-wide review aggregates
  • Top-3 most-reviewed products
  • Average product intelligence score

100 competitor stores → 100 rows. Perfect for weekly competitive dashboards.

Custom CSV — pick your columns

{
"storeUrls": ["https://store.com"],
"exportFormat": "custom-csv",
"customColumns": "productId,title,brand,price,priceUsd,inStock,popularityRank,autoCategory,isNewArrival",
"convertToCurrency": "USD"
}

Multi-currency price normalization

{
"storeUrls": [
"https://uk-store.com",
"https://eu-store.com",
"https://us-store.com"
],
"convertToCurrency": "USD"
}

Each product gets priceUsd field with live FX-converted price for fair cross-store comparison.

Scrape products with full variant + review text

{
"storeUrls": ["https://store.com"],
"maxProducts": 100,
"flattenVariants": true,
"extractReviewsText": true,
"reviewsPerProduct": 10
}

Filter by category and stock

{
"storeUrls": ["https://store.com"],
"category": "hoodies",
"onlyInStock": true,
"maxProducts": 200
}

Competitive analysis — multiple stores at once

{
"storeUrls": [
"https://store1.com",
"https://store2.com",
"https://store3.com"
],
"maxProducts": 100,
"maxConcurrency": 3
}

Input parameters

FieldTypeDefaultDescription
storeUrlsstring[]requiredStore domains, product URLs, or bare domains
maxProductsint250Limit per store (0 = unlimited)
perPageint100Products per API page (WC max: 100)
flattenVariantsboolfalseOne row per variant. Auto-enables enrichVariants
enrichVariantsboolfalseSecond API call per product → full variant prices + related_ids
extractReviewsTextboolfalsePull review text per product
reviewsPerProductint5Reviews to fetch per product
exportFormatstringdefaultdefault, shopify-csv, shopify-csv-only, google-merchant, google-merchant-only, custom-csv, catalog-snapshot
customColumnsstring""Comma-separated columns when exportFormat: "custom-csv"
convertToCurrencystring""ISO code (USD/EUR/GBP) — adds priceXxx field with live FX conversion
onlyInStockboolfalseSkip out-of-stock products
categorystring""Category slug filter
extractTitle ... extractVariationsbooltrueToggle individual fields
maxConcurrencyint3Parallel store fetches
timeoutint30HTTP timeout per request (seconds)

📖 Output (default JSON format)

{
"success": true,
"productId": 18734006539864,
"productUrl": "https://store.com/product/awesome-hoodie/",
"slug": "awesome-hoodie",
"title": "Awesome Hoodie",
"shortDescription": "Premium organic cotton hoodie. Made in Portugal.",
"description": "Our flagship hoodie, hand-crafted from 100% organic cotton...",
"price": "59.00",
"regularPrice": "79.00",
"salePrice": "59.00",
"currency": "USD",
"priceUsd": 59.00,
"onSale": true,
"discountPct": 25.3,
"sku": "HOOD-001",
"brand": "ApiVault Apparel",
"autoCategory": "apparel",
"isNewArrival": true,
"dateCreated": "2026-05-12T14:30:00",
"popularityRank": 3,
"images": "https://store.com/img/hood-1.jpg, https://store.com/img/hood-2.jpg",
"mainImage": "https://store.com/img/hood-1.jpg",
"imagesCount": 6,
"categories": "Apparel, Hoodies",
"categorySlugs": "apparel, hoodies",
"tags": "winter, organic, bestseller",
"attributes": "Size: [S, M, L, XL] | Color: [Black, Grey, Navy]",
"stockStatus": "in-stock",
"inStock": true,
"isPurchasable": true,
"lowStock": null,
"averageRating": 4.7,
"reviewCount": 128,
"type": "variable",
"parentId": null,
"hasOptions": true,
"addToCartUrl": "https://store.com/?add-to-cart=18734",
"variationsCount": 12,
"relatedProductIds": "18735, 18736, 18737",
"productIntelligenceScore": 87,
"variations": [
{
"variant_id": 18741,
"sku": "HOOD-001-S-BLK",
"name": "Awesome Hoodie - S, Black",
"price": "59.00",
"regular_price": "79.00",
"sale_price": "59.00",
"currency": "USD",
"in_stock": true,
"low_stock": null,
"attributes": "Size: S | Color: Black"
}
],
"reviews": [
{
"reviewer": "John D.",
"rating": 5,
"review_text": "Best hoodie I've ever owned. Super soft.",
"date_created": "2026-04-12T14:23:00",
"verified": true
}
]
}

📊 Output (catalog-snapshot mode)

{
"success": true,
"snapshot_type": "catalog",
"store_url": "https://competitor.com",
"domain": "competitor.com",
"product_count": 487,
"currency": "USD",
"price_min": 12.50,
"price_max": 459.00,
"price_median": 89.00,
"aov_estimate": 133.50,
"products_on_sale_pct": 32.4,
"avg_discount_pct": 18.5,
"in_stock_pct": 87.2,
"new_arrivals_30d": 42,
"new_arrivals_pct": 8.6,
"brands_count": 17,
"top_brands": [
{"brand": "Nike", "products": 89},
{"brand": "Adidas", "products": 64}
],
"category_distribution": [
{"category": "apparel", "count": 220},
{"category": "footwear", "count": 152},
{"category": "accessories", "count": 89}
],
"avg_images_per_product": 5.3,
"avg_intelligence_score": 68.4,
"max_intelligence_score": 95,
"premium_listings_pct": 41.2,
"total_reviews": 8453,
"catalog_avg_rating": 4.42,
"top_3_by_reviews": [
{"title": "Air Max 90", "reviewCount": 412, "averageRating": 4.7, "price": "129.99", "url": "..."}
]
}

🧠 Product Intelligence Score

A heuristic 0–100 indicating product listing quality. Computed for every product:

SignalWeight
8+ product images+20
Description ≥ 1000 chars+20
Has variations+10
Has attributes+10
Has SKU+10
Has tags + short description+10
Rating ≥ 4.0 with 5+ reviews+15
Has rating only+5
  • 70+ = premium DTC brand listing
  • 40–70 = decent mid-market
  • < 40 = thin / generic / dropshipper-style listing

💼 Use Cases

🚀 WooCommerce → Shopify Migration

Switch platforms in minutes, not weeks. Use exportFormat: "shopify-csv-only" to get a clean Shopify Product CSV directly from any WooCommerce store. Includes Handle, Title, Body, Vendor, Type, Tags, Variant SKU, Variant Price, Variant Compare At Price, Image Src, SEO Title, SEO Description, and more — all matching Shopify's official import format.

📢 Google Shopping Feed Generation

Set exportFormat: "google-merchant-only" to produce a feed compliant with Google Merchant Center. Each row has id, title, description, link, image_link, availability, price, brand, condition, product_type. Pipe directly into your ad platform.

🏪 Dropshipping & Reseller Research

Pull entire WooCommerce-store catalogs in seconds. Filter productIntelligenceScore > 70 to find premium stores worth reselling, or < 30 to spot generic/copycat catalogs.

📊 Competitive Intelligence

Diff your catalog vs. competitor WooCommerce stores. Spot new product launches, price drops, restocks. The relatedProductIds field reveals their cross-sell strategy.

🏷️ Price Monitoring & MAP Enforcement

Track pricing on retailers hosting your products. discountPct flags MAP violations automatically.

🛠️ Catalog Migration & Backup

Export any WooCommerce store to JSON or CSV. Feed your custom store, marketplace listing, or affiliate site.

🧬 Product Research

Analyze product attribute trends across a niche. Aggregate categories, attributes, productIntelligenceScore distributions to understand market positioning.

💰 Pricing

VolumeCost
1 product$0.0009
100 products$0.09
1,000 products$0.90
10,000 products$9.00

No subscriptions, no hidden fees. Pay only for products successfully fetched.

🔧 How It Works

WooCommerce 4.7+ stores expose /wp-json/wc/store/v1/products by default:

  1. Listing endpoint — paginates the catalog at ?per_page=100&page=N
  2. Detail endpoint (when enrichVariants on)/products/{id} for full variant data + related_ids
  3. Reviews endpoint (when extractReviewsText on)/products/reviews?product_id={id}

All endpoints are public, official WooCommerce REST APIs. No anti-bot risk, no proxies needed.

Speed:

  • Default mode: ~1 second per 100 products (10K products ≈ 60 seconds)
  • With enrichVariants: ~0.3 seconds per extra product (100 products ≈ +30 seconds)
  • With extractReviewsText: ~0.3 seconds per extra product

Reliability: 100% — Store API is an official WooCommerce endpoint. Some stores disable it via security plugins; if so, you get a 404 and the actor skips cleanly.

❓ FAQ

Q: Do I need any keys, plugins or cookies? A: No. The Store API is public by default in modern WooCommerce.

Q: How is the variant pricing extracted? A: Listing endpoint returns variation IDs only. Set enrichVariants: true (or use flattenVariants) — the actor then makes one extra call per product to /products/{id} for full variant prices, stock, and attribute values.

Q: Are variant prices in cents? A: WooCommerce's API uses minor units. The actor auto-formats to decimal strings (e.g. 59.00, not 5900).

Q: Can I use the Shopify CSV output directly? A: Yes. Set exportFormat: "shopify-csv-only", run, then export the dataset as CSV and import via Shopify Admin → Products → Import. Note: review images and pricing before importing into a live store.

Q: How accurate is productIntelligenceScore? A: It's a heuristic, not a perfect signal. Use it as a filter to surface premium listings or flag thin ones. Always sanity-check on a sample.

Q: What if a store has the Store API disabled? A: You'll get 0 products and an HTTP 404 in the log. We don't fall back to scraping (would defeat the speed advantage). Consider Shopify Store Analyzer if the store turns out to be Shopify.

📞 Support

Issues, feature requests, or custom data fields? Reach out via Apify messaging or the actor's page.