# N11 Product Search Scraper (`stealth_mode/n11-product-search-scraper`) Actor

Extract product data from N11.com search results instantly. Collect 80+ fields including prices, discounts, seller info, reviews, and inventory across makeup, fashion, and electronics — perfect for price monitoring, market research, and product aggregation.

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

## N11 Product Search Scraper: Scrape Makeup & Beauty Listings Fast

---

### What Is N11.com?

N11.com is one of Turkey's largest e-commerce marketplaces, hosting millions of products across categories like fashion, beauty, electronics, and home goods. The platform features competitive pricing, multiple seller listings, and frequent promotional campaigns. Extracting product data from N11 search results manually is inefficient — the **N11 Product Search Scraper** automates this, collecting structured product intelligence from category pages and search results at scale.

---

### Overview

The **N11 Product Search Scraper** crawls N11.com search and category pages, extracting comprehensive product data into clean, machine-readable records. It is designed for:

- **Price comparison services** tracking N11 inventory and pricing
- **Market researchers** analyzing Turkish e-commerce trends
- **Retailers** monitoring competitor products and pricing strategies
- **Data aggregators** feeding product catalogs into apps or platforms
- **Business intelligence teams** benchmarking market conditions

Key strengths include pagination support for large result sets, flexible item limits, resilient error handling, and 80+ output fields capturing pricing, promotions, seller details, and customer reviews.

---

### Input Format

The scraper accepts a JSON configuration specifying URLs and collection preferences:

```json
{
  "urls": [
    "https://www.n11.com/makyaj?&pg=11"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | N11.com search or category page URLs (including pagination parameters like `?&pg=11`) |
| `ignore_url_failures` | Boolean | If `true`, skips failed URLs and continues; if `false`, stops on error |
| `max_items_per_url` | Integer | Maximum products extracted per URL (default: `20`, max: `200`) |

**Example URLs:**

- `https://www.n11.com/makyaj?&pg=1` (Makeup category, page 1)
- `https://www.n11.com/arama?q=parfum&pg=2` (Search results for "perfume", page 2)

> **Tip:** For large-scale collection, use pagination parameters (`&pg=1`, `&pg=2`, etc.) to specify which pages to scrape.

***

### Output Format

**Sample output**

