# Makeupstore Product Search Scraper (`stealth_mode/makeupstore-product-search-scraper`) Actor

Scrape beauty products from Makeupstore.com with complete product details including brand, price, variants, ratings, availability, and more. Perfect for price monitoring, market research, and beauty product aggregation.

- **URL**: https://apify.com/stealth\_mode/makeupstore-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

## Makeupstore.com Product Scraper: Extract Beauty Product Data at Scale

---

### What Is Makeupstore.com?

Makeupstore.com is a comprehensive online beauty and cosmetics retailer offering thousands of products across brands, categories, and price points. The platform features detailed product listings with variants, customer reviews, and real-time inventory status. Manually collecting product data is labor-intensive — the **Makeupstore Product Scraper** automates extraction, delivering structured product records with 27+ fields per item.

---

### Overview

The **Makeupstore Product Scraper** extracts product information from Makeupstore.com search and category pages, converting unstructured web content into clean, actionable data. It is ideal for:

- **Price monitoring tools** tracking beauty product costs across retailers
- **Market researchers** analyzing cosmetics trends and brand positioning
- **E-commerce aggregators** building product databases
- **Competitors & retailers** conducting pricing and assortment benchmarking
- **Data analysts** studying beauty product availability and inventory patterns

Key features include flexible pagination support via `offset` parameters, variant handling, stock status tracking, and reliable error recovery with `ignore_url_failures`.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://makeupstore.com/categorys/3/#sort=date&offset=36"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to Makeupstore product search or category pages. Example: category pages with pagination using `offset` parameter |
| `max_items_per_url` | Integer | Maximum number of products extracted per URL (default: `20`, max: `200+`) |
| `ignore_url_failures` | Boolean | If `true`, scraper continues running if some URLs fail; if `false`, stops on first error |

> **Tip:** Use category URLs with sorting/filtering parameters (e.g., `#sort=date&offset=36`) to control which products are scraped.

***

### Output Format

**Sample output**

