ConvertFleet

MCP docsTools › Product Scraper

Product Scraper

product_scrape slow · returns a job E-commerce catalogues

Scrape an e-commerce store's product catalogue (WooCommerce, Shopify, or generic) including variations, paid add-ons (each add-on option returns the combined parent+add-on total), descriptions, and reviews. Supports price/category/stock filters.

When to use. Exporting a store's catalogue for price comparison, competitor pricing, feed building or catalogue migration. Handles WooCommerce, Shopify and generic stores.
Not for. Marketplaces like Amazon/eBay listings pages, or a single product page you can read with scrape_web_pages.

Parameters

NameTypeRequiredDefaultDescription
url string yes Store homepage or shop URL.
max_products integer no 50 Max products (0 = whole catalogue).
include_variations boolean no true Expand variable products into per-variant rows.
include_addons boolean no true Capture paid product add-ons (e.g. a battery bank on a UPS). Each add-on option becomes a row whose price is the combined parent+add-on total.
include_descriptions boolean no true Include product descriptions.
include_reviews boolean no true Include product reviews.
max_reviews integer no 20 Max reviews per product.
search string no Filter: only products whose name contains this text.
category string no Filter: only products whose category contains this text.
min_price number no Filter: minimum base price.
max_price number no Filter: maximum price (uses the add-on-inclusive total).
in_stock_only boolean no false Filter: only in-stock products.
on_sale_only boolean no false Filter: only on-sale products.
platform string no "auto" Force a platform or auto-detect. One of: auto, woocommerce, shopify, generic.

Returns

One row per product (or per variant/add-on when expanded).

Each row typically carries: name url price sale_price currency sku in_stock categories variant addon description rating review_count image

The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.

Call it over MCP

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "product_scrape",
    "arguments": {
      "url": "https://examplestore.com",
      "max_products": 50,
      "in_stock_only": true
    }
  }
}

Call it over the REST API

curl -X POST https://convertfleet.online/api/tool-run \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"products","params":{"url":"https://examplestore.com","max_products":50,"in_stock_only":true}}'

Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.

Related tools

JSON Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Store homepage or shop URL."
    },
    "max_products": {
      "type": "integer",
      "description": "Max products (0 = whole catalogue).",
      "default": 50
    },
    "include_variations": {
      "type": "boolean",
      "description": "Expand variable products into per-variant rows.",
      "default": true
    },
    "include_addons": {
      "type": "boolean",
      "description": "Capture paid product add-ons (e.g. a battery bank on a UPS). Each add-on option becomes a row whose price is the combined parent+add-on total.",
      "default": true
    },
    "include_descriptions": {
      "type": "boolean",
      "description": "Include product descriptions.",
      "default": true
    },
    "include_reviews": {
      "type": "boolean",
      "description": "Include product reviews.",
      "default": true
    },
    "max_reviews": {
      "type": "integer",
      "description": "Max reviews per product.",
      "default": 20
    },
    "search": {
      "type": "string",
      "description": "Filter: only products whose name contains this text."
    },
    "category": {
      "type": "string",
      "description": "Filter: only products whose category contains this text."
    },
    "min_price": {
      "type": "number",
      "description": "Filter: minimum base price."
    },
    "max_price": {
      "type": "number",
      "description": "Filter: maximum price (uses the add-on-inclusive total)."
    },
    "in_stock_only": {
      "type": "boolean",
      "description": "Filter: only in-stock products.",
      "default": false
    },
    "on_sale_only": {
      "type": "boolean",
      "description": "Filter: only on-sale products.",
      "default": false
    },
    "platform": {
      "type": "string",
      "description": "Force a platform or auto-detect.",
      "enum": [
        "auto",
        "woocommerce",
        "shopify",
        "generic"
      ],
      "default": "auto"
    }
  },
  "additionalProperties": false,
  "required": [
    "url"
  ]
}