# WooCommerce Marketplace Scraper: Prices, Ratings & Quality Data (`getascraper/woocommerce-marketplace-extensions-scraper`) Actor

Scrape the official woocommerce.com Marketplace: extensions, themes, and business services with pricing tiers, star ratings, vendor identity, and WooCommerce's own quality and security badges. Filter by rating, price, sale status, subscriptions, and quality checks. No login. $3.50/1,000 results.

- **URL**: https://apify.com/getascraper/woocommerce-marketplace-extensions-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.63 / 1,000 product records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🧩 WooCommerce Marketplace Extensions Scraper: Pricing, Ratings & Vendor Data

<table width="100%" style="width:100%;border-collapse:collapse">
<tr style="width:100%">
<td style="background:#7f54b3;border-radius:10px;padding:28px;text-align:center" colspan="1">
<span style="color:#ffffff;font-size:22px;font-weight:700">The official WooCommerce Marketplace, turned into structured data</span><br/>
<span style="color:#eee0f9;font-size:15px">Pricing, ratings, vendors, and compatibility for every extension, theme, and business service, no login required.</span>
</td>
</tr>
</table>

<table width="100%" style="width:100%;border-collapse:collapse;margin-top:16px">
<tr style="width:100%">
<td width="25%" style="background:#f6f1fb;border:1px solid #e3d7f4;border-radius:8px;padding:16px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">📚 Full catalog reach</strong><br/>
<span style="color:#333">Every extension, theme, and business service in one dataset, around 1,500 listings.</span>
</td>
<td width="25%" style="background:#f6f1fb;border:1px solid #e3d7f4;border-radius:8px;padding:16px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">💲 Real pricing data</strong><br/>
<span style="color:#333">Current price, regular price, sale status, and billing period for every product.</span>
</td>
<td width="25%" style="background:#f6f1fb;border:1px solid #e3d7f4;border-radius:8px;padding:16px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">⭐ Trust signals</strong><br/>
<span style="color:#333">Star ratings, review counts, and Woo's own quality and security badges.</span>
</td>
<td width="25%" style="background:#f6f1fb;border:1px solid #e3d7f4;border-radius:8px;padding:16px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">🔧 Compatibility at a glance</strong><br/>
<span style="color:#333">Required WooCommerce, WordPress and PHP versions, HPOS and blocks support.</span>
</td>
</tr>
</table>

### 🔍 What does WooCommerce Marketplace Extensions Scraper do?