```json
{
  "id": 933071,
  "brand": {
    "id": 1413825,
    "link": "/brand/1413825/",
    "title": "Thomas Kosmala"
  },
  "title": "Thomas Kosmala Ornate Moon",
  "category": {
    "id": 3,
    "title": "Perfume",
    "description": "<p>Perfumes are flawless elements that complement a man's or a woman's look. Bouquets of aromas emphasize your uniqueness and individual taste. Different types of scents create a beautiful trace and evoke pleasant emotions. Be guided by your feelings and choose an Eau de toilet to demonstrate your refined taste.</p>\r\n<h3>How to select women's perfume?</h3>\r\n<p>Typically, you need to consider several criteria to pick women's compositions. First and foremost, you should count the age. Flower and fruit bouquets with sweet and caramel shades are best for girls under 18. It is better to prefer citrus, berry, and floral notes with rich and powdery sounds simultaneously for ladies from 18 to 20.&nbsp;</p>\r\n<p>Girls aged 20 to 25 can prefer musky and floral compositions with elegant wooden chords. A perfume with flower shades containing green grass, aqua freshness will be an excellent solution for girls from 25 to 30. It is better to opt for classic and refined aromas after 30 years. You can select bouquets containing musk, tobacco, and ambergris.</p>\r\n<p>Besides, you should consider the season when choosing a women's fragrance. Since aromatic chords are revealed each weather differently, one must avoid making a mistake with the option. Let's check out the essential tips to opt for women's aromas depending on the season in the list below:</p>\r\n<ul>\r\n<li>Summer. It is better to prefer light and refreshing perfumes for a hot period. You should abandon heavy and very stable bouquets. You can choose aqua notes, citrus chords, and fruit or berry notes.</li>\r\n<li>Spring. Warm and delicate bouquets containing herbal and wooden notes are perfect in this case. Select floral or citrus perfumes to enjoy lightness and sophistication.</li>\r\n<li>Autumn. Spicy and warm motifs complement this rainy season flawlessly. You can prefer scents with cinnamon, ambergris, vetiver, etc.</li>\r\n<li>Winter. This season is ideal for using bouquets with a persistent trail. Pick perfumes containing chypre, wood, and various spices.</li>\r\n</ul>\r\n<p>Be sure to consider the temperament and character of the person using the fragrances. Elegant and discreet women will appreciate fruity and floral chords. Energetic ladies will evaluate citrus scents or unisex variations.</p>\r\n<h3>How to pick men's perfumes?</h3>\r\n<p>You need to consider age and season when selecting men's fragrances. Spicy, leather, and woody compositions are perfect for winter. You should opt for aqua aromas and citrus perfume sets in the summer. In addition, it is worth considering the purpose of using scents. If you are looking for chords for romantic dates or walks, pick calm wooden aromas or soft orange sounds.</p>\r\n<p>You can pick calm aqua perfumes with hints of wood for work or business meetings. If you plan to have fun or attend a party, you may choose spicy compositions with a persistent trace.&nbsp;</p>\r\n<p>In addition, you need to realize the difference between elite and niche fragrances. The first type includes scents produced by luxury brands and those that are mass-produced. Niche compositions are of high quality and made from natural and unique components. Their production is limited and aimed at true luxury connoisseurs.</p>\r\n<p>In the MAKEUP catalog, you can order high-quality perfume on sale at an affordable price. We guarantee original fragrances from solid brands and fast delivery service within the USA.</p>",
    "link": "/categorys/3/",
    "banners_variant": "carousel",
    "banners": [],
    "sections": [],
    "breadcrumbs": [],
    "reviews": []
  },
  "in_stock": true,
  "rating": {
    "average": 0,
    "total": 0
  },
  "feedback": {
    "comments_count": 0,
    "questions_count": 0,
    "reviewers_count": 0,
    "average_rating": 0
  },
  "price": {
    "currency": "USD",
    "current": 92.76,
    "old": 99.74,
    "side": "left",
    "symbol": "$"
  },
  "variants": [],
  "not_available_variants": [],
  "badge": null,
  "link": "/product/933071/",
  "action": null,
  "characteristics": [],
  "informations": [],
  "sections": [],
  "breadcrumbs": [
    {
      "id": 1,
      "title": "MAKEUP",
      "link": "/"
    },
    {
      "id": 2,
      "title": "Perfume",
      "link": "/categorys/3/"
    },
    {
      "id": 3,
      "title": "Thomas Kosmala Ornate Moon",
      "link": "/product/933071/"
    }
  ],
  "series": {
    "id": 1783307,
    "link": "/brand/1413825/#o[2245][]=1783307",
    "title": "Ornate Moon"
  },
  "sub_title": "Eau de Parfum",
  "type": "product",
  "favorites": [],
  "media": [
    {
      "sizes": {
        "sm": {
          "url": "https://us-i.makeupstore.com/w/ws/wsjiyr619lon.jpg",
          "thumbnail": "https://us-i.makeupstore.com/7/7e/7eeftm0iinf8.jpg"
        },
        "lg": {
          "url": "https://us-i.makeupstore.com/g/gn/gnfzgkgvlseq.jpg",
          "thumbnail": "https://us-i.makeupstore.com/7/7e/7eeftm0iinf8.jpg"
        }
      },
      "id": 1,
      "type": "image",
      "thumbnail": "https://us-i.makeupstore.com/7/7e/7eeftm0iinf8.jpg",
      "url": "https://us-i.makeupstore.com/w/ws/wsjiyr619lon.jpg",
      "default": true
    },
    {
      "sizes": {
        "sm": {
          "url": "https://us-i.makeupstore.com/k/ko/ko3xakgnnk53.jpg",
          "thumbnail": "https://us-i.makeupstore.com/l/l2/l2g5vcl2nyba.jpg"
        },
        "lg": {
          "url": "https://us-i.makeupstore.com/o/oj/ojdhqwqte1gz.jpg",
          "thumbnail": "https://us-i.makeupstore.com/l/l2/l2g5vcl2nyba.jpg"
        }
      },
      "id": 2,
      "type": "image",
      "thumbnail": "https://us-i.makeupstore.com/l/l2/l2g5vcl2nyba.jpg",
      "url": "https://us-i.makeupstore.com/k/ko/ko3xakgnnk53.jpg",
      "default": false
    }
  ],
  "is_gift": false,
  "has_variants": true,
  "default_variant": {
    "id": 1783306,
    "type": "volume",
    "title": "100 ml",
    "price": {
      "currency": "USD",
      "current": 92.76,
      "old": 99.74,
      "side": "left",
      "symbol": "$"
    },
    "in_stock": true,
    "in_favorites": false,
    "is_default": true,
    "availability_text": "In stock!",
    "media": {
      "sizes": {
        "sm": {
          "url": "https://us-i.makeupstore.com/j/jv/jve9gpv9afaj.jpg",
          "thumbnail": "https://us-i.makeupstore.com/o/oj/ojof4oxqqhi3.jpg"
        },
        "lg": {
          "url": "https://us-i.makeupstore.com/j/jv/jve9gpv9afaj.jpg",
          "thumbnail": "https://us-i.makeupstore.com/o/oj/ojof4oxqqhi3.jpg"
        }
      },
      "id": 1,
      "type": "image",
      "thumbnail": "https://us-i.makeupstore.com/o/oj/ojof4oxqqhi3.jpg",
      "url": "https://us-i.makeupstore.com/j/jv/jve9gpv9afaj.jpg",
      "default": true
    },
    "has_promotional_discount": false,
    "has_action": false,
    "link": "/product/933071/#/option/1783306/",
    "meta": {
      "name": "Thomas Kosmala Ornate Moon - Eau de Parfum 100 ml",
      "price_valid_until": "2026-12-31"
    }
  },
  "analytics": {
    "product_id": 933071,
    "product_list_index": 1,
    "in_product_list": 1,
    "product_list_name": "",
    "product_list_title": "",
    "product_group": "Eau de Parfum",
    "category": "Perfume",
    "category_id": 3,
    "category1": "ROOT",
    "category1_id": 1,
    "category2": null,
    "category2_id": null,
    "category3": null,
    "category3_id": null,
    "category4": null,
    "category4_id": null,
    "category5": null,
    "category5_id": null,
    "category6": null,
    "category6_id": null,
    "category7": null,
    "category7_id": null,
    "price": 92.76,
    "old_price": "99.74",
    "currency": "USD",
    "brand": "Thomas Kosmala",
    "brand_id": 1413825,
    "supplier_id": null,
    "supplier_hash": null,
    "product_reviews": 0,
    "product_star_rating": 0,
    "variant_id": 1783306,
    "variant": "100 ml",
    "variants": {
      "1783306": "100 ml"
    },
    "variants_data": {
      "1783306": {
        "price": 92.76,
        "price_old": "99.74",
        "value": "100 ml"
      }
    },
    "slider_list_description": "Eau de Parfum",
    "slider_list_name": "Thomas Kosmala Ornate Moon - Eau de Parfum",
    "makeup_ads": 0,
    "product_campaign_id": null,
    "product_campaign_click_cost": null,
    "product_item_attention_id": null,
    "product_item_attention": null,
    "product_label": "",
    "product_label_color": "",
    "product_label_border_top_color": null,
    "global_variant_id": "C01866681",
    "global_product_id": 1130995,
    "personalize": false,
    "require_options": null,
    "parent_category": "Perfume/Eau de Parfum"
  },
  "from_url": "https://makeupstore.com/categorys/3/#sort=date"
}
```