```json
{
  "advantage_delivery_discount": null,
  "advantage_delivery_discount_nullable": null,
  "advantage_delivery_price": null,
  "advantage_delivery_price_str": null,
  "authorized_dealer_icon_url": null,
  "authorized_dealer_text": null,
  "authorized_dealer_url": null,
  "background_ad": false,
  "badge": null,
  "bold_title_ad": false,
  "brand": "Alix Avien",
  "campaign_badge_message": null,
  "campaign_banner_attribute_dtos": null,
  "category_group_url": "kozmetik-kisisel-bakim",
  "category_id": 1002575,
  "category_name": "Fondöten",
  "category_names": [
    "Kozmetik & Kişisel Bakım",
    "Makyaj",
    "Yüz Makyajı",
    "Fondöten",
    ""
  ],
  "color_variant_count": 0,
  "create_date": 1758630025372,
  "discount_rate": null,
  "display_price": 599.99,
  "display_price_str": "599,99 TL",
  "final_price_area_dto": null,
  "first_min_final_price_for_fourteen_day": 449.99,
  "first_min_final_price_for_seven_day": 449.99,
  "first_min_final_price_for_ten_day": 449.99,
  "first_min_final_price_for_thirty_day": 449.99,
  "group_id": 102495292,
  "grouping_product_count": null,
  "has_background_ad": false,
  "has_bold_ad": false,
  "has_critical_stock": false,
  "has_discount": false,
  "has_instant_discount": false,
  "has_power_ad": false,
  "has_product_quantity_campaign": false,
  "has_same_day_delivery": false,
  "has_subtitle_ad": false,
  "id": 705007136,
  "image_path_list": [
    "https://n11scdn.akamaized.net/a1/{0}/03/38/63/65/IMG-2489129774696766536.webp",
    "https://n11scdn.akamaized.net/a1/{0}/12/92/81/19/IMG-5403526857317750645.webp",
    "https://n11scdn.akamaized.net/a1/{0}/09/87/01/13/IMG-5472193117044819698.webp",
    "https://n11scdn.akamaized.net/a1/{0}/03/08/47/28/IMG-4273544242980442747.webp",
    "https://n11scdn.akamaized.net/a1/{0}/02/29/51/67/IMG-6865678834750929422.webp"
  ],
  "insider_event_data": null,
  "instant_discount_amount": null,
  "instant_discount_percentage": null,
  "instant_discount_price": null,
  "is_ad_bidding": false,
  "is_adult": false,
  "is_free_shipping": true,
  "is_giybi_moda": false,
  "is_import": false,
  "is_in_watch_list": false,
  "is_official_seller": true,
  "is_pre_sale": false,
  "is_private_product": false,
  "is_quick_commerce_product": false,
  "is_show_price_down_badge": false,
  "kg_display_price_str": null,
  "kg_price_str": null,
  "localization_criterias": [],
  "mall_discount_as_checkout_discount": false,
  "mobile_discount_exists": false,
  "mobile_price": 599.99,
  "mobile_price_with_currency": "599,99 TL",
  "mobile_web_price": 599.99,
  "mobile_web_price_with_currency": "599,99 TL",
  "old_price": "599,99 TL",
  "price": 599.99,
  "price_str": "599,99 TL",
  "product_discount_types": null,
  "product_min_final_price_badge_dto": {
    "badge_allowed": false,
    "text": null
  },
  "quick_commerce_ribbon_color": null,
  "quick_commerce_ribbon_text": null,
  "score": "0",
  "seller_id": 3233163,
  "seller_nick_name": "AlixAvien",
  "seo_url": "/makyaj/yuz/fondoten",
  "shipment_delivery_type": "STANDARD",
  "show_color_variant": false,
  "show_private_product_price": true,
  "sku_id": 127332703406,
  "stock": 1405,
  "strike_through_applicable": false,
  "subtitle": "Alix Avien Bronzlaştırıcı Etkili Çatlak Ve Görünümü Önleyici Sprey Çorap Bacak Fondöteni Medium 75 ML",
  "subtitle_ad": false,
  "super_icon_ad": false,
  "title": "Alix Avien Bronzlaştırıcı Etkili Çatlak Ve Görünümü Önleyici Sprey Çorap Bacak Fondöteni Medium 75 ML",
  "top_left_badges": null,
  "total_review_count": 0,
  "url": "/urun/alix-avien-bronzlastirici-etkili-catlak-ve-gorunumu-onleyici-sprey-corap-bacak-fondoteni-medium-75-ml-102495292?magaza=alixavien",
  "url_without_seller_shop": "/urun/alix-avien-bronzlastirici-etkili-catlak-ve-gorunumu-onleyici-sprey-corap-bacak-fondoteni-medium-75-ml-102495292",
  "campaign_banners": [
    {
      "banner_text": "1,500 TL ye 250 TL indirim",
      "text_color": "FFFFFF",
      "background_color": "FF44EE",
      "icon_url": "https://n11scdn.akamaized.net/a1/org/25/10/24/65/80/97/28/63/95/49/89/24/54553684867326850359.png"
    }
  ],
  "product_id": 705007136,
  "image_url": "https://n11scdn.akamaized.net/a1/226_355/03/38/63/65/IMG-2489129774696766536.webp",
  "display_price_mobile_web": "599,99 TL",
  "is_banner": false,
  "instant_discount_percentage_mobile_web": null,
  "review_count": 0,
  "satisfied_score": "0",
  "final_price_badge": null,
  "final_price_badge_color_code": null,
  "mobile_web_price_badge_color_code": null,
  "final_price": null,
  "is_strike_through_applicable": false,
  "from_url": "https://www.n11.com/makyaj?&pg=10"
}
```

Each product record contains 80+ fields organized into key categories:

#### Product Identification

| Field | Meaning |
|---|---|
| `ID` | Unique internal product ID on N11 |
| `Product ID` | Alternative product identifier |
| `SKU ID` | Stock Keeping Unit for inventory tracking |
| `Title` | Full product name/title |
| `Subtitle` | Secondary descriptive text |
| `Brand` | Manufacturer or brand name |
| `SEO URL` | URL-friendly product link for search engines |
| `URL` | Direct link to product detail page |
| `URL Without Seller Shop` | Product URL without seller-specific parameters |

