# Amazon Product Scraper (`scrapers-hub/amazon-product-scraper`) Actor

📦 Amazon Product Scraper extracts product listings, prices, ratings, variants & more from Amazon fast. 🔎 Automate product research, monitor competitors, and streamline sourcing. 🚀 Save time with reliable, structured data for smarter decisions

- **URL**: https://apify.com/scrapers-hub/amazon-product-scraper.md
- **Developed by:** [Scrapers Hub](https://apify.com/scrapers-hub) (community)
- **Categories:** Automation, E-commerce, Developer tools
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### 📦 Amazon Product Scraper: The Definitive Enterprise Architecture for Marketplace Intelligence and Global E-commerce Dominance
In the hyper-accelerated digital economy, data is the definitive currency of strategic leadership. The Amazon Product Scraper is an industrial-grade, high-performance data extraction engine meticulously engineered to decode the underlying structure of the world's largest marketplace. By deploying the Amazon Product Scraper, global organizations, retail arbitrageurs, and brand protection agencies can move beyond surface-level observation and establish an autonomous pipeline for product auditing, supply chain verification, and large-scale market analysis with surgical precision. 📈 🏢

The Amazon Product Scraper serves as a robust, non-invasive bridge between the vast, unstructured environment of millions of product listings and the refined, high-fidelity databases required by modern Business Intelligence (BI) and ERP tools. This documentation offers an exhaustive deep-dive into the technical framework, operational methodologies, and strategic utilities of the Amazon Product Scraper in the current digital era. 🌐 🧠

#### 🏗️ 1. Technical Architecture of the Amazon Product Scraper
The core engineering of the Amazon Product Scraper is built upon a resilient, multi-layered browser-simulation infrastructure. Unlike standard tools that rely on fragile official APIs with restrictive quotas, the Amazon Product Scraper utilizes a proprietary parsing engine that interacts directly with the platform's public-facing metadata layers. This ensures that the Amazon Product Scraper can extract data even from the most high-traffic subcategories without interruption. 🛠️ ⚙️

#### Input Configuration Example
```json
{
  "categoryOrProductUrls": [
    { "url": "https://www.amazon.com/s?k=home+decor" }
  ],
  "maxItemsPerStartUrl": 500
}
````

#### 📤 Output Structure

The scraper extracts over 20+ data points for every product. Below is a sample of the structured data you will receive:

```json
{
    "title": "Govee RGBIC Floor Lamp Basic, LED Corner Lamp Works with Alexa, 1000 Lumen Smart Modern Floor Lamp with Music Sync and 16 Million DIY Colors, Color Changing Standing Lamp for Bedroom Living Room Black",
    "asin": "B099WTN2TR",
    "brand": "Govee",
    "stars": 4.5,
    "reviewsCount": 9800,
    "thumbnailImage": "https://m.media-amazon.com/images/I/61x63INkDgL._AC_UL320_.jpg",
    "breadCrumbs": "Tools & Home Improvement > Lighting & Ceiling Fans > Lamps & Shades > Floor Lamps",
    "description": "Dynamic RGBIC Color: Unleash your creativity with Govee RGBIC technology, you can customize each segment color base and the floor lamp will display multicolor effects simultaneously, suitable for decorations and family gifts. Smart Control: Manage your LED floor lamp with simple voice commands via Alexa, Google Assistant. And Govee Home APP also make it more convenient to enjoy multiple dynamic scenes like Cheerful, Romantic and design your living room or bedroom decorations.The official app download link is provided on the package in the form of QR code. Please make sure to download and use the genuine App for the full experience. Sync with Music: Elevate your movie, party, gaming time or listening session with our modern floor lamps for living room, the color and brightness of it will change simultaneously as music or gaming audio changes. 16 Million DIY Colors: The floor lamp owns millions of color and 85 Dynamic scene modes, you can explore your favored one or pick one for summer decorations, to bring yourself to a real fantastic lighting experience(only support 2.4Ghz WiFi). Wide Application: Add exciting, expressive, and personalized lighting to your gaming room, living room and decorations indoor. With unique shape and weight design, you can move this standing floor lamp in your house freely. Note: With the height of 136cm and seperate warm white LEDs, this floor lamp provides up to 1000 lumen lighting for daily illumination. Components: 4 aluminum light pole section, 1 aluminum base, 1 silicone light strip, power adapter.",
    "price": {
      "value": 64.98,
      "currency": "$"
    },
    "url": "https://www.amazon.com/dp/B099WTN2TR"
  },
  ....
```

#### ⚙️ Systems Optimization & Logic

Asynchronous Product Mapping: The Amazon Product Scraper identifies and catalogs technical specifications, pricing tables, and merchant metadata simultaneously, ensuring maximum speed during extraction cycles. ⚡ 🏎️

DOM Synchronization & Virtual Scrolling: To maintain 100% data fidelity, the Amazon Product Scraper implements an intelligent infinite-scroll simulation that captures dynamically loaded "Customers also bought" and related items without missing a single entry. 🛡️ ✅

Advanced Variation Matrix: The Amazon Product Scraper features a specialized layer that navigates the complex web of ASIN variations (parent-child relationships). Whether it is 50 colors or 10 sizes, the Amazon Product Scraper flattens these into individual, manageable data objects. 🆔 🔍

Resource Prioritization: The Amazon Product Scraper selectively targets high-value JSON fragments within the page source, significantly reducing computational overhead while maximizing data accuracy. 💾 📉

#### 🌟 2. Strategic Features of the Amazon Product Scraper

The Amazon Product Scraper is distinguished by its ability to extract "silent" performance data points that are often invisible to the average observer. Below are the functional pillars that define the power of the Amazon Product Scraper: 💎 🔓

🔒 Zero-Authentication Discovery: The Amazon Product Scraper functions entirely as an independent observer. It never requires an official Amazon login or session cookie, protecting your professional identity from platform detection. 🕵️‍♂️ 🛡️

📄 Complete Narrative Harvesting: Captures the full array of product descriptions, bullet points, and A+ content through the Amazon Product Scraper's advanced text-parsing layer. 🏷️ 📡

🏢 Institutional Reliability Auditing: Automatically identifies the Buy Box winner, shipping method (FBA vs. FBM), and merchant origins via the Amazon Product Scraper. 📊 📈

🖼️ Asset Origin Mapping: The Amazon Product Scraper finds the highest resolution image URIs, video links, and 360-degree view assets, perfect for visual verification within internal CRM systems. 🎨 📸

⚡ Extreme Concurrency Support: Engineered to handle massive batch requests, the Amazon Product Scraper can be distributed across global clusters to process thousands of products per hour. 🚀 🌌

📊 Unified Data Schema: Every result from the Amazon Product Scraper is normalized into a clean, flattened structure ready for immediate database ingestion. 📁 💾

#### 🛡️ 3. The Stealth-Audit Security Protocol of the Amazon Product Scraper

In the high-security environment of professional web architecture, Amazon employs highly sensitive AI-driven bot-detection. The Amazon Product Scraper stays ahead with a multi-layered stealth defense system that ensures uninterrupted operation and consistent data flow. 🤺 🔒

🎭 Pseudo-User Fingerprinting: Every session of the Amazon Product Scraper is assigned a unique browser signature—including Canvas fingerprints and WebGL signatures—to mimic a legitimate organic visitor. 🎭 💻

🚫 Rate-Limit Resilience: The Amazon Product Scraper features adaptive sleep timers that expand and contract based on the server's response headers to prevent IP flagging. ⏳ 🚦

🛡️ Residential Proxy Synergy: By funneling requests through a global network of home-based IP addresses, the Amazon Product Scraper makes its traffic indistinguishable from standard human traffic. 🏠 🌎

🌍 Precise Geolocation Logic: Use the Amazon Product Scraper to see specific pricing or stock availability as it appears in different geographic regions by injecting specific ZIP codes into the request session. 📍 🗺️

#### 📊 4. Schema Mapping: Comprehensive Data Intelligence

The output generated by the Amazon Product Scraper is designed for mathematical precision and ease of use in high-end Business Intelligence (BI) tools. 📋 🧪
| **Category 📁**          | **Fields Extracted by Amazon Product Scraper** | **Analytical Value 💡**                               |
| ------------------------ | ---------------------------------------------- | ----------------------------------------------------- |
| **Product Identity**     | ASIN, Title, Brand, UPC/EAN                    | Source classification and catalog synchronization 🆔  |
| **Pricing Intelligence** | Current Price, List Price, Currency            | Dynamic re-pricing and discount monitoring 💰         |
| **Growth Metrics**       | BSR (Best Seller Rank), Review Count           | Market share and category dominance auditing 📈       |
| **Sentiment Data**       | Rating (1–5 stars), Star Breakdown             | Product quality and customer satisfaction analysis ❤️ |
| **Supply Chain**         | Stock Level, Fulfillment Type, Merchant        | Inventory tracking and lead-time optimization 📦      |
| **Content Assets**       | Images, Description, Bullet Points             | SEO optimization and content parity checking 📝       |
| **Variation Data**       | Color, Size, Style, Configuration              | Complete SKU mapping for complex listings 🔗          |

#### 📈 5. Enterprise Use Cases for the Amazon Product Scraper

Elite marketing firms, Private Equity groups, and manufacturing giants leverage the Amazon Product Scraper to build a 360-degree view of their competitive landscape. 🏆 🏢

🎯 Dynamic Pricing & Market Benchmarking
Utilize the Amazon Product Scraper to download and analyze the pricing shifts of your top 500 competitors. The Amazon Product Scraper allows you to identify price elasticity and seasonal trends, ensuring your products are always positioned for maximum conversion. 🕵️‍♀️ 📈

📊 Competitive Narrative Auditing
Before launching a new product line, use the Amazon Product Scraper to audit the technical specifications of established players. The Amazon Product Scraper provides the raw data needed to identify feature gaps and underserved customer needs. 📉 🔍

🚀 Brand Protection & MAP Compliance
Automatically scan thousands of listings using the Amazon Product Scraper to find unauthorized sellers undercutting your Minimum Advertised Price (MAP). The Amazon Product Scraper helps you identify the geographic origin of these sellers for legal enforcement. 🤝 💸

📉 Demand Forecasting & Stock Analysis
Monitor the stock levels of key market leaders using the Amazon Product Scraper. By extracting availability data at scale, the Amazon Product Scraper acts as an early-warning system for industry-wide supply chain shortages. 🚨 🛡️

🏢 AI Training & E-commerce NLP Construction
Feed the clean, structured text results from the Amazon Product Scraper directly into your custom Large Language Models (LLMs). The Amazon Product Scraper provides the massive, niche-specific datasets required for predictive consumer behavior modeling. 🤖 🧠

#### 🛠️ 6. Technical Integration Workflows for the Amazon Product Scraper

The Amazon Product Scraper is a developer-first tool, designed to integrate seamlessly with modern CI/CD pipelines and automated logistics stacks. 🔗 💻

🔄 Webhook Synchronization: Configure the Amazon Product Scraper to send an instant POST request to your server as soon as a product audit is finalized. 📡 🔔

🤖 Cloud Sync Pipelines: Automatically push every dataset extracted by the Amazon Product Scraper to Google Sheets, Airtable, or a private AWS S3 bucket. ☁️ 📤

📊 Visualization Ready: Since the Amazon Product Scraper outputs clean CSV/JSON, you can plug the data directly into Tableau, PowerBI, or Looker for real-time reporting. 📈 📉

#### 🧠 7. Unique Predictive Analytics Strategies

Beyond basic data collection, the Amazon Product Scraper allows for "Forward-Looking" strategies that give your business an unfair advantage: 🔮 ⚡

Velocity Decay Mapping: Track how a competitor's Best Seller Rank (BSR) changes daily with the Amazon Product Scraper. A downward trend indicates a failing marketing strategy or product fatigue. 📉 📉

Keyword Density Evolution: Use the Amazon Product Scraper to identify if a product is shifting its keywords in bullet points, revealing their future SEO pivot or target audience shift. 🗣️ 🔍

Buy Box Share Analysis: By running the Amazon Product Scraper at multiple intervals, you can calculate the exact percentage of time a specific merchant holds the Buy Box versus their rivals. 🏆 🎖️

#### 🛡️ 8. Advanced Anti-Detection & Scalability

The Amazon Product Scraper is engineered for high-volume enterprise operations where millions of entries need to be audited across global markets. 🌍 🚀

🎭 Hardware Footprint Rotation: The Amazon Product Scraper constantly changes its virtual hardware profile—spoofing RAM, CPU cores, and GPU signatures—making it indistinguishable from organic devices. 💻 📱

🌍 Global Domain Support: Whether you need data from Amazon.com, Amazon.co.uk, Amazon.de, or Amazon.co.jp, the Amazon Product Scraper supports all regional domains with local currency conversion. 🏠 🌎

⏳ Smart Throttling Logic: To protect the integrity of the data source, the Amazon Product Scraper automatically adjusts its request velocity based on server response time. ⚖️ ⏱️

#### ❓ 9. Frequently Asked Questions (FAQ)

🏢 Can the Amazon Product Scraper see internal sales figures?

No. The Amazon Product Scraper is strictly for public transparency. It extracts information that is publicly visible to customers, such as BSR, ratings, and stock status indicators. 🔒 🔢

📅 How far back can the Amazon Product Scraper go?

The Amazon Product Scraper provides real-time data. To build a historical view, we recommend scheduling recurring runs of the Amazon Product Scraper daily or weekly. ✅ 🏷️

♾️ Is there a limit on the number of ASINs?

The Amazon Product Scraper shatters limitations. Whether you need data for 10 products or 10,000,000, the tool processes the collection with surgical precision. 🚀 🌌

📂 What output formats are available?

The Amazon Product Scraper delivers results in JSON, JSONL, CSV, XML, and Excel (XLSX). 📁 💾

#### 🛡️ 10. Compliance & Ethical Framework

Using the Amazon Product Scraper comes with a commitment to professional data ethics and responsible usage. ⚖️ 🤝

🏛️ Public Data Protocol: The Amazon Product Scraper only extracts content that brands and Amazon have explicitly shared for public viewing. 📖 🔓

🚦 Rate Limit Adherence: The Amazon Product Scraper is designed to be a "considerate visitor," maintaining optimal traffic patterns to protect server integrity. 🚦 🛡️

⚖️ Data Privacy Alignment: The Amazon Product Scraper focuses on product metrics and corporate identities; it does not harvest non-public personal information or private buyer messages. 🔒 🛡️

🤝 Strategic Integrity: We advocate for using the Amazon Product Scraper for competitive transparency and market research within legal boundaries (GDPR/CCPA). 🏛️ ⚖️

#### 📊 11. Data Enrichment API Ecosystem

Integrate the Amazon Product Scraper with your existing tech stack to unlock even deeper insights: 🔗 🧪
| **Enrichment Feature**     | **Tool 🛠️** | **Purpose with Amazon Product Scraper**                                                                       |
| -------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------- |
| **Sentiment Analysis**     | Azure AI     | Scores the emotional tone of customer reviews to measure satisfaction, risk signals, and brand perception 🧠  |
| **Inventory Verification** | Flexport     | Cross-references scraped stock levels with real-world shipping and logistics data to validate availability 🏢 |
| **CRM Ingestion**          | HubSpot      | Automatically creates and updates product records from scraped listings for sales and lifecycle tracking 👓   |
| **Market Summaries**       | OpenAI       | Generates concise 1-paragraph summaries highlighting competitive positioning and pricing strategy 🤖          |

#### 🏁 12. Conclusion: Master the Institutional Product Economy

In the data-driven landscape, those who can observe and catalog their professional environment most accurately win. The Amazon Product Scraper is the ultimate bridge between unstructured social noise and clear, strategic business intelligence. It eliminates the manual work of searching and replaces it with a streamlined, automated, and intelligent data pipeline. 🌟 🏆

Whether you are a startup looking for your first viral product, a brand protection agency building a regional enforcement list, or a researcher tracking the history of global marketplace shifts, the Amazon Product Scraper is your most reliable partner. By choosing the Amazon Product Scraper, you are investing in a scalable intelligence strategy that will serve your organization for years to come. 🚀📈

#### 🚀 Get Started with the Amazon Product Scraper Today!

Are you ready to revolutionize your institutional lead generation and market intelligence? The Amazon Product Scraper is waiting for your first target URL. If you need a custom configuration for the Amazon Product Scraper or help setting up a cloud-based schedule, our technical team is here to support you. 🤝 ✨

# Actor input Schema

## `categoryOrProductUrls` (type: `array`):

List of Amazon search result or category URLs.

## `maxItemsPerStartUrl` (type: `integer`):

Maximum number of items to scrape per starting URL.

## Actor input object example

```json
{
  "categoryOrProductUrls": [
    {
      "url": "https://www.amazon.com/s?k=home+decor"
    }
  ],
  "maxItemsPerStartUrl": 500
}
```

# 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 = {
    "categoryOrProductUrls": [
        {
            "url": "https://www.amazon.com/s?k=home+decor"
        }
    ],
    "maxItemsPerStartUrl": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers-hub/amazon-product-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 = {
    "categoryOrProductUrls": [{ "url": "https://www.amazon.com/s?k=home+decor" }],
    "maxItemsPerStartUrl": 500,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers-hub/amazon-product-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 '{
  "categoryOrProductUrls": [
    {
      "url": "https://www.amazon.com/s?k=home+decor"
    }
  ],
  "maxItemsPerStartUrl": 500
}' |
apify call scrapers-hub/amazon-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Product Scraper",
        "description": "📦 Amazon Product Scraper extracts product listings, prices, ratings, variants & more from Amazon fast. 🔎 Automate product research, monitor competitors, and streamline sourcing. 🚀 Save time with reliable, structured data for smarter decisions",
        "version": "1.0",
        "x-build-id": "Ur1JvMAiAQbxgFQK2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers-hub~amazon-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers-hub-amazon-product-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/scrapers-hub~amazon-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers-hub-amazon-product-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/scrapers-hub~amazon-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers-hub-amazon-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "categoryOrProductUrls"
                ],
                "properties": {
                    "categoryOrProductUrls": {
                        "title": "Amazon URLs",
                        "type": "array",
                        "description": "List of Amazon search result or category URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItemsPerStartUrl": {
                        "title": "Max Items Per URL",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of items to scrape per starting URL.",
                        "default": 500
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