Each scraped product returns a comprehensive record with 27 fields:

#### Product Identification & Basics

| Field | Description | Example |
|---|---|---|
| `ID` | Unique internal Makeupstore product identifier | `12345` |
| `Title` | Product name as displayed on the listing | `Luxury Lipstick - Red Velvet` |
| `Sub Title` | Secondary product descriptor | `Long-lasting Formula` |
| `Brand` | Manufacturer or brand name | `MAC`, `Nyx`, `Charlotte Tilbury` |
| `Link` | Direct URL to the product detail page | `https://makeupstore.com/product/12345` |
| `Breadcrumbs` | Navigation path (category hierarchy) | `Home > Makeup > Lips > Lipstick` |

#### Pricing & Availability

| Field | Description | Example |
|---|---|---|
| `Price` | Current retail price in store currency | `$35.00`, `€32.99` |
| `In Stock` | Boolean indicating if product is available | `true`, `false` |
| `Badge` | Special labels (e.g., "New", "Sale", "Bestseller") | `New Arrival`, `Limited Edition` |
| `Is Gift` | Whether the product can be purchased as a gift item | `true`, `false` |

#### Ratings & Social Proof

| Field | Description | Example |
|---|---|---|
| `Rating` | Customer review score (typically 0-5) | `4.8` |
| `Feedback` | Number of customer reviews/ratings | `152` |
| `Favorites` | Count of times added to wishlists | `87` |

