# Marionnaud Product Search Scraper (`stealth_mode/marionnaud-product-search-scraper`) Actor

Scrape product listings from Marionnaud.fr, Marionnaud.it, Marionnaud.at, and other in seconds. Collect prices, stock levels, ratings, images, variants, and 60+ product fields per item — perfect for price monitoring, competitor research, and market analysis.

- **URL**: https://apify.com/stealth\_mode/marionnaud-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Marionnaud Products Search Scraper: Extract Beauty & Fragrance Data

---

### What Is Marionnaud?

Marionnaud is a leading European beauty and fragrance retailer operating across France (marionnaud.fr), Italy (marionnaud.it), Austria (marionnaud.at) and other countries. The platform hosts thousands of products ranging from luxury perfumes and skincare to makeup and accessories. Manually collecting product data across these regional sites is inefficient — the **Marionnaud Products Search Scraper** automates the process, extracting structured data from search results with one click.

---

### Overview

The **Marionnaud Products Search Scraper** extracts product listings from Marionnaud category and search pages, capturing comprehensive product intelligence. It is designed for:

- **E-commerce analysts** tracking competitor pricing and promotions
- **Price intelligence platforms** monitoring beauty and fragrance markets
- **Market researchers** analyzing product availability and trends
- **Developers** building product databases or comparison tools
- **Retailers** conducting competitive benchmarking across European markets