#### Pricing & Discounts

| Field | Meaning |
|---|---|
| `Price` | Base or regular price (raw number) |
| `Price Str` | Price formatted as string with currency |
| `Display Price` | Price shown to the customer |
| `Display Price Str` | Customer-facing price with formatting |
| `Mobile Price` | Price optimized for mobile display |
| `Mobile Web Price` | Price for mobile web users |
| `KG Price Str` | Price per kilogram (for bulk/weighted items) |
| `Old Price` | Original price before discount |
| `Discount Rate` | Percentage discount applied |
| `Has Discount` | Boolean flag: product is on discount |
| `Has Instant Discount` | Instant discount available at checkout |
| `Instant Discount Amount` | Dollar/lira amount of instant discount |
| `Instant Discount Percentage` | Percentage of instant discount |
| `Instant Discount Price` | Final price after instant discount |
| `Strike Through Applicable` | Whether old price should be struck through |
| `Is Show Price Down Badge` | Badge indicating price reduction |

#### Seller & Shipping Information

| Field | Meaning |
|---|---|
| `Seller ID` | Unique identifier for the seller |
| `Seller Nick Name` | Seller's display name on N11 |
| `Is Official Seller` | Flag: seller is N11-verified official retailer |
| `Is Authorized Dealer` | Authorized reseller status |
| `Authorized Dealer Icon URL` | Badge icon for authorized dealers |
| `Authorized Dealer Text` | Label text for dealer badge |
| `Authorized Dealer URL` | Link to dealer verification |
| `Is Free Shipping` | Product qualifies for free shipping |
| `Has Same Day Delivery` | Same-day delivery available |
| `Shipment Delivery Type` | Delivery method type |
| `Advantage Delivery Discount` | Discount through N11 premium delivery |
| `Advantage Delivery Price` | Adjusted price with premium delivery |

#### Inventory & Stock

| Field | Meaning |
|---|---|
| `Stock` | Available quantity |
| `Has Critical Stock` | Low stock warning flag |
| `Is Quick Commerce Product` | Available through N11's fast delivery |
| `Grouping Product Count` | Number of color/size variants |
| `Color Variant Count` | Quantity of color options |
| `Show Color Variant` | Display color choices to user |

#### Reviews & Ratings

| Field | Meaning |
|---|---|
| `Total Review Count` | Total number of customer reviews |
| `Review Count` | Count of verified reviews |
| `Satisfied Score` | Customer satisfaction rating (0-5) |
| `Score` | Overall product score |

#### Promotions & Campaign

| Field | Meaning |
|---|---|
| `Campaign Badge Message` | Promotional campaign text |
| `Campaign Banner Attribute DTOs` | Campaign-related metadata |
| `Campaign Banners` | Campaign promotional visuals |
| `Badge` | Product badge (e.g., "New", "Hot") |
| `Top Left Badges` | Badge icons displayed top-left |
| `Super Icon Ad` | Premium advertisement icon |
| `Background Ad` | Background promotional styling |
| `Bold Title Ad` | Bold advertisement for title |
| `Subtitle Ad` | Subtitle advertisement text |
| `Has Background Ad` | Background advertising applied |
| `Has Bold Ad` | Bold title ad applied |
| `Has Subtitle Ad` | Subtitle ad applied |
| `Has Power Ad` | Premium power advertisement |
| `Is Ad Bidding` | Seller is bidding for ad placement |
| `Mall Discount As Checkout Discount` | Mall-exclusive discount at checkout |
| `Mobile Discount Exists` | Discount available on mobile |
| `Has Product Quantity Campaign` | Quantity-based promotion active |
| `Insider Event Data` | N11 Insider member-exclusive data |

#### Product Categories & Attributes

| Field | Meaning |
|---|---|
| `Category ID` | Category classification ID |
| `Category Name` | Primary category name |
| `Category Names` | Full category path |
| `Category Group URL` | Category group page URL |
| `Localization Criterias` | Regional/localization settings |

#### Product Status & Flags

