# Nykaa Product Scraper (`automation-lab/nykaa-product-scraper`) Actor

Extract Nykaa category products with prices, discounts, ratings, stock, offers, images, SKUs, and source context for recurring market monitoring.

- **URL**: https://apify.com/automation-lab/nykaa-product-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.19 / 1,000 nykaa products

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Nykaa Product Scraper

Extract structured product data from public Nykaa category catalogs.

Turn Nykaa category URLs or numeric category IDs into an export-ready dataset of products, brands, prices, discounts, ratings, stock signals, offers, images, and canonical links.

Use the Actor once for market research or schedule it for recurring Indian beauty ecommerce monitoring.

### What does Nykaa Product Scraper do?

Nykaa Product Scraper reads anonymous product listings from Nykaa category catalogs.

Give it one or more category URLs, choose a result limit, and receive normalized product rows in the Apify dataset.

The Actor follows catalog pagination automatically.

It deduplicates products by Nykaa product ID.

It does not require a Nykaa login.

The current version focuses on category catalogs, the route verified for reliable anonymous access.

### Who is it for?

💄 **Beauty brands** can compare price positioning, promotions, ratings, and availability across categories.

🏪 **Retail and marketplace teams** can monitor assortment gaps and category movements.

📊 **Pricing analysts** can schedule snapshots and compare MRP with current selling price.

🔬 **Market researchers** can export structured category data instead of copying product cards manually.

🧑‍💻 **Data engineers** can feed a stable JSON schema into warehouses, alerts, and dashboards.

🛒 **Agencies and consultants** can build repeatable category reports for Indian beauty clients.

### Why use this Nykaa scraper?

The normal Nykaa site is protected and catalog responses can be large.

This Actor packages the working request route, India proxy configuration, pagination, response validation, normalization, retries, and deduplication into one run.

You get consistent field names even when Nykaa's source names differ.

Failed extraction does not silently produce an empty successful run.

Small defaults make the first test inexpensive.

Apify handles scheduling, API access, storage, exports, webhooks, and integrations around the scraper.

### What data can you extract?

| Field | Description |
|---|---|
| `source` | Source website, `nykaa.com` |
| `categoryId` | Numeric Nykaa category identifier |
| `categoryUrl` | Category URL associated with the input |
| `productId` | Nykaa product identifier |
| `sku` | Product SKU when available |
| `name` | Product name |
| `brand` | Brand name |
| `mrp` | Maximum retail price |
| `currentPrice` | Current listed selling price |
| `discountPercent` | Listed discount percentage |
| `rating` | Product rating |
| `ratingCount` | Number of ratings |
| `stock` | Source stock value from `gludo_stock` |
| `offerCount` | Number of attached offers |
| `offers` | Structured offer details |
| `imageUrl` | Main product image URL |
| `productUrl` | Canonical Nykaa product URL |
| `categoryValues` | Source taxonomy values when supplied |
| `scrapedAt` | UTC extraction timestamp |

### How to scrape Nykaa category products

1. Open the Actor input page.

2. Paste a Nykaa category URL containing `/c/<number>`.

3. Set **Maximum products** to the number of unique rows you need.

4. Keep the recommended India Residential proxy setting.

5. Click **Start**.

6. Open the default dataset when the run succeeds.

7. Export the rows as JSON, CSV, Excel, XML, or another supported format.

### Input

A small category run looks like this:

