WooCommerce Website Scraper avatar

WooCommerce Website Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
WooCommerce Website Scraper

WooCommerce Website Scraper

Scrape WooCommerce Site (Products + Categories + Payment Method)

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

Data Foundry

Data Foundry

Maintained by Community

Actor stats

3

Bookmarked

87

Total users

1

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Scrape any WooCommerce store's products, categories and checkout options through the store's own public Store API - with filters, sorting and pagination handled for you. No plugin, no key, no browser.

What you getBuilt for

🛍️ Products with prices, sale prices, stock and images
🗂️ Categories with ids, slugs and counts
💳 Payment methods the store accepts
🔎 Filters: category, min/max price, on sale
↕️ Sort and order exactly as the API supports
🔁 Pagination handled, with a hard limit you control

🏪 Price and assortment research across stores
🧮 Feed building for marketplaces and comparison sites
🕵️ Competitor catalogues - what they sell and at what price
📉 Sale monitoring via on_sale and price fields
🤖 LLM-ready JSON, one row per product
🔗 API, schedules, integrations via Apify

What data do I get?

One dataset record per resource, chosen with resource.

ResourceWhat you get
productsid, name, slug, permalink, sku, prices (price, regular_price, sale_price plus the raw prices object), stock, categories, tags, images, description, ratings
categoriesid, name, slug, parent, count, description, image
payment_methodsthe gateways the store advertises

How much does it cost?

Pay per event: $1.50 per 1,000 items scraped ($0.0015 each). One item is one product, category or payment method.

TaskItemsCost
One store, full catalogue1,000$1.50
100 stores, 100 products each10,000$15.00
Weekly sweep of 500 stores50,000$75.00

How do I use it?

  1. Create a free Apify account.
  2. Open WooCommerce Website Scraper in Apify Console.
  3. Add one or more store URLs to url, each as { "url": "https://example.com" }.
  4. Choose resource (products by default) and a limit for the whole run.
  5. Optionally add filters, sort, order and a proxy.
  6. Start the run and download JSON, CSV, Excel or XML.

Input

FieldTypeDescription
urlarrayStore base URLs, each as { "url": "https://..." }. The actor appends the Store API path.
proxyConfigurationobjectOptional Apify Proxy or your own proxy.
limitintegerMaximum items for the whole run, across every URL. 0 means no limit.
resourcestringproducts, categories or payment_methods.
filtersobjectcategory (ID), min_price / max_price in store currency units (e.g. "20" = $20), on_sale.
sortstringSort field supported by the Store API, e.g. price, date, popularity.
orderstringasc or desc.
{
"url": [{ "url": "https://example-store.com" }],
"resource": "products",
"limit": 500,
"filters": { "category": "12", "min_price": "20", "on_sale": true },
"sort": "price",
"order": "asc"
}

Output

{
"id": 1234,
"name": "Organic Hoodie",
"slug": "organic-hoodie",
"permalink": "https://example-store.com/product/organic-hoodie/",
"type": "simple",
"status": "publish",
"sku": "HOOD-01",
"price": "4500",
"regular_price": "5500",
"sale_price": "4500",
"prices": {
"price": "4500",
"regular_price": "5500",
"sale_price": "4500",
"currency_code": "USD",
"currency_minor_unit": 2
},
"on_sale": true,
"average_rating": "4.5",
"review_count": 20,
"images": ["https://example-store.com/wp-content/uploads/hoodie.jpg"],
"categories": ["Hoodies"],
"in_stock": true,
"stock_quantity": 10,
"stock_availability": {"text": "In stock", "class": "in-stock"},
"add_to_cart": {"minimum": 1, "maximum": 10},
"images_detailed": [{"src": "https://example-store.com/wp-content/uploads/hoodie.jpg", "alt": "Organic Hoodie"}],
"categories_detailed": [{"id": 12, "name": "Hoodies", "slug": "hoodies"}],
"tags_detailed": [],
"brands": []
}

Prices are the store's raw Store API strings in minor units: "4500" with currency_minor_unit: 2 means $45.00.

Notes and exceptions

  • Public Store API only. The actor uses the store's own public Store API, the same one its front-end calls. No consumer key or secret is needed.
  • Stores that disabled the Store API (or block REST access) are reported as failures; a run that pushes no items ends with FAILED status.
  • Price filters use the store's own units. The input is in major units ("20" = $20); the actor converts it with the store's currency_minor_unit before calling the API.
  • Multiple stores are supported. Add more entries to url; duplicates across stores are skipped and limit applies once to the whole run.
  • Transient failures are retried automatically. A URL that still fails is counted in SUMMARY.urlsFailed.
  • Hidden and draft products are not public and will not appear.
  • Variations are listed by ID in the variations field; full variation records are not fetched.
  • limit is yours to set - without it a large catalogue can produce a very large dataset.

What can I do with the data?

Price monitoring. Pull a competitor's catalogue weekly with sort: price and diff sale prices - the same job a paid repricing tool does, at $1.50 per thousand items.

Feed building. Products with permalink, images and prices map directly onto marketplace feeds.

Assortment research. categories plus counts tells you how a store organises its catalogue and where it is expanding.

FAQ

Do I need WooCommerce API keys? No. The Store API is public by design.

Does it work on stores with the Store API disabled? No - that is a store setting, and it will be reported as an error.

Can I get product reviews? Use the Review Scraper for that; this actor covers catalogue data.

How do I scrape several stores? Add each store to url. The actor dedupes rows and applies limit to the whole run.

What do the price filters expect? Store currency units: "20" means $20. The actor converts to the store's minor units internally.

Changelog

  • 2.4 - major-unit price filters, proxy support, faster and more resilient scraping, honest FAILED status.
  • 2.3 - related actors, store copy.
  • 2.2 - pagination fix and a global limit.
  • 0.1 - First release.
⌂ 换网址