#### Product Classification

| Field | Description | Example |
|---|---|---|
| `Category` | Primary product category | `Makeup`, `Skincare`, `Haircare` |
| `Type` | Product sub-type or format | `Liquid Lipstick`, `Powder`, `Foundation` |
| `Series` | Product line or collection name | `Matte Liquid Collection`, `Pro Edition` |
| `Sections` | Detailed categorization tags | `["Face", "Lips", "Professional"]` |
| `Characteristics` | Key product features and attributes | `["Waterproof", "Long-lasting", "Matte Finish"]` |
| `Informations` | Additional product details | `["Vegan", "Cruelty-Free", "Natural Ingredients"]` |

#### Variants & Options

| Field | Description | Example |
|---|---|---|
| `Has Variants` | Boolean: does this product have color/size options | `true`, `false` |
| `Variants` | List of available variant options | `["Red", "Pink", "Nude"]` for colors, or `["30ml", "50ml"]` for sizes |
| `Not Available Variants` | Options currently out of stock | `["Dark Red - 50ml"]` |
| `Default Variant` | The pre-selected variant when product page loads | `"Red - 30ml"` |

#### Media & Content

| Field | Description | Example |
|---|---|---|
| `Media` | URLs or paths to product images and videos | `["https://cdn.makeupstore.com/prod1.jpg", "..."]` |

#### Analytics & Metadata

| Field | Description | Example |
|---|---|---|
| `Action` | Status or operation flag for the product record | `"active"`, `"monitored"` |
| `Analytics` | Additional tracking or performance data | `{"impressions": 450, "conversions": 12}` |

***

### How to Use

1. **Identify product pages** — Navigate to Makeupstore.com, find a product category or search results page. Copy the URL (including sort/filter parameters if desired).

   Example: `https://makeupstore.com/categorys/3/#sort=date&offset=36`

2. **Build the input** — Paste URLs into the `urls` array. Adjust `max_items_per_url` based on your needs (default `20`, up to `200+` per URL).

3. **Configure error handling** — Set `ignore_url_failures: true` for batch runs to prevent interruptions.

4. **Execute the scraper** — Start the run and monitor the log for progress.

5. **Process the output** — Download results as JSON, CSV, or import directly into spreadsheets or databases.

**Best practices:**

- Use category URLs for broader product sets; search result URLs for targeted data collection.
- Increase `max_items_per_url` incrementally to avoid timeout issues.
- Pagination: Makeupstore uses `offset` parameters; test a few offset values to map entire categories.

***

### Use Cases & Business Value

- **Price monitoring:** Track beauty product costs across seasons and promotions
- **Competitor analysis:** Benchmark brand positioning, ratings, and product mix
- **Inventory tracking:** Monitor stock status and variant availability in real time
- **Product research:** Analyze trending categories, ratings, and customer preferences
- **Retail aggregation:** Feed Makeupstore data into multi-retailer product comparison platforms

The Makeupstore Product Scraper eliminates hours of manual data entry, enabling data-driven decisions in the competitive beauty e-commerce space.

***

### Conclusion

The **Makeupstore.com Product Scraper** is a powerful tool for beauty industry professionals, researchers, and e-commerce platforms. With 27+ structured fields and flexible URL handling, it transforms product pages into clean, actionable data. Start scraping today and gain competitive insights into the global beauty market.

# 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://makeupstore.com/categorys/3/#sort=date&offset=36"
  ],
  "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://makeupstore.com/categorys/3/#sort=date&offset=36"
    ],
    "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/makeupstore-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://makeupstore.com/categorys/3/#sort=date&offset=36"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/makeupstore-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://makeupstore.com/categorys/3/#sort=date&offset=36"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/makeupstore-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Makeupstore Product Search Scraper",
        "description": "Scrape beauty products from Makeupstore.com with complete product details including brand, price, variants, ratings, availability, and more. Perfect for price monitoring, market research, and beauty product aggregation.",
        "version": "0.0",
        "x-build-id": "IGlwKItSy4He5ofVw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~makeupstore-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-makeupstore-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~makeupstore-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-makeupstore-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~makeupstore-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-makeupstore-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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