```json
{
  "categoryUrls": [
    "https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397"
  ],
  "maxItems": 20
}
````

You can use numeric IDs instead:

```json
{
  "categoryIds": ["8397"],
  "maxItems": 10
}
```

You may combine URLs and IDs in one run.

Duplicate category IDs are processed only once.

If no input is stored, the Actor uses the same small category shown in the input prefill.

### Input options

#### `categoryUrls`

An array of Nykaa category URLs.

Each URL must use `nykaa.com` and contain a numeric category segment such as `/c/8397`.

URLs outside Nykaa fail validation.

#### `categoryIds`

An array of numeric Nykaa category IDs represented as strings.

This is convenient for API-driven jobs that already store category identifiers.

#### `maxItems`

The maximum number of unique products saved across all supplied categories.

Allowed range: 1 to 10,000.

Default: 20.

#### `proxyConfiguration`

Apify Residential proxy in India is preselected because direct catalog requests are normally blocked.

Change it only if your custom proxy is known to access Nykaa reliably.

### Output example

```json
{
  "source": "nykaa.com",
  "categoryId": "8397",
  "categoryUrl": "https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397",
  "productId": "19917670",
  "sku": "DALBA00000011",
  "name": "d'Alba piedmont White Truffle First Spray Serum",
  "brand": "d'Alba Piedmont",
  "mrp": 1900,
  "currentPrice": 1425,
  "discountPercent": 25,
  "rating": 4.5,
  "ratingCount": 4060,
  "stock": true,
  "offerCount": 3,
  "offers": [],
  "imageUrl": "https://images-static.nykaa.com/media/catalog/product/example.jpg",
  "productUrl": "https://www.nykaa.com/example/p/19917670",
  "categoryValues": [],
  "scrapedAt": "2026-07-19T04:19:46.575Z"
}
```

Offer objects are preserved as structured source data and may contain campaign conditions, dates, labels, and discount rules.

Fields unavailable for a particular product are returned as `null` or an empty array.

### How much does it cost to scrape Nykaa products?

The Actor uses pay-per-event pricing.

A small start fee is charged once per run, followed by one product event for each dataset row.

Current provisional pricing starts at **$0.005 per run** and tier-dependent product pricing shown in the Apify Console.

Higher Apify subscription tiers receive lower per-product prices.

Residential proxy traffic is included in your normal Apify platform usage and is separate from Actor PPE charges.

For cost control, test with 10–20 products before scheduling larger category snapshots.

The Console shows the maximum estimated charge before a run and the actual charged events afterward.

### Price and assortment monitoring workflow

Schedule the Actor daily or weekly with a fixed list of category IDs.

Store every run in a named dataset or export it to your warehouse.

Join snapshots by `productId` or `sku`.

Calculate changes in `currentPrice`, `discountPercent`, `stock`, and `offerCount`.

Trigger alerts when a tracked brand appears, disappears, goes out of stock, or changes price.

This workflow is useful for repeat monitoring because product identifiers remain stable across snapshots.

### Tips for reliable runs

✅ Start with one known category and a low item limit.

✅ Keep the default India residential proxy configuration.

✅ Use numeric IDs when building automated pipelines.

✅ Schedule categories separately when you need independent completion and cost records.

✅ Treat offer structures as source data that can evolve over time.

✅ Use `scrapedAt` to distinguish snapshots.

✅ Inspect logs if a category unexpectedly returns no valid products.

### Integrations

Connect the dataset to **Google Sheets** for analyst-friendly price trackers.

Send completed-run webhooks to **Slack** or **Microsoft Teams** for stock and promotion alerts.

Load JSON rows into **BigQuery**, **Snowflake**, or **PostgreSQL** for historical analysis.

Use **Make** or **Zapier** to route newly observed products into review queues.

Call the Actor from **Airflow**, **Dagster**, or a cron job for scheduled category snapshots.

Use the Apify API to start a run whenever your internal category watchlist changes.

### API usage with JavaScript

Install the official client:

```bash
npm install apify-client
```

Run the Actor and read its dataset:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/nykaa-product-scraper').call({
  categoryIds: ['8397'],
  maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### API usage with Python

Install the client:

```bash
pip install apify-client
```

Then call the Actor:

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/nykaa-product-scraper').call(run_input={
    'categoryIds': ['8397'],
    'maxItems': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

### API usage with cURL

Start a run:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/automation-lab~nykaa-product-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"categoryIds":["8397"],"maxItems":20}'
```

Fetch items from a completed run's dataset:

```bash
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"
```

Do not expose your Apify token in client-side code or public repositories.

### Use with Apify MCP

Connect the Actor to Claude and other MCP-compatible clients through Apify MCP.

#### Claude Code setup

```bash
claude mcp add --transport http apify \
  "https://mcp.apify.com?tools=automation-lab/nykaa-product-scraper"
```

#### Claude Desktop setup