**WooCommerce Marketplace Extensions Scraper reads the official [woocommerce.com Marketplace](https://woocommerce.com/products/)**, the same catalog that powers the "Add Extensions" screen inside every WooCommerce store, and turns it into structured, downloadable data. It covers all three listing types Woo sells: extensions, themes, and business services, with pricing, ratings, vendor identity, and compatibility details for each one.

Search by keyword, filter by category, or leave both blank to pull the full catalog. No account, login, or API key needed on either your side or WooCommerce's.

### 🤔 Why use WooCommerce Marketplace Extensions Scraper?

No other Actor on the Apify Store covers WooCommerce's own paid Marketplace. The closest actors scrape the free WordPress.org plugin directory instead, a completely different site that only tracks install counts, downloads, and version numbers. None of them touch pricing tiers, vendor identity, or Woo's quality and security badges, because that data simply doesn't exist on WordPress.org.

- **"I'm comparing five shipping extensions for a client build and need the numbers before lunch."** Agencies and freelance developers pull pricing, ratings, and compatibility for a whole category in one run instead of opening product pages one by one.
- **"I want to see how competitors price and badge their extensions before I set mine."** Plugin and theme vendors benchmark rivals' pricing tiers, review scores, and quality badges directly.
- **"My clients keep asking which extension is actually worth paying for."** E-commerce consultants build side-by-side comparisons backed by real ratings and review counts, not guesswork.
- **"WooCommerce was the one software marketplace missing from our dataset."** Data and AI teams building software-marketplace or plugin-ecosystem datasets fill the WooCommerce-shaped gap in one run.

### 🚀 How to use WooCommerce Marketplace Extensions Scraper

<table width="100%" style="width:100%;border-collapse:collapse;margin:12px 0">
<tr style="width:100%">
<td width="33%" style="background:#faf8fd;border:1px solid #e3d7f4;border-radius:8px;padding:14px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">1. Set your filters</strong><br/>
<span style="color:#333">Pick a search term, a category, or leave both blank to browse everything.</span>
</td>
<td width="33%" style="background:#faf8fd;border:1px solid #e3d7f4;border-radius:8px;padding:14px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">2. Run the Actor</strong><br/>
<span style="color:#333">It reads the Marketplace catalog directly. No login, no browser wait.</span>
</td>
<td width="33%" style="background:#faf8fd;border:1px solid #e3d7f4;border-radius:8px;padding:14px;text-align:center;vertical-align:top">
<strong style="color:#4a2e73">3. Export your data</strong><br/>
<span style="color:#333">Download as JSON, CSV, or Excel, or connect it to your own pipeline.</span>
</td>
</tr>
</table>

1. Click **Try for free** and open the Input tab.
2. Optionally set a **Search Term** (e.g. "shipping") or pick a **Category** (Themes, Business services, Official payments, and more).
3. Turn on **Fetch Full Product Details** if you want version requirements, compatibility flags, and security badges too.
4. Set **Max Items** and click **Start**. Results land in the Output tab as they're collected.

### 📥 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `searchTerm` | string | No | Free-text search across product titles and descriptions, e.g. "shipping" or "subscriptions". Leave blank to browse the full catalog. |
| `category` | enum | No | Limit results to one Marketplace category (Featured, Free, Official payments, Themes, Business services, and more) or leave blank for everything. |
| `minRating` | integer | No | Only return products rated at least this many stars out of 5. |
| `maxPrice` | integer | No | Only return products priced at or below this amount, in USD. Set to 0 for free products only. |
| `onSaleOnly` | boolean | No | Only return products currently marked on sale. |
| `subscriptionOnly` | boolean | No | Only return products billed on a recurring schedule, for finding SaaS-style extensions rather than one-time purchases. |
| `qualityBadgeOnly` | boolean | No | Only return products that have passed WooCommerce's own quality and security review. |
| `proxyConfiguration` | object | No | Proxy settings. Defaults to Apify's standard proxy, which is all this target needs. |
| `fetchProductDetails` | boolean | No | When on, fetches each product's own page for version requirements, compatibility flags, quality and security badges, and the full rating breakdown. Adds time and cost per run. |
| `maxItems` | integer | No | Maximum number of products to return. The Marketplace lists around 1,500 products in total. |

### 📤 Output

Each item in the dataset looks like this:

```json
{
  "id": 1442927,
  "title": "Google Analytics for WooCommerce",
  "slug": "woocommerce-google-analytics-integration",
  "productType": "extension",
  "url": "https://woocommerce.com/products/woocommerce-google-analytics/",
  "excerpt": "Understand your customers and increase revenue with the world's leading analytics platform, integrated with WooCommerce for free.",
  "iconUrl": "https://woocommerce.com/wp-content/uploads/2016/01/icon-GoogleAnalytics_160x160.png",
  "vendorName": "Woo",
  "vendorUrl": "https://woocommerce.com/vendor/woocommerce/",
  "currency": "USD",
  "price": 0,
  "regularPrice": 0,
  "isOnSale": false,
  "rating": 4.3,
  "reviewsCount": 53,
  "hasQualityBadge": true,
  "isInstallable": false,
  "requiresWp": "7.0",
  "requiresWc": "10.9",
  "supportsHpos": true,
  "supportsCartCheckoutBlocks": true,
  "qualityBadges": ["self_vulnerability_check", "malware_scanner_check", "jetpack_scan_check"],
  "scrapedAt": "2026-09-28T10:15:00.000Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `id` | integer | The product's internal Marketplace ID. |
| `title` | string | Product name. |
| `slug` | string | URL-friendly product identifier. |
| `productType` | string | `extension`, `theme`, or `business-service`. |
| `url` | string | Link to the product's page on woocommerce.com. |
| `excerpt` | string | Short product description. |
| `iconUrl` / `imageUrl` | string | Product icon and preview image, when available. |
| `vendorName` / `vendorUrl` | string | The developer or company behind the product. |
| `currency` | string | Currency code for the price fields. |
| `price` / `regularPrice` | number | Current and non-discounted price. |
| `isOnSale` | boolean | Whether the product is currently discounted. |
| `billingPeriod` / `billingPeriodInterval` | string / integer | Subscription billing cadence, when the product is a subscription rather than a one-time purchase. |
| `freemiumType` | string | Freemium model, when the vendor discloses one. |
| `rating` / `reviewsCount` | number / integer | Average star rating and total number of reviews. |
| `hasQualityBadge` | boolean | Whether Woo has marked this product "Excellence verified". |
| `isInstallable` | boolean | Whether the product can be installed directly from a connected store. |
| `requiresWp` / `requiresWc` / `phpVersion` | string | Minimum WordPress, WooCommerce, and PHP versions required. *(detail fetch only)* |
| `wpTestedTo` / `wcTestedTo` | string | Latest WordPress and WooCommerce versions the product was tested against. *(detail fetch only)* |
| `supportsHpos` / `supportsCartCheckoutBlocks` | boolean | Compatibility with WooCommerce's high-performance order storage and block-based checkout. *(detail fetch only)* |
| `qualityBadges` | array | List of quality and security checks the product has passed. *(detail fetch only)* |
| `ratingBreakdown` | array | Percentage of reviews at each star level. *(detail fetch only)* |
| `countries` / `languages` | array | Supported countries and languages, when the vendor discloses them. *(detail fetch only)* |
| `scrapedAt` | string | Timestamp of when the item was collected. |

### 💰 Pricing

WooCommerce Marketplace Extensions Scraper uses Apify's pay-per-result pricing. You only pay for the products actually returned, an empty run costs nothing, and there's no subscription to manage.

Free plan runs are limited to 25 products per run, 3 runs per day, and a short wait between runs. Upgrade to a paid Apify plan to remove these limits.

### ⭐ Enjoying WooCommerce Marketplace Extensions Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="background:#f6f1fb;border:1px solid #e3d7f4;border-radius:8px;padding:16px;text-align:center">
<span style="color:#4a2e73;font-size:15px">If this Actor saved you time, a quick rating helps other WooCommerce builders find it. ⭐⭐⭐⭐⭐</span>
</td>
</tr>
</table>

### 🛠️ Tips or advanced options

- Leave **Search Term** and **Category** both blank to page through the entire Marketplace over multiple runs by raising **Max Items**.
- Keep **Fetch Full Product Details** off for a fast pricing/ratings sweep; turn it on only when you need compatibility or security-badge data, since it adds one request per product.
- Combine a **Category** filter (like "Themes") with a high **Max Items** to build a complete, category-specific comparison sheet in one run.
- Turn on **Quality-Checked Only** to skip straight to WooCommerce's own vetted, security-reviewed extensions when you don't have time to review badges manually.
- Turn on **Recurring Subscriptions Only** to find SaaS-style extensions billed monthly or yearly instead of one-time purchases.
- Combine **Minimum Rating** and **Maximum Price** to shortlist well-reviewed extensions that fit a client budget without post-processing the dataset yourself.

### ❓ FAQ

**Does this need a WooCommerce store or a login?**
No. It reads WooCommerce's own public Marketplace catalog directly. You don't need a store, an account, or an API key.

**Does it cover free extensions too?**
Yes. Free and paid extensions, themes, and business services are all included; free products simply show a price of 0.

**Can I search for a specific type of extension, like shipping or payments?**
Yes, use the **Search Term** field for keyword search, or the **Category** filter for browsing by type, including dedicated Themes and Business services categories.

**Is this legal?**
This Actor reads publicly available product listing pages that require no login, using the same public interface WooCommerce's own dashboard uses. It does not access any private, paywalled, or authenticated data. Always review the target site's terms before large-scale or commercial use, and reach out via the Issues tab with any questions.

### 🔗 Other actors

- [Ceneo Scraper Porównanie Cen: Prices & Offers](https://apify.com/getascraper/ceneo-product-scraper) ↗ - tracks prices and offers on Poland's Ceneo comparison marketplace.
- [11st products crawler: Korean marketplace pricing in KRW](https://apify.com/getascraper/11st-products-crawler) ↗ - pulls product pricing from the Korean 11st marketplace.
- [Wildberries Product Scraper: Поиск товаров Вайлдберриз](https://apify.com/getascraper/wildberries-scraper) ↗ - extracts product listings from Russia's largest marketplace.
- [Google Shopping Scraper: Track Live Product Listings Across Google](https://apify.com/getascraper/google-shopping-ads-scraper) ↗ - pulls live product listings and pricing from Google Shopping.
- [Google Lens OCR API: Image to Text with a Live Standby Endpoint](https://apify.com/getascraper/google-lens-ocr) ↗ - turns images into text through a live, agent-callable endpoint.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/woocommerce-marketplace-extensions-scraper/changelog.md

# Actor input Schema

## `searchTerm` (type: `string`):

Free-text search across the WooCommerce Marketplace, matched against product titles and descriptions (for example "shipping" or "subscriptions"). Leave blank to browse the full catalog instead of searching.

## `category` (type: `string`):

Limit results to one Marketplace category or listing type. Leave blank to include all extensions, themes, and business services. Category slugs are read live from woocommerce.com, so this list may grow over time; type a custom slug here if a newer category isn't shown yet.

## `minRating` (type: `integer`):

Only return products rated at least this many stars out of 5. Leave at 0 to include unrated and low-rated products too.

## `maxPrice` (type: `integer`):

Only return products priced at or below this amount, in US dollars. Set to 0 to return free products only. Leave at the default to include every price point; no product on the Marketplace costs anywhere near this much, so it is an effective "no limit".

## `onSaleOnly` (type: `boolean`):

Only return products currently marked on sale (regular price discounted to the listed price). Off by default to include all products regardless of sale status.

## `subscriptionOnly` (type: `boolean`):

Only return products billed on a recurring schedule (monthly or yearly), excluding one-time-purchase and free products. Useful for finding SaaS-style extensions rather than single-purchase plugins.

## `qualityBadgeOnly` (type: `boolean`):

Only return products that have passed WooCommerce's own quality and security review (the badge shown on vetted listings). Useful for buyers who only want to consider vendor-reviewed extensions.

## `proxyConfiguration` (type: `object`):

The Marketplace's search and product pages are public and showed no anti-bot or rate-limit challenges during testing, so Apify's datacenter proxy group is enough. Only switch to residential if you start seeing blocked or empty responses.

## `fetchProductDetails` (type: `boolean`):

When enabled, opens each product's own page for fields the search results don't include: required WooCommerce/WordPress/PHP versions, HPOS and cart-and-checkout-blocks compatibility, quality and security badges (vulnerability, malware and code-standards checks), the star-rating breakdown, and supported countries and languages. No existing WordPress.org plugin-directory scraper on Apify covers this data, since it only exists on WooCommerce's own paid Marketplace. Adds one extra request per product, so runs take longer and cost more.

## `maxItems` (type: `integer`):

Maximum number of products to return. The Marketplace lists roughly 1,500 products in total across extensions, themes and business services, so raise this to page through more of the catalog; keep it low for a quick sample.

## Actor input object example

```json
{
  "searchTerm": "",
  "category": "",
  "minRating": 0,
  "maxPrice": 10000,
  "onSaleOnly": false,
  "subscriptionOnly": false,
  "qualityBadgeOnly": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "fetchProductDetails": false,
  "maxItems": 25
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerm": "",
    "category": "",
    "minRating": 0,
    "maxPrice": 10000,
    "onSaleOnly": false,
    "subscriptionOnly": false,
    "qualityBadgeOnly": false,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "fetchProductDetails": false,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/woocommerce-marketplace-extensions-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchTerm": "",
    "category": "",
    "minRating": 0,
    "maxPrice": 10000,
    "onSaleOnly": False,
    "subscriptionOnly": False,
    "qualityBadgeOnly": False,
    "proxyConfiguration": { "useApifyProxy": True },
    "fetchProductDetails": False,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/woocommerce-marketplace-extensions-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerm": "",
  "category": "",
  "minRating": 0,
  "maxPrice": 10000,
  "onSaleOnly": false,
  "subscriptionOnly": false,
  "qualityBadgeOnly": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "fetchProductDetails": false,
  "maxItems": 25
}' |
apify call getascraper/woocommerce-marketplace-extensions-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/woocommerce-marketplace-extensions-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GUzJHM1ioz4QRauQs/builds/TcTJBDBwaTCdjERAD/openapi.json
