# Benisouk Category Scraper (`getdataforme/benisouk-category-scraper`) Actor

Effortlessly extract comprehensive product data from Benisouk's Moroccan rug catalog. Features targeted scraping of pricing, variants, images, and descriptions. Ideal for market research, price monitoring, and competitive intelligence. Scalable up to 1000 items, reliable, and user-friendly....

- **URL**: https://apify.com/getdataforme/benisouk-category-scraper.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Benisouk Category Scraper

The Benisouk Category Scraper is a powerful Apify Actor designed to extract detailed product information from the Benisouk online store, specializing in Moroccan rugs. It allows users to search for specific categories or products and retrieve comprehensive data on items, including pricing, variants, images, and more. This tool is ideal for e-commerce professionals, researchers, and businesses looking to gather accurate, up-to-date product data efficiently.

### Features

- **Targeted Scraping**: Searches and extracts products based on custom queries, ensuring relevant results from Benisouk's catalog.
- **Comprehensive Data**: Captures full product details, including variants, pricing, descriptions, images, and metadata for in-depth analysis.
- **Scalable and Efficient**: Handles up to 1000 items per run with fast execution, suitable for large-scale data collection.
- **High Reliability**: Built with robust error handling to navigate website changes and deliver consistent output.
- **Flexible Output**: Provides structured JSON data that can be easily exported to CSV, Excel, or integrated into other systems.
- **User-Friendly**: Simple input configuration with clear parameters, making it accessible for both technical and non-technical users.
- **Ethical Scraping**: Respects website terms and includes built-in delays to avoid overloading servers.

### Input Parameters

| Parameter   | Type    | Required | Description                                                                 | Example          |
|-------------|---------|----------|-----------------------------------------------------------------------------|------------------|
| searchQuery | string  | Yes      | The search term to query products on Benisouk (e.g., rug types or styles).  | "rugs"           |
| maxItems    | integer | No       | Maximum number of products to retrieve (1-1000, default 50).                | 100              |

### Example Usage

To run the Actor, provide the input in JSON format:

