{
  "openapi": "3.0.1",
  "info": {
    "title": "WooCommerce Marketplace Scraper: Prices, Ratings & Quality Data",
    "description": "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.",
    "version": "0.0",
    "x-build-id": "TcTJBDBwaTCdjERAD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~woocommerce-marketplace-extensions-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-woocommerce-marketplace-extensions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/getascraper~woocommerce-marketplace-extensions-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-woocommerce-marketplace-extensions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/getascraper~woocommerce-marketplace-extensions-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-woocommerce-marketplace-extensions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerm": {
            "title": "Search Term",
            "type": "string",
            "description": "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.",
            "default": ""
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "woocommerce-extensions",
              "themes",
              "business-services",
              "_featured",
              "developed-by-woo",
              "free-extensions",
              "payment-gateways",
              "shipping-delivery-and-fulfillment",
              "conversion",
              "merchandising",
              "store-content-and-customizations",
              "operations",
              "marketing-extensions"
            ],
            "type": "string",
            "description": "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.",
            "default": ""
          },
          "minRating": {
            "title": "Minimum Rating",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Only return products rated at least this many stars out of 5. Leave at 0 to include unrated and low-rated products too.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum Price (USD)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "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\".",
            "default": 10000
          },
          "onSaleOnly": {
            "title": "On Sale Only",
            "type": "boolean",
            "description": "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.",
            "default": false
          },
          "subscriptionOnly": {
            "title": "Recurring Subscriptions Only",
            "type": "boolean",
            "description": "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.",
            "default": false
          },
          "qualityBadgeOnly": {
            "title": "Quality-Checked Only",
            "type": "boolean",
            "description": "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.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "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.",
            "default": {
              "useApifyProxy": true
            }
          },
          "fetchProductDetails": {
            "title": "Fetch Full Product Details",
            "type": "boolean",
            "description": "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.",
            "default": false
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "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.",
            "default": 25
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}