| Field | Meaning |
|---|---|
| `Is Adult` | Age-restricted product flag |
| `Is Pre Sale` | Pre-order item |
| `Is Private Product` | Seller-private listing |
| `Is Import` | Imported product indicator |
| `Is Giybi Moda` | Fashion-related classification |
| `Is In Watch List` | User has added to favorites |
| `Group ID` | Product grouping identifier |
| `Create Date` | Product listing creation date |

#### Images & Media

| Field | Meaning |
|---|---|
| `Image Path List` | Array of product image URLs |
| `Image URL` | Primary product image |

#### Mobile & Web Pricing Badges

| Field | Meaning |
|---|---|
| `Final Price Badge DTO` | Desktop price badge data |
| `Final Price Badge Color Code` | Badge color (hex code) |
| `Mobile Web Price Badge Color Code` | Mobile badge color |
| `Display Price Mobile Web` | Mobile web display price |
| `Is Banner` | Item is displayed as banner |
| `KG Display Price Str` | Per-kilogram formatted price |
| `First Min Final Price For Seven Day` | Minimum price (7-day period) |
| `First Min Final Price For Ten Day` | Minimum price (10-day period) |
| `First Min Final Price For Fourteen Day` | Minimum price (14-day period) |
| `First Min Final Price For Thirty Day` | Minimum price (30-day period) |
| `Product Min Final Price Badge DTO` | Minimum price badge metadata |
| `Final Price Area DTO` | Final price area configuration |
| `Quick Commerce Ribbon Text` | Fast delivery badge text |
| `Quick Commerce Ribbon Color` | Fast delivery badge color |

***

### How to Use

1. **Prepare URLs** — Navigate to N11.com, select a category (e.g., Makeup), and copy the URL. For multiple pages, add each page URL separately or use pagination parameters.
   - Example: `https://www.n11.com/makyaj?&pg=1`

2. **Configure input** — Paste URLs into the `urls` array. Set `max_items_per_url` to control the number of products per page (recommended: 50–200).

3. **Enable error handling** — Set `ignore_url_failures: true` if scraping many pages to skip any that fail.

4. **Execute the scraper** — Start the run and monitor progress. The scraper processes pagination and collects products.

5. **Export results** — Download data in JSON or CSV format for analysis, spreadsheets, or database import.

**Best practices:**

- Scrape during off-peak hours to minimize server load.
- For large batches, use `max_items_per_url: 200` and distribute URLs across multiple runs.
- Check `Seller Nick Name` and `Is Official Seller` fields to filter trusted vendors.
- Use `Discount Rate` and price trends to identify promotional periods.

***

### Use Cases & Business Value

- **Price monitoring:** Track competitor and marketplace pricing in real-time
- **Market research:** Analyze product trends, seller competition, and pricing strategies in Turkish e-commerce
- **Product aggregation:** Feed N11 catalog into comparison shopping engines or deal aggregator apps
- **Inventory analysis:** Monitor stock levels and product availability across sellers
- **Promotional tracking:** Identify campaigns, discounts, and seasonal trends

The N11 Product Search Scraper turns raw search pages into actionable data, eliminating hours of manual collection and enabling data-driven business decisions.

***

### Conclusion

The **N11 Product Search Scraper** is a powerful tool for anyone needing large-scale product data from Turkey's premier e-commerce platform. With 80+ output fields and flexible configuration, it captures everything from pricing and promotions to seller credentials and customer reviews. Whether you're monitoring the market or powering an aggregator, this scraper delivers the intelligence you need.

# 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.n11.com/makyaj?&pg=11"
  ],
  "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.n11.com/makyaj?&pg=11"
    ],
    "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/n11-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.n11.com/makyaj?&pg=11"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/n11-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.n11.com/makyaj?&pg=11"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/n11-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "N11 Product Search Scraper",
        "description": "Extract product data from N11.com search results instantly. Collect 80+ fields including prices, discounts, seller info, reviews, and inventory across makeup, fashion, and electronics — perfect for price monitoring, market research, and product aggregation.",
        "version": "0.0",
        "x-build-id": "qIVdpem2a8r3ma6ax"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~n11-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-n11-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~n11-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-n11-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~n11-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-n11-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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
