MCP docs › Tools › 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.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
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"
]
}