# Mediamarkt Product Search Scraper (`ecomscrape/mediamarkt-product-search-scraper`)

The Mediamarkt Product Search Scraper extracts detailed product data from Mediamarkt, including name, price, brand, etc., using search query URLs. It's perfect for market research, trend analysis, lead generation, and campaign planning.

- **URL**: https://beta-securitybyobscurity.apify.com/ecomscrape/mediamarkt-product-search-scraper.md
- **Developed by:** [ecomscrape](https://beta-securitybyobscurity.apify.com/ecomscrape) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 14 total users, 4 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## What does Mediamarkt Product Search Scraper do?

### Introduction

MediaMarkt stands as Germany's largest electronics retailer and one of Europe's leading consumer electronics chains with over 1,000 retail locations across ten countries. The platform hosts an extensive catalog of consumer electronics, appliances, gaming products, smartphones, and technology accessories, making it a goldmine of market intelligence for businesses, researchers, and competitors.

With Europe's largest electronics marketplace offering massive brand selection at competitive prices, MediaMarkt.de contains valuable pricing data, product specifications, customer reviews, and inventory information that can drive strategic business decisions. However, manually collecting this data across thousands of products is time-consuming and inefficient, creating a clear need for automated data extraction solutions.

### MediaMarkt Product Search Scraper Overview

The MediaMarkt Product Search Scraper is a specialized data extraction tool designed to automatically collect comprehensive product information from MediaMarkt.de category and search result pages. This powerful scraper navigates through product listings, extracting detailed information including pricing, specifications, customer ratings, and product metadata.

Built for reliability and efficiency, the scraper handles large-scale data collection tasks while respecting website performance through configurable request limits and retry mechanisms. The tool utilizes proxy rotation to ensure consistent access and avoid detection, making it suitable for continuous monitoring and large dataset compilation.

Target users include e-commerce businesses conducting competitor analysis, market researchers tracking pricing trends, inventory managers monitoring product availability, and data analysts requiring comprehensive electronics market data. The scraper serves various use cases from price comparison platforms to market intelligence dashboards.

### Input and Output Specifications

Example url 1: https://www.mediamarkt.de/de/category/playstation-635.html?page=2

Example url 2: https://www.mediamarkt.de/de/category/gaming-pcs-367.html

Example url 3: https://www.mediamarkt.de/de/category/microsoft-xbox-918.html

Example Screenshot of product list by query page:

![](https://i.ibb.co/287VP9d/Screenshot-from-2025-01-08-23-47-21.png)

#### Input Format

The scraper accepts JSON configuration specifying operational parameters and target URLs:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "max_items_per_url": 20,
  "urls": [ // Links to product list by query pages.
    "https://www.mediamarkt.de/de/category/playstation-635.html?page=2",
    "https://www.mediamarkt.de/de/category/microsoft-xbox-918.html",
    "https://www.mediamarkt.de/de/category/gaming-pcs-367.html"

  ]
}
```

**Key Input Parameters:**

- `max_retries_per_url`: Controls retry attempts for failed requests, ensuring data collection resilience
- `proxy`: Configures residential proxy usage with country selection for geo-targeted scraping
- `max_items_per_url`: Limits extracted items per URL to manage data volume and processing time
- `urls`: Array of MediaMarkt category or search result page URLs to scrape

Input URLs should target MediaMarkt product listing pages, including category pages, search results, or filtered product collections. The scraper supports pagination and can handle various URL formats within the MediaMarkt domain structure.

#### Output Format

You get the output from the Mediamarkt Product Search Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of product information
  {
    "id": "2909982",
    "url": "/de/product/_sony-dualsenser-wireless-controller-midnight-black-fur-playstation-5-mac-android-ios-2909982.html",
    "name": "SONY DualSense® Wireless Controller Midnight Black für PlayStation 5, MAC, Android, iOS, PC",
    "brand": "SONY",
    "category": "Gaming & VR/PlayStation/PS5 Zubehör/PS5 DualSense Controller",
    "description": "<h3>Entfache ein fulminantes Gaming-Feuerwerk – mit dem DualSense® Wireless-Controller in Midnight Blue</h3>\n<h3>Mach den feurigen Look mit einem passenden PS5®-Konsolen-Cover komplett oder setz mit einem DualSense® Wireless-Controller in ultracoolem Midnight Blue.</h3>\n\n<p>Mach den Look komplett und hol dir das passende Konsolen-Cover für die PS5® oder die PS5 Digital Edition dazu.*</p>\n<p>*Die PS5-Konsole und die Produkte der Deep Earth Collection werden separat verkauft. </p>\n<p></p>\n<p>Entdecke ein noch intensiveres und fesselnderes Gaming-Erlebnis,<sup>[1]</sup> mit dem die Action in deinen Händen zum Leben erwacht. Der DualSense® Wireless-Controller bietet immersives haptisches Feedback<sup>[2]</sup>, dynamische adaptive Trigger<sup>[2]</sup> und ein integriertes Mikrofon – und das alles in einem ikonischen, komfortablen Design.</p>\n<p></p>\n<h3>Erwecke Gaming-Welten zum Leben</h3>\n<p></p>\n<h3>Haptisches Feedback<sup>[2]</sup></h3>\nDank der Doppelantriebe, die herkömmliche Rumble-Motoren ersetzen, spürst du direkt haptisches Feedback deiner Aktionen im Spiel. In deinen Händen simulieren diese dynamischen Vibrationen eine Vielzahl von Empfindungen, von Umgebungen bis hin zum Rückstoß verschiedener Waffen.\n<p></p>\n<h3>Adaptive Trigger<sup>[2]</sup></h3>\nErlebe die verschiedenen Stufen von Kraft und Spannung, wenn du mit deiner Ausrüstung und Umgebung im Spiel interagierst. Vom Spannen einer zunehmend strafferen Bogensehne bis zum Betätigen der Bremsen eines rasenden Autos fühlst du dich so physisch mit deinen Aktionen auf dem Bildschirm verbunden.\n<p></p>\n<h3>Finde deinen Stil, teile deine Leidenschaft</h3>\n<p></p>\n<h3>Integriertes Mikrofon und Headset-Anschluss</h3>\n<p>Chatte online mit Freunden,<sup>[3] </sup>indem du direkt in das integrierte Mikrofon sprichst oder ein Headset an den 3,5-mm-Anschluss anschließt. Aktiviere und deaktiviere die Spracherfassung ganz einfach und sofort mit einer eigenen Mute-Taste.</p>\n<p></p>\n<h3>Create-Taste</h3>\n<p>Zeichne deine besonders epischen Gaming-Momente auf und teile sie mit der Create-Taste. Die Create-Taste basiert auf dem Erfolg der bahnbrechenden SHARE-Taste und bietet Spielern neue Möglichkeiten, Gaming-Content zu erstellen und ihre Abenteuer live an die ganze Welt zu übertragen.</p>\n<p>  </p>\n<p>Ein Gaming-Kultgegenstand in deinen Händen</p>\n<p></p>\n<h3>Mehrgeräteverbindung</h3>\n<p></p>\n<h3>Spiele auf mehr Geräten</h3>\n<p>Stelle eine Verbindung über ein USB-Kabel (Type-C®) oder via Bluetooth®-Drahtlostechnologie her, sodass du ganz einfach auf mehreren Geräten, darunter Windows-PCs und Mac®-Computer, Android- und iOS-Mobiltelefone, spielen kannst.</p>\n<p></p>\n<h3>Optimiere dein PC-Gaming</h3>\n<p>Erlebe ein intensiveres immersives Erlebnis bei deinen Lieblings-PC-Spielen. Erwecke Gaming-Welten in deiner Hand durch haptisches Feedback und dynamische adaptive Trigger zum Leben – alles integriert in ein legendäres, komfortables Design.* Entdecke auf https://www.playstation.com/games/pc-games/eine große Auswahl an PC-Titeln, die von PlayStation veröffentlicht wurden und die immersiven DualSense®-Controller-Funktionen unterstützen.</p>\n<p></p>\n<h3>Remote Play</h3>\n<p>Streame kompatible Spiele mithilfe der PS Remote Play-App** von deiner PS5®- oder PS4™-Konsole auf deinem PC und steure diese mit dem DualSense-Controller. Zur Verwendung der App ist eine Internetverbindung und ein Konto für das PlayStation™Network erforderlich (kostenlos unter remoteplay.dl.playstation.net/remoteplay/ erhältlich).</p>\n<p></p>\n<p>Gilt für Mehrgeräteverbindung Kurz & Lang: </p>\n<p>*Haptisches Feedback und adaptive Auslöser erfordern möglicherweise eine USB-Verbindung und sind verfügbar, wenn sie vom Spiel unterstützt werden.</p>\n<p>**Für PS Remote Play sind die Remote Play-App, eine PS4™- oder PS5®-Konsole mit der neuesten Systemsoftware, die mit einem Breitbandnetzwerk mit mindestens 5 Mbit/s verbunden ist, sowie ein kompatibles Spiel erforderlich. Eine PS4™- oder PS5®-Konsole mit einer kabelgebundenen Verbindung über ein LAN-Kabel wird empfohlen. Bei PS4™-Spielen, die über Remote Play gestreamt werden, wird haptisches Feedback durch einfaches Rumpeln ersetzt. Adaptive Trigger werden nicht unterstützt.</p>\n<p></p>\n<h3>Bewährter Komfort</h3>\nÜbernimm die Kontrolle mit einem weiterentwickelten zweifarbigen Design, das ein ikonisches, intuitives Layout mit verbesserten Sticks und einer neu gestalteten Leuchtleiste kombiniert.\n<p></p>\n<h3>Vertraute Funktionen</h3>\nDer DualSense® Wireless-Controller passt viele Funktionen des DUALSHOCK®<sup>[4]</sup> für eine neue Spielegeneration an.\n<p> </p>\n<h3>Eingebauter Akku</h3>\nLade und spiele, jetzt über USB Typ-C®<sup>[4]</sup>.\n<p></p>\n<h3>Integrierter Lautsprecher</h3>\nAusgewählte Spiele erhalten eine zusätzliche Dimension mit Soundeffekten in höherer Qualität<sup>[1]</sup>\ndirekt aus dem Controller.\n<p></p>\n<h3>Bewegungssensor</h3>\nDer integrierte Beschleunigungsmesser und das Gyroskop bieten intuitive Bewegungssteuerung bei unterstützten Spielen.\n<p></p>\nVerbessere dein Spiel auf Apple-Geräten\n<p></p>\n<h3>Bluetooth®-Kopplung</h3>\nDer Controller lässt sich über Bluetooth® direkt mit deinem kompatiblen iPad, iPhone, Mac oder Apple TV5 koppeln und sorgt so für den typischen PlayStation®-Komfort und Präzision in deinem Gaming-Erlebnis.\nDu kannst sogar das Touchpad und den Bewegungssensor des Controllers nutzen und die adaptiven Trigger-Effekte in kompatiblen Spielen erleben.   \n<p></p>\n<h3>Spiele-Apps</h3>\nDer DualSense® Wireless-Controller ist mit Tausenden von Controller-unterstützten Spielen kompatibel, einschließlich der Spiele auf Apple Arcade, und ermöglicht es dir, dein Spiel zu Hause und unterwegs zu verbessern.",
    "details": {
      "Produkttyp": "Wireless Controller",
      "Unterstützte Plattformen": "PlayStation 5",
      "Signalübertragung": "kabellos",
      "Gewicht (laut Hersteller)": "446 g"
    },
    "locale": "de-DE",
    "feature_name": "GAME PADS",
    "kind_of_product": "GAME_CONTROLLER",
    "image_url": [
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944083",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944186",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944097",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944077",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944157",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944130",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944091",
      "https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_83944103"
    ],
    "released_at": "2023-12-01T00:00:00.000Z",
    "rating_count": 724,
    "rating_value": 4.8315,
    "price": 79.99,
    "currency": "EUR"
  }, // ... Many other product details
] 
```

The scraper returns structured product data in JSON format with the following fields:

- **ID**: Unique product identifier from MediaMarkt's database system
- **URL**: Direct product page link for accessing detailed information
- **Name**: Complete product title as displayed on the website
- **Brand**: Manufacturer or brand name for product categorization
- **Category**: Product category classification within MediaMarkt's taxonomy
- **Description**: Detailed product description including key features and specifications
- **Details**: Additional technical specifications and product attributes
- **Locale**: Language and regional settings (typically 'de' for German market)
- **Feature Name**: Highlighted product features and selling points
- **Kind of Product**: Product type classification for inventory management
- **Image URL**: Primary product image link for visual representation
- **Released At**: Product launch or availability date information
- **Rating Count**: Number of customer reviews and ratings received
- **Rating Value**: Average customer rating score (typically 1-5 scale)
- **Price**: Current product price in euros
- **Currency**: Price currency designation (EUR for European market)

Each field serves specific business intelligence purposes: pricing data enables competitive analysis, ratings provide quality insights, descriptions support product matching, and technical specifications facilitate comparison across similar products.

### Usage Instructions

1. **Configure Input Parameters**: Set maximum retries based on your reliability requirements. For large-scale operations, use 3-5 retries. Configure proxy settings matching your target geographic region - use German proxies for optimal performance with MediaMarkt.de.

2. **Prepare Target URLs**: Collect MediaMarkt category page URLs or search result pages containing your target products. Ensure URLs include proper pagination parameters if extracting from multiple pages.

3. **Set Data Limits**: Adjust `max_items_per_url` based on your needs. Higher values (50-100) work well for comprehensive category analysis, while lower values (10-20) suit targeted product monitoring.

4. **Execute and Monitor**: Launch the scraper and monitor execution logs for any blocked requests or errors. The tool provides real-time feedback on extraction progress and any encountered issues.

5. **Data Processing**: Review extracted data for completeness and accuracy. Implement data validation checks for critical fields like pricing and product IDs to ensure data quality.

**Best Practices**: Rotate proxy locations regularly for consistent access, schedule scraping during off-peak hours to minimize server load, and implement data caching to avoid unnecessary repeat requests. Handle rate limiting gracefully by increasing delays between requests if needed.

### Benefits and Applications

The MediaMarkt scraper delivers significant time savings by automating manual data collection processes that would otherwise require hours of manual browsing and copying. Businesses can monitor competitor pricing in real-time, track product availability changes, and identify market trends across electronics categories.

Practical applications include building price comparison platforms, conducting market research for product launches, monitoring competitor inventory levels, and creating automated alerts for price changes or new product releases. E-commerce businesses can benchmark their pricing against MediaMarkt's extensive catalog, while market analysts can track consumer electronics trends across various product categories.

The extracted data provides valuable business intelligence for strategic decision-making, enabling companies to optimize their product offerings, adjust pricing strategies, and identify market opportunities in the competitive electronics retail landscape.

### Conclusion

The MediaMarkt Product Search Scraper provides comprehensive access to Germany's largest electronics retailer's product data, enabling businesses to make informed decisions based on real-time market intelligence. With detailed product specifications, pricing information, and customer insights, this tool transforms manual research into automated, scalable data collection.

Ready to streamline your market research and competitive analysis? Deploy the MediaMarkt scraper today to unlock valuable insights from Europe's leading electronics marketplace.

## Related Actors

- [**Mediamarkt Product Details Scraper**](https://apify.com/ecomscrape/mediamarkt-product-page-details-scraper): A specialized data extraction solution designed to harvest detailed product information from MediaMarkt's extensive electronics marketplace across Europe.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Mediamarkt Product Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

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

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

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

Limit the number of items per URL you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.mediamarkt.de/de/category/smartphones-579.html"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}
```

# 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.mediamarkt.de/de/category/smartphones-579.html"
    ],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "DE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/mediamarkt-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.mediamarkt.de/de/category/smartphones-579.html"],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "DE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/mediamarkt-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.mediamarkt.de/de/category/smartphones-579.html"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}' |
apify call ecomscrape/mediamarkt-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mediamarkt Product Search Scraper",
        "description": "The Mediamarkt Product Search Scraper extracts detailed product data from Mediamarkt, including name, price, brand, etc., using search query URLs. It's perfect for market research, trend analysis, lead generation, and campaign planning.",
        "version": "0.0",
        "x-build-id": "4TyckeAwEzFYfE3NE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ecomscrape~mediamarkt-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ecomscrape-mediamarkt-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/ecomscrape~mediamarkt-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ecomscrape-mediamarkt-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/ecomscrape~mediamarkt-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ecomscrape-mediamarkt-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 list page urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Product list page 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"
                        }
                    },
                    "max_items_per_url": {
                        "title": "Limit the number of items per URL",
                        "type": "integer",
                        "description": "Limit the number of items per URL you want to scrape"
                    },
                    "max_retries_per_url": {
                        "title": "Limit the number of retries for each URL",
                        "type": "integer",
                        "description": "Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load"
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