Add an HTTP MCP server using:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=automation-lab/nykaa-product-scraper"
    }
  }
}
```

#### Cursor setup

Open **Settings → Tools & MCP → New MCP Server** and use the same Apify MCP URL shown above.

#### VS Code setup

Add an HTTP MCP server named `apify` to your workspace MCP configuration with the same actor-specific URL.

Example prompts:

- “Scrape 20 products from Nykaa category 8397 and summarize the discount range.”
- “Collect this Nykaa category and group products by brand.”
- “Run my Nykaa category monitor and flag products whose current price is below MRP.”

### Scheduling and webhooks

Create an Apify schedule from a successful run or saved task.

Daily schedules suit active promotion monitoring.

Weekly schedules suit broader assortment research.

Attach a webhook for `ACTOR.RUN.SUCCEEDED` to notify your pipeline.

Use separate tasks when categories need different limits or schedules.

Review recurring costs after the first representative scheduled run.

### Data quality

The Actor validates the JSON envelope before reading products.

Records missing both a product ID and product name are skipped.

Numeric price and rating fields are normalized to numbers where possible.

Product and image links are converted to absolute URLs.

Products are deduplicated by source product ID across the run.

The Actor preserves source offer objects rather than guessing their meaning.

Nykaa can update catalog values between runs, so snapshots represent extraction time rather than historical truth.

### Limitations

Only anonymous category catalog extraction is supported in this version.

Keyword search is not advertised or accepted as input.

Product detail pages, ingredients, reviews, and shade-level enrichment are not fetched.

The Actor uses popularity order because that request shape has been verified.

A category ID that no longer exists may produce a failed run rather than an empty dataset.

Nykaa can change its private response envelope or anti-bot controls without notice.

Very large runs take longer and consume more residential proxy bandwidth.

### Proxy and privacy

Nykaa blocks ordinary direct catalog traffic, so the Actor defaults to an Indian residential exit.

Each bounded retry rotates the proxy session for the failed page.

The Actor accesses public product catalog data and does not log into Nykaa.

Do not provide account credentials, personal customer information, or private URLs as input.

Run outputs may contain commercial catalog information but should not contain customer data.

Protect your Apify API token and downstream exports using normal access controls.

### Is scraping Nykaa legal?

Scraping public catalog information can be lawful in many contexts, but laws and contractual restrictions vary.

You are responsible for your use case, collection volume, storage, and downstream processing.

Review Nykaa's terms and applicable laws before production use.

Avoid harmful load, circumvention beyond normal access, resale that violates rights, and collection of personal data.

This Actor is a technical tool and not legal advice.

### Troubleshooting

#### Why did the run say no valid products were found?

Check that every URL is on `nykaa.com` and contains `/c/<numeric-id>`.

Try the same category with a small `maxItems` value and the default India proxy.

The category may have moved, become empty, or returned a changed response shape.

#### Why does a direct request work differently?

Nykaa uses anti-bot controls and often blocks direct cloud or datacenter traffic.

Keep the prefilled Residential proxy configuration unless you have a tested custom alternative.

#### Why are some fields null or arrays empty?

Nykaa does not supply every value for every listing.

The Actor preserves missing values rather than inventing product facts.

#### Why did fewer rows arrive than `maxItems`?

`maxItems` is a ceiling, not a promise.

A category can contain fewer unique valid products than the requested limit.

### Related scrapers

Explore other Automation Lab ecommerce tools when your research extends beyond Nykaa:

- [Amazon Product Scraper](https://apify.com/automation-lab/amazon-product-scraper) for Amazon product research.
- [Flipkart Scraper](https://apify.com/automation-lab/flipkart-scraper) for Indian marketplace monitoring.
- [Myntra Scraper](https://apify.com/automation-lab/myntra-scraper) for Indian fashion catalog research.

Use only actors whose source and output contract match your workflow.

### Frequently asked questions

#### Does it require a Nykaa account?

No. The supported category catalog workflow is anonymous.

#### Can I scrape several categories?

Yes. Add multiple category URLs, IDs, or both. The global result limit applies across them.

#### Can I search for keywords?

Not in the current version. Use verified category URLs or IDs.

#### Does it scrape all pages automatically?

Yes, until it reaches the category end or your `maxItems` limit.

#### Can I export to CSV or Excel?

Yes. Use the dataset export controls or API format parameters.

#### Can I schedule recurring snapshots?

Yes. Save the input as an Apify task, then attach a schedule and optional webhook.

#### How are duplicate products handled?

The first occurrence of each Nykaa product ID is saved; later duplicates are skipped.

#### What happens if Nykaa blocks a request?

The Actor retries the page with a fresh proxy session up to three times, then moves on or fails if no category succeeds.

### Start collecting Nykaa catalog data

Use the prefilled category for a 20-product first run.

Review the resulting prices, stock values, offers, and links.

Then replace the example with the category IDs that matter to your monitoring workflow.

Schedule the Actor when you are satisfied with field coverage and run cost.

# Actor input Schema

## `categoryUrls` (type: `array`):

Nykaa category URLs containing /c/<category ID>. The scraper extracts the category ID and paginates its public catalog.

## `categoryIds` (type: `array`):

Optional numeric Nykaa category IDs. You can combine these with category URLs.

## `maxItems` (type: `integer`):

Stop after saving this many unique Nykaa products across all categories.

## `proxyConfiguration` (type: `object`):

Nykaa blocks direct catalog requests. Apify Residential proxy in India is preselected and recommended.

## Actor input object example

```json
{
  "categoryUrls": [
    "https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397"
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "categoryUrls": [
        "https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397"
    ],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/nykaa-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 = {
    "categoryUrls": ["https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397"],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/nykaa-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 '{
  "categoryUrls": [
    "https://www.nykaa.com/skin/moisturizers/serums-essence/c/8397"
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call automation-lab/nykaa-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Nykaa Product Scraper",
        "description": "Extract Nykaa category products with prices, discounts, ratings, stock, offers, images, SKUs, and source context for recurring market monitoring.",
        "version": "0.1",
        "x-build-id": "uAdWCLrAyuPh3HtDc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~nykaa-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-nykaa-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/automation-lab~nykaa-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-nykaa-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/automation-lab~nykaa-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-nykaa-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",
                "properties": {
                    "categoryUrls": {
                        "title": "🛍️ Nykaa category URLs",
                        "type": "array",
                        "description": "Nykaa category URLs containing /c/<category ID>. The scraper extracts the category ID and paginates its public catalog.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoryIds": {
                        "title": "🔢 Category IDs",
                        "type": "array",
                        "description": "Optional numeric Nykaa category IDs. You can combine these with category URLs.",
                        "items": {
                            "type": "string",
                            "pattern": "^[0-9]+$"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum products",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Stop after saving this many unique Nykaa products across all categories.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy configuration",
                        "type": "object",
                        "description": "Nykaa blocks direct catalog requests. Apify Residential proxy in India is preselected and recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "IN"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