Key strengths include support for multiple regional sites, configurable item limits, robust error handling via `ignore_url_failures`, and extraction of 60+ product attributes including pricing, stock, ratings, and promotional data.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "ignore_url_failures": true,
  "max_items_per_url": 200,
  "urls": [
    "https://www.marionnaud.fr/parfum/parfum-femme/eau-de-parfum/c/P0101"
  ]
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | array | Direct links to Marionnaud product search or category pages (e.g., women's perfume, skincare collections). Supports Marionnaud.fr, Marionnaud.it, Marionnaud.at, ... domains. |
| `max_items_per_url` | integer | Maximum number of products to extract per URL. Default: `20`. Recommended: up to `200` for comprehensive category scraping. |
| `ignore_url_failures` | boolean | If `true`, the scraper continues running even if individual URLs fail to load. Useful for bulk collection across multiple pages. |

> **Tip:** For fragrance categories, use higher `max_items_per_url` values (100–200) to capture seasonal collections. Regional sites may have different product selections — scrape all three domains for complete market coverage.

***

### Output Format

**Sample output**

```json
{
  "absent_in_hybris_product": false,
  "age_restricted": false,
  "allowed_on_mobile_app": false,
  "average_rating": 5.0,
  "category_name_hierarchy": "Make-up/Labbra/Gloss/undefined",
  "charity": false,
  "classifications": [],
  "code": "BP_478655",
  "default_sku": "478655",
  "digital_product": false,
  "display_only": false,
  "ean": "3348901792226",
  "egift_card": false,
  "engraving_enabled": false,
  "external": false,
  "fastlane": false,
  "gwp": false,
  "hide_promotions_and_markdown_price": false,
  "home_delivery_only": false,
  "images": [
    {
      "format": "thumbnail",
      "image_type": "PRIMARY",
      "url": "/medias/sys_master/prd-images/h5d/h5e/12488153694238/prd-front-BP_478655_195x195/prd-front-BP-478655-195x195.jpg"
    },
    {
      "format": "list",
      "image_type": "PRIMARY",
      "url": "/medias/sys_master/prd-images/h5d/h5e/12488153694238/prd-front-BP_478655_195x195/prd-front-BP-478655-195x195.jpg"
    }
  ],
  "in_stock_flag": false,
  "inactive": false,
  "inactive_in_hybris": false,
  "ioma_home_delivery_available": false,
  "is_agec": false,
  "is_coming_soon": false,
  "is_gift_wrap_available": false,
  "is_loyalty_product": false,
  "is_offline_product": false,
  "marketplace_product": false,
  "master_brand": {
    "abrand": true,
    "engraving_enabled": false,
    "hide_promotions_and_markdown_price": false,
    "hide_roundel": false,
    "is_agec": false,
    "is_niche": false,
    "limitative": false,
    "name": "Dior"
  },
  "max_order_quantity": 3,
  "min_order_quantity": 1,
  "modiface_enabled": false,
  "multibuy": false,
  "name": "Olio Labbra Idratante 24 Ore – 3 Finish Ultra-Brillanti",
  "new_in": false,
  "number_of_reviews": 3,
  "omp_multidimensional": false,
  "other_prices": [],
  "paid_loyalty": false,
  "pharmacy": false,
  "potential_loyalty_points": 0,
  "pre_order": false,
  "price": {
    "currency_iso": "EUR",
    "formatted_value": "49,90 €",
    "is_tpr": false,
    "price_type": "BUY",
    "save_price": "",
    "value": 49.9
  },
  "product_loyalty_points": 0,
  "promotions": [
    {
      "promotion_category_id": "promo_22695",
      "reward": {
        "formatted_reward_value": "FREE ITEM",
        "reward_type": "GWP"
      },
      "reward_product": {
        "absent_in_hybris_product": false,
        "age_restricted": false,
        "allowed_on_mobile_app": false,
        "charity": false,
        "digital_product": false,
        "display_only": false,
        "egift_card": false,
        "engraving_enabled": false,
        "external": false,
        "fastlane": false,
        "gwp": false,
        "hide_promotions_and_markdown_price": false,
        "home_delivery_only": false,
        "in_stock_flag": false,
        "inactive": false,
        "inactive_in_hybris": false,
        "ioma_home_delivery_available": false,
        "is_agec": false,
        "is_coming_soon": false,
        "is_gift_wrap_available": false,
        "is_loyalty_product": false,
        "is_offline_product": false,
        "marketplace_product": false,
        "max_order_quantity": 0,
        "min_order_quantity": 0,
        "modiface_enabled": false,
        "multibuy": false,
        "new_in": false,
        "omp_multidimensional": false,
        "paid_loyalty": false,
        "pharmacy": false,
        "potential_loyalty_points": 0,
        "pre_order": false,
        "product_loyalty_points": 0,
        "restricted_for_wishlist": false,
        "review_disabled": false,
        "review_enabled": false,
        "show_v_a_t_ship": false,
        "stock": {
          "stock_level": 1
        },
        "subscription": false,
        "variants_number": 0,
        "white_label_shop_product": false
      }
    },
    {
      "promotion_category_id": "promo_22763",
      "reward": {
        "formatted_reward_value": "34%",
        "reward_type": "PERCENT_DISCOUNT"
      },
      "reward_product": {
        "absent_in_hybris_product": false,
        "age_restricted": false,
        "allowed_on_mobile_app": false,
        "charity": false,
        "digital_product": false,
        "display_only": false,
        "egift_card": false,
        "engraving_enabled": false,
        "external": false,
        "fastlane": false,
        "gwp": false,
        "hide_promotions_and_markdown_price": false,
        "home_delivery_only": false,
        "in_stock_flag": false,
        "inactive": false,
        "inactive_in_hybris": false,
        "ioma_home_delivery_available": false,
        "is_agec": false,
        "is_coming_soon": false,
        "is_gift_wrap_available": false,
        "is_loyalty_product": false,
        "is_offline_product": false,
        "marketplace_product": false,
        "max_order_quantity": 0,
        "min_order_quantity": 0,
        "modiface_enabled": false,
        "multibuy": false,
        "new_in": false,
        "omp_multidimensional": false,
        "paid_loyalty": false,
        "pharmacy": false,
        "potential_loyalty_points": 0,
        "pre_order": false,
        "product_loyalty_points": 0,
        "restricted_for_wishlist": false,
        "review_disabled": false,
        "review_enabled": false,
        "show_v_a_t_ship": false,
        "stock": {
          "stock_level": 0
        },
        "subscription": false,
        "variants_number": 0,
        "white_label_shop_product": false
      }
    }
  ],
  "range_name": "DIOR ADDICT LIP GLOW OIL",
  "restricted_for_wishlist": false,
  "review_disabled": false,
  "review_enabled": true,
  "roundel_category_badge": {
    "image": {
      "url": "/medias/sys_master/root/h4b/he8/12703274762270/MIT-505010-front/MIT-505010-front.png"
    }
  },
  "roundel_category_badges": [],
  "rrp_enabled": false,
  "show_vat_ship": null,
  "stock": {
    "stock_level": 7,
    "stock_level_status": "inStock"
  },
  "subscription": false,
  "top_promotion": {
    "badge": {
      "image": {
        "url": "/medias/sys_master/root/h4b/he8/12703274762270/MIT-505010-front/MIT-505010-front.png"
      }
    },
    "reward": {
      "formatted_reward_value": "FREE ITEM",
      "reward_type": "GWP"
    },
    "shop4_nop": false
  },
  "url": "/dior/dior-addict-lip-glow-oil/olio-labbra-idratante-24-ore-3-finish-ultra-brillanti/p/BP_478655",
  "variant_type_text": "15 colori",
  "variant_value_categories": [
    {
      "name": "1 PINK",
      "sequence": 0
    }
  ],
  "variants_number": 0,
  "white_label_shop_product": false,
  "from_url": "https://www.marionnaud.it/make-up/labbra/c/218m"
}
```

Each product record returns a rich dataset with 60+ attributes:

#### Product Identification & Basics

| Field | Meaning |
|---|---|
| `Code` | Unique internal product code (SKU-like identifier) |
| `Name` | Product name as displayed on the website |
| `URL` | Direct link to the product detail page |
| `Default SKU` | Default stock-keeping unit for the product |
| `EAN` | European Article Number (barcode) for inventory tracking |
| `Master Brand` | Parent brand (e.g., "Christian Dior", "Giorgio Armani") |
| `Range Name` | Product line or collection (e.g., "J'adore Infinissime") |

#### Pricing & Promotions

| Field | Meaning |
|---|---|
| `Price` | Current selling price in local currency |
| `Other Prices` | Alternative pricing (e.g., multi-buy discounts, bundle prices) |
| `RRP Enabled` | Whether the RRP (Recommended Retail Price) is displayed |
| `Promotions` | Active promotional tags and discount codes |
| `Top Promotion` | Highest-priority promotion applied to the product |
| `GWP` | Gift With Purchase offer details (free items with purchase) |
| `Multibuy` | Bulk purchase discounts (e.g., "Buy 2 Get 1 Free") |
| `Show VAT Ship` | Whether VAT and shipping are included in displayed price |

#### Inventory & Availability

| Field | Meaning |
|---|---|
| `Stock` | Current stock level (numeric quantity) |
| `In Stock Flag` | Boolean indicating if the product is currently in stock |
| `Inactive` | Whether the product is marked inactive in the system |
| `Inactive In Hybris` | Inactive status in Marionnaud's backend e-commerce system |
| `Is Coming Soon` | Product will launch soon (pre-release flag) |
| `Pre Order` | Whether the product can be pre-ordered |
| `Min Order Quantity` | Minimum items allowed per order |
| `Max Order Quantity` | Maximum items allowed per single order |
| `Home Delivery Only` | If true, product is unavailable in physical stores |
| `IOMA Home Delivery Available` | Availability via IOMA (Marionnaud's beauty advisory service) |

#### Ratings & Reviews

| Field | Meaning |
|---|---|
| `Average Rating` | Mean customer rating (typically 1–5 stars) |
| `Number Of Reviews` | Total customer reviews posted |
| `Review Enabled` | Whether customer reviews are allowed |
| `Review Disabled` | Whether reviews are explicitly disabled |

#### Product Variants & Options

| Field | Meaning |
|---|---|
| `Variants Number` | Total number of product variants (sizes, colors, scents) |
| `Variant Type Text` | Type of variation offered (e.g., "Size", "Fragrance") |
| `Variant Value Categories` | Specific variant options (e.g., "50ml", "100ml", "Floral") |
| `Modiface Enabled` | Whether the product supports AR try-on (Modiface technology) |
| `Engraving Enabled` | Whether custom engraving is available |

#### Categorization & Metadata

| Field | Meaning |
|---|---|
| `Category Name Hierarchy` | Full category path (e.g., "Fragrance > Women > Eau de Parfum") |
| `Roundel Category Badge` | Special category badges (e.g., "New Arrival", "Bestseller") |
| `Roundel Category Badges` | Multiple category badges or icons |
| `Classifications` | Internal product classifications for filtering |
| `Absence In Hybris Product` | Products absent from the backend system |

#### Loyalty & Subscription

| Field | Meaning |
|---|---|
| `Is Loyalty Product` | Whether the product is eligible for loyalty points |
| `Product Loyalty Points` | Points earned when purchasing this product |
| `Potential Loyalty Points` | Loyalty points customer could earn |
| `Paid Loyalty` | Whether loyalty benefits require a paid membership |
| `Subscription` | Whether the product can be purchased via subscription |

#### Special Attributes & Flags

| Field | Meaning |
|---|---|
| `Digital Product` | Whether the product is digital (e.g., gift card, voucher) |
| `eGift Card` | Indicator for digital gift card products |
| `New In` | Whether the product is newly added to inventory |
| `Is AGEC` | Product classification for age-restricted beauty items |
| `Age Restricted` | Whether the product has age purchase restrictions |
| `Pharmacy` | Whether the product is sold via pharmacy channel |
| `Is Offline Product` | Product is available only in physical stores |
| `Is Gift Wrap Available` | Whether complimentary gift wrapping is offered |
| `Charity` | Whether purchases support a charitable cause |
| `Fastlane` | Express shipping eligibility flag |

#### Images & Media

| Field | Meaning |
|---|---|
| `Images` | Array of product image URLs (high-resolution product photos) |

#### Platform & Marketplace Flags

| Field | Meaning |
|---|---|
| `Marketplace Product` | Whether the product is sold by a third-party seller |
| `White Label Shop Product` | Product from a partner/white-label retailer |
| `Allowed On Mobile App` | Whether the product is purchasable via Marionnaud's mobile app |
| `Display Only` | Product shown for information but not purchasable |
| `External` | Link redirects to an external retailer |
| `Restricted For Wishlist` | Cannot be added to customer wishlists |
| `OMP Multidimensional` | Product integrated with Marionnaud's multi-dimensional pricing system |

***

### How to Use

1. **Find category URLs** — Navigate to Marionnaud.fr, Marionnaud.it, or Marionnaud.at. Browse to a product category (e.g., "Women's Perfumes", "Skincare") and copy the URL from your browser.
2. **Configure the input** — Paste the URL(s) into the `urls` array. Set `max_items_per_url` based on the category size (typically 50–200 products per category).
3. **Enable error handling** — Keep `ignore_url_failures: true` for uninterrupted scraping across multiple pages or regions.
4. **Run the scraper** — Start the actor and monitor the progress in the logs.
5. **Export and analyze** — Download results as JSON, CSV, or Excel. Import into spreadsheets or databases for price monitoring, competitor analysis, or inventory tracking.

**Best practices:**

- Scrape during off-peak hours to minimize server load.
- For regional comparison, run separate scrapes for each Marionnaud domain (.fr, .it, .at) and merge results by product code.
- Use `max_items_per_url: 200` for comprehensive category exports; reduce to 50–100 for quick snapshots.

***

### Use Cases & Business Value

- **Price monitoring:** Track pricing strategies across EU markets and identify regional price variations
- **Competitive intelligence:** Monitor competitor product launches, promotions, and stock availability
- **Market research:** Analyze beauty trends, new product releases, and seasonal collections
- **Inventory management:** Feed product catalogs into your own e-commerce system
- **Promotional analysis:** Monitor GWP, multibuy offers, and seasonal discounts across regions

The Marionnaud Products Search Scraper eliminates manual data gathering, delivering actionable product intelligence that drives pricing strategy, market positioning, and customer insights.

***

### Conclusion

The **Marionnaud Products Search Scraper** is an essential tool for beauty and fragrance market professionals. With 60+ data points per product and support for three European markets, it transforms Marionnaud category pages into structured, analysis-ready datasets. Start scraping today and unlock competitive advantages through data-driven decision-making.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.marionnaud.fr/parfum/parfum-femme/eau-de-parfum/c/P0101"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.marionnaud.fr/parfum/parfum-femme/eau-de-parfum/c/P0101"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/marionnaud-product-search-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 = {
    "urls": ["https://www.marionnaud.fr/parfum/parfum-femme/eau-de-parfum/c/P0101"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/marionnaud-product-search-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 '{
  "urls": [
    "https://www.marionnaud.fr/parfum/parfum-femme/eau-de-parfum/c/P0101"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/marionnaud-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Marionnaud Product Search Scraper",
        "description": "Scrape product listings from Marionnaud.fr, Marionnaud.it, Marionnaud.at, and other in seconds. Collect prices, stock levels, ratings, images, variants, and 60+ product fields per item — perfect for price monitoring, competitor research, and market analysis.",
        "version": "0.0",
        "x-build-id": "tRwvvocRBvled9CJb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~marionnaud-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-marionnaud-product-search-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/stealth_mode~marionnaud-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-marionnaud-product-search-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/stealth_mode~marionnaud-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-marionnaud-product-search-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": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