```json
{
  "searchQuery": "rugs",
  "maxItems": 50
}
````

Example output (array of product objects):

```json
[
  {
    "id": 10286578925849,
    "title": "Tamurt - Flatweave Moroccan runner rug",
    "handle": "tamurt-flatweave-moroccan-runner-rug",
    "vendor": "BENISOUK US",
    "product_type": "taznakht rug",
    "description": "• Custom-made for you by an extraordinary Artisan in 10-12 weeks. • Outstanding artisanal weaving from the Taznakht tribe that is unmatched worldwide. • Handmade with love from 100 % natural wool. • Lightweight and designed to withstand daily wear and tear. • Brand new piece ready to share your stories and elevate the look of your interior. • Encourage the work of more than 1000 craftswomen. • The final color and dimensions of this product may vary slightly (±5%) from the specified ones due to its handcrafted nature.",
    "url": "https://benisouk.com/products/tamurt-flatweave-moroccan-runner-rug",
    "published_at": "2026-03-03T13:27:19Z",
    "created_at": "2026-03-03T13:21:29Z",
    "updated_at": "2026-03-03T14:41:14Z",
    "price_min": 3564.62,
    "price_max": 780652.47,
    "compare_at_price_min": 260217.49,
    "compare_at_price_max": 1561304.94,
    "on_sale": true,
    "variants": [
      {
        "id": 52055342842137,
        "sku": "Tamurt-120x180",
        "title": "4x6 - 120x180 cm Custom made: 10-12 weeks",
        "price": 130108.75,
        "compare_at_price": 260217.49,
        "discount_percent": 50,
        "available": true
      },
      {
        "id": 52055342874905,
        "sku": "Tamurt-150x240",
        "title": "5x8 - 150x240 cm Custom made: 10-12 weeks",
        "price": 217442.01,
        "compare_at_price": 434884.03,
        "discount_percent": 50,
        "available": true
      },
      {
        "id": 52055342907673,
        "sku": "Tamurt-240x300",
        "title": "8x10 - 240x300 cm Custom made: 10-12 weeks",
        "price": 436666.34,
        "compare_at_price": 873332.67,
        "discount_percent": 50,
        "available": true
      },
      {
        "id": 52055342940441,
        "sku": "Tamurt-280x370",
        "title": "9x12 - 280x370 cm Custom made: 10-12 weeks",
        "price": 627373.68,
        "compare_at_price": 1254747.35,
        "discount_percent": 50,
        "available": true
      },
      {
        "id": 52055342973209,
        "sku": "Tamurt-300x430",
        "title": "10x14 - 300x430 cm Custom made: 10-12 weeks",
        "price": 780652.47,
        "compare_at_price": 1561304.94,
        "discount_percent": 50,
        "available": true
      },
      {
        "id": 52055343005977,
        "sku": "Tamurt-Custom Size",
        "title": "Custom size",
        "price": 3564.62,
        "compare_at_price": 0,
        "discount_percent": 0,
        "available": true
      }
    ],
    "skus": [
      "Tamurt-120x180",
      "Tamurt-150x240",
      "Tamurt-240x300",
      "Tamurt-280x370",
      "Tamurt-300x430",
      "Tamurt-Custom Size"
    ],
    "images": [
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-6453746.jpg?v=1772548872",
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-4646831.jpg?v=1772548872",
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-4726490.jpg?v=1772548873",
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-2102274.jpg?v=1772548873",
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-4452897.jpg?v=1772548873",
      "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-2103783.jpg?v=1772548874"
    ],
    "thumbnail": "https://cdn.shopify.com/s/files/1/0710/0265/2953/files/tamurt-flatweave-moroccan-runner-rug-benisouk-6453746.jpg?v=1772548872",
    "tags": [
      "Bleu",
      "Custom handmade rug",
      "custom made",
      "custom size",
      "Customizer Kilim",
      "extra large",
      "grand tapis",
      "Kilim",
      "Large",
      "large - 7x9 to 8x10",
      "made to order",
      "Medium",
      "medium - 5x6 to 6x9",
      "moroccan rug",
      "Moyen",
      "neutral",
      "noquantity",
      "Oversize",
      "oversize - 8x11 and up",
      "Petit",
      "pfs:label-Custom Size",
      "room: kitchen",
      "runner",
      "runner rug",
      "runners",
      "runners varied sizes",
      "Small",
      "small 2'x3' to 4'x6'",
      "style: flatweave",
      "Sur-mesure \"EXCLUSIF\"",
      "tapis-kilim-sur-mesure",
      "tribe: taznakht kilim",
      "2x3-4x6 ft / 60x90-120x180 cm",
      "5x6-6x9 ft / 150x180-180x274 cm",
      "7x9-8x10 ft / 214x274-245x304 cm",
      "8x10 and up/ 245x304 cm and up"
    ],
    "collections": [
      "Moroccan Runner rug",
      "Bestseller Moroccan Rugs",
      "Custom Moroccan Rugs",
      "Custom Kilim Rugs",
      "All Products",
      "Lozenge",
      "Weaving - Wool Rug",
      "Moroccan Rug",
      "Brand New Rugs",
      "Flatweave Kilim Hanbal Rug",
      "Flatweave Rug",
      "solid filter",
      "Outdoor Rug",
      "Hallway Rug",
      "Best Sellers",
      "Green Moroccan Rug",
      "Solid Rug",
      "Stripes Rug"
    ],
    "style": [
      "flatweave",
      "farmhouse",
      "minimalist"
    ],
    "pattern": [
      "solid",
      "stripes"
    ],
    "color": [
      "green"
    ],
    "tribe": "taznakht",
    "pile_thickness": "flat",
    "size_range": "",
    "available": true
  }
]
```

### Use Cases

- **Market Research**: Analyze trends in Moroccan rug pricing, styles, and availability for consumer insights.
- **Competitive Intelligence**: Monitor competitors' product offerings and pricing strategies on similar platforms.
- **Price Monitoring**: Track sales, discounts, and price fluctuations to optimize purchasing or selling decisions.
- **Content Aggregation**: Build databases of product images, descriptions, and tags for e-commerce websites or catalogs.
- **Academic Research**: Study cultural artifacts like tribal rugs, including materials, craftsmanship, and regional variations.
- **Business Automation**: Automate data feeds for inventory management, marketing campaigns, or supplier negotiations.

### Installation and Usage

1. Search for "Benisouk Category Scraper" in the Apify Store.
2. Click "Try for free" or "Run".
3. Configure input parameters (e.g., searchQuery and maxItems).
4. Click "Start" to begin extraction.
5. Monitor progress in the log.
6. Export results in your preferred format (JSON, CSV, Excel).

### Output Format

The Actor outputs an array of JSON objects, each representing a product. Key fields include:

- **id**: Unique product identifier.
- **title**: Product name.
- **description**: Detailed product info.
- **price\_min/max**: Price range in currency units.
- **variants**: Array of size/price options with availability.
- **images**: URLs to product photos.
- **tags/collections**: Categorization data for filtering.
- **available**: Stock status.

Data is structured for easy parsing and integration.

### Support

For custom/simplified outputs or bug reports, please contact:

- Email: support@getdataforme.com
- Subject line: "custom support"
- Contact form: https://getdataforme.com/contact/

We're here to help you get the most out of this Actor!

***

Extract comprehensive product data from Benisouk's Moroccan rug catalog with ease. Features targeted search, detailed variants, pricing, and images for market research and e-commerce. Ideal for price monitoring, competitive analysis, and content aggregation. Start scraping today! (248 characters)

# Actor input Schema

## `searchQuery` (type: `string`):

Enter the Search Query

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

Maximum number of results to collect.

## Actor input object example

```json
{
  "searchQuery": "rugs",
  "maxItems": 50
}
```

# 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 = {
    "searchQuery": "rugs"
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/benisouk-category-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 = { "searchQuery": "rugs" }

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/benisouk-category-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "rugs"
}' |
apify call getdataforme/benisouk-category-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/benisouk-category-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Benisouk Category Scraper",
        "description": "Effortlessly extract comprehensive product data from Benisouk's Moroccan rug catalog. Features targeted scraping of pricing, variants, images, and descriptions. Ideal for market research, price monitoring, and competitive intelligence. Scalable up to 1000 items, reliable, and user-friendly....",
        "version": "0.0",
        "x-build-id": "w1iyxc4d7zCg5akqm"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~benisouk-category-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-benisouk-category-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/getdataforme~benisouk-category-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-benisouk-category-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/getdataforme~benisouk-category-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-benisouk-category-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",
                "required": [
                    "searchQuery"
                ],
                "properties": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Enter the Search Query"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of results to collect.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
