# Notino Product Search Scraper (`stealth_mode/notino-product-search-scraper`) Actor

Scrape product listings from Notino.com search and category pages across all country sites. Collect prices, availability, reviews, variants, promotions, and 40+ fields per product — perfect for price monitoring, catalog research, and competitive analysis.

- **URL**: https://apify.com/stealth\_mode/notino-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

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

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Notino.com Products Search Scraper: Extract Beauty Product Data at Scale

---

### What Is Notino.com?

Notino.com is one of Europe's largest online retailers specializing in perfumes, cosmetics, skincare, and beauty products. Operating across dozens of country-specific domains (`.co.uk`, `.de`, `.fr`, `.cz`, and more), Notino hosts hundreds of thousands of product listings from thousands of global brands.

For businesses and researchers who need to monitor pricing, track stock availability, or analyze product catalogs at scale, manually browsing Notino is impractical. The **Notino Products Search Scraper** automates this entirely — turning any search or category page into a structured, export-ready dataset.

---

### Overview

The **Notino.com Products Search Scraper** targets product listing pages — search results, brand pages, and filtered category views — and extracts every available product attribute per listing. It works across all Notino country sites, making it suitable for multi-market analysis.

Designed for:

- **E-commerce analysts** tracking competitor pricing and promotions
- **Brand managers** monitoring how their products appear on Notino
- **Data scientists** building beauty product datasets for ML or research
- **Retailers and resellers** tracking stock availability and discount patterns
- **Market researchers** studying assortment depth by brand or category

Key capabilities include configurable item limits per URL, resilient error handling for failed pages, and support for all Notino regional domains.

---

### Input Format

The scraper accepts a simple JSON configuration:

```json
{
  "urls": [
    "https://www.notino.co.uk/nivea/?f=2-1-6462"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

#### Field Reference

| Field | Type | Default | Description |
|---|---|---|---|
| `urls` | `array` | — | One or more Notino product search/category page URLs to scrape. Supports brand pages, search results, and filtered views. |
| `ignore_url_failures` | `boolean` | `true` | When `true`, the scraper continues running if a URL fails, skipping it instead of stopping the entire run. Recommended for bulk jobs. |
| `max_items_per_url` | `integer` | `20` | Maximum number of products collected per URL. Increase up to `200`+ for full category coverage. |

#### URL Tips

- Use **brand + filter URLs** (e.g., `/nivea/?f=2-1-6462`) to target specific product types within a brand
- Switch the domain to target other countries: `notino.de`, `notino.fr`, `notino.es`, etc.
- Pagination is handled automatically — no need to manually add page parameters
- Paste multiple URLs to scrape several categories or brands in a single run

> **Example multi-market input:**
>
> ```json
> "urls": [
>   "https://www.notino.co.uk/lancome/",
>   "https://www.notino.de/lancome/",
>   "https://www.notino.fr/lancome/"
> ]
> ```

***

### Output Format

**Sample output**

```json
{
  "id": 16180070,
  "master_id": 16180070,
  "url": "/essence/extreme-shine-transparent-lip-gloss/",
  "price_information": {
    "price": 1.8,
    "tax": 20,
    "original_price": null,
    "dual_price": null,
    "unit_price": {
      "price_per_unit": 360,
      "unit": {
        "unit_name": "l",
        "amount": 1
      }
    }
  },
  "image_url": "/essence/4059729302809_01-o__240513.jpg",
  "name": "Extreme Shine",
  "sub_name": "",
  "brand_name": "essence",
  "annotation": "plumping lip gloss",
  "stock_availability": "MoreThan20",
  "product_code": "ESSEXSW_KLIP55",
  "product_ad_id": "ad_14b3caa576a11bcf06b6dca8010e3af8",
  "master_product_code": "ESSEXSW_KLIP55",
  "review_information": {
    "score": 4.4,
    "count": 10
  },
  "show_grouped": true,
  "is_new_item": false,
  "elis_id": 1921079,
  "master_catalog_id": 1921079,
  "is_pharmacy": false,
  "wishlist_disabled": false,
  "is_forbidden_to_offer": false,
  "has_free_delivery": false,
  "has_modiface": false,
  "is_sponsored": true,
  "discount_reason": "OnSale",
  "special_offer_info": {
    "type": "None",
    "sale": null,
    "show_icon": false,
    "discount_code": null
  },
  "promotion_data": {
    "free_delivery": false,
    "is_discount": false,
    "discount_value": null,
    "discount_type": "Relative",
    "voucher_code": null,
    "tags": [],
    "discount_with_condition": {
      "name": "Cosmetics",
      "name_type": "Category",
      "condition": 10,
      "condition_type": "Price",
      "discount": 15,
      "dual_condition": null,
      "dual_discount": null
    },
    "free_delivery_with_condition": null,
    "campaign_ids": [
      63627
    ],
    "discounted_price": null,
    "dual_discounted_price": null,
    "voucher_not_for_cheapest": false
  },
  "variants": [
    {
      "id": 16172779,
      "additional_info": "shade 11 5 ml",
      "colors": [
        "D88F86"
      ]
    },
    {
      "id": 16334861,
      "additional_info": "shade 16 Nude Sorbet 5 ml",
      "colors": [
        "e06c60"
      ]
    },
    {
      "id": 16290292,
      "additional_info": "shade 14 Biscuit Bliss 5 ml",
      "colors": [
        "754533"
      ]
    },
    {
      "id": 16338658,
      "additional_info": "shade 02 Summer Punch 5 ml",
      "colors": [
        "F79CC9"
      ]
    },
    {
      "id": 16358117,
      "additional_info": "shade 21 Pretty in Pink 5 ml",
      "colors": [
        "ff4d72"
      ]
    },
    {
      "id": 16358113,
      "additional_info": "shade 19 Frosted Fairy 5 ml",
      "colors": [
        "FDC4A5"
      ]
    },
    {
      "id": 16290293,
      "additional_info": "shade 15 Rusty Kiss 5 ml",
      "colors": [
        "ba302b"
      ]
    },
    {
      "id": 16263032,
      "additional_info": "shade 13 Glazed Berry 5 ml",
      "colors": [
        "B73E5B"
      ]
    },
    {
      "id": 16261994,
      "additional_info": "shade 12 Dazzling Apricot 5 ml",
      "colors": [
        "FF856D"
      ]
    },
    {
      "id": 16183646,
      "additional_info": "shade 101 Milky Way 5 ml",
      "colors": [
        "F8FBFA"
      ]
    },
    {
      "id": 16180070,
      "additional_info": "shade 01 Crystal Clear 5 ml",
      "colors": [
        "FFFFFF"
      ]
    },
    {
      "id": 16334866,
      "additional_info": "shade 17 Mocha Mingle 5 ml",
      "colors": [
        "a44c40"
      ]
    },
    {
      "id": 16172780,
      "additional_info": "shade 10 5 ml",
      "colors": [
        "CC7AC4"
      ]
    },
    {
      "id": 16334869,
      "additional_info": "shade 18 Flaming Rose 5 ml",
      "colors": [
        "fa4b5c"
      ]
    }
  ],
  "categories": [],
  "sub_categories": [],
  "types": [],
  "kinds": [],
  "attributes": [],
  "product_attributes": [
    "Gift"
  ],
  "product_tags": [
    {
      "type": "Label",
      "value": "OnSale"
    },
    {
      "type": "Label",
      "value": "FreeGift"
    }
  ],
  "product_variants": {
    "count": 14,
    "display_type": "ColorPicker",
    "displayed_variants": [
      {
        "catalog_id": 1921079,
        "display_value": "FFFFFF"
      },
      {
        "catalog_id": 1921088,
        "display_value": "F8FBFA"
      },
      {
        "catalog_id": 7130762,
        "display_value": "FDC4A5"
      }
    ]
  },
  "primary_category": "Makeup",
  "primary_subcategory": "Lips",
  "primary_type": "Lip Glosses",
  "primary_kind": "Cosmetics and other needs",
  "can_show_labels": true,
  "is_loreal_label": false,
  "from_url": "https://www.notino.co.uk/search.asp?exps=lip"
}
```

Each scraped product returns a rich record with 40+ fields covering identity, pricing, availability, taxonomy, and promotional metadata.

#### Identity & Linking

| Field | Meaning |
|---|---|
| `ID` | Unique Notino identifier for this specific product variant |
| `Master ID` | Identifier grouping all variants of the same base product |
| `Master Catalog ID` | Catalog-level master ID used internally by Notino |
| `Master Product Code` | Shared product code across all variants |
| `Product Code` | SKU-level code for this specific variant |
| `Elis ID` | Internal system identifier (Notino's catalog management reference) |
| `Product Ad ID` | Identifier used for advertising and sponsored placement tracking |
| `URL` | Direct link to the product detail page |

#### Naming & Branding

| Field | Meaning |
|---|---|
| `Name` | Primary product name as displayed on the listing |
| `Sub Name` | Secondary name or subtitle (e.g., variant descriptor, edition name) |
| `Brand Name` | The brand that manufactures the product |
| `Annotation` | Short marketing description or tagline shown on the listing card |

#### Pricing & Promotions

| Field | Meaning |
|---|---|
| `Price Information` | Full pricing object including current price, original price, currency, and discount percentage |
| `Discount Reason` | Text explaining why a discount is applied (e.g., "clearance", "promotion") |
| `Special Offer Info` | Details of any active special offer attached to the product |
| `Promotion Data` | Structured data about ongoing promotional campaigns (e.g., bundle deals, loyalty offers) |
| `Has Free Delivery` | Whether the product currently qualifies for free shipping |

#### Availability & Stock

| Field | Meaning |
|---|---|
| `Stock Availability` | Current stock status (e.g., in stock, limited, out of stock) |
| `Is Forbidden To Offer` | Whether the product is restricted from being listed or sold in the current market |

#### Media

| Field | Meaning |
|---|---|
| `Image URL` | URL of the primary product image |
| `Has Modiface` | Whether the product supports Modiface AR try-on functionality |

#### Reviews & Social Proof

| Field | Meaning |
|---|---|
| `Review Information` | Aggregated review data including rating score and review count |

#### Product Flags & Attributes

| Field | Meaning |
|---|---|
| `Is New Item` | Whether the product is flagged as newly added to Notino |
| `Is Sponsored` | Whether the listing is a paid/sponsored placement |
| `Is Pharmacy` | Whether the product belongs to the pharmacy/dermopharmacy segment |
| `Show Grouped` | Whether variants are grouped together under one listing card |
| `Can Show Labels` | Whether promotional labels (e.g., "New", "Sale") are eligible to display |
| `Is Loreal Label` | Whether the product carries a L'Oréal group brand label |
| `Wishlist Disabled` | Whether the wishlist/save feature is disabled for this product |

#### Taxonomy & Classification

| Field | Meaning |
|---|---|
| `Categories` | All top-level categories the product belongs to |
| `Sub Categories` | Subcategory classifications within the primary category |
| `Types` | Product type tags (e.g., "Eau de Parfum", "Moisturizer") |
| `Kinds` | More granular classification within a type (e.g., "for dry skin") |
| `Primary Category` | The single main category used for primary navigation |
| `Primary Subcategory` | The single main subcategory |
| `Primary Type` | The dominant product type classification |
| `Primary Kind` | The dominant kind classification |

#### Variants & Product Structure

| Field | Meaning |
|---|---|
| `Variants` | Summary of available variants (e.g., sizes, shades) |
| `Product Variants` | Full variant-level detail including individual codes, prices, and availability per variant |
| `Attributes` | General product attributes (e.g., "vegan", "alcohol-free") |
| `Product Attributes` | Detailed structured attributes specific to the product type |
| `Product Tags` | Tags used for internal filtering and recommendations |

***

### How to Use

1. **Find your target pages** — Navigate to Notino.com (any country domain) and open a brand page, category page, or search results page with filters applied. Copy the full URL.
2. **Build your input** — Add the URL(s) to the `urls` array. Set `max_items_per_url` based on how many products you need (up to `200` per URL is a practical starting point for category pages).
3. **Configure error handling** — Keep `ignore_url_failures: true` for multi-URL runs to prevent a single bad URL from halting the job.
4. **Run the scraper** — Start the actor and monitor progress in the run log.
5. **Export your data** — Download results as JSON, CSV, or Excel for use in spreadsheets, databases, or BI platforms.

**Best practices:**

- Use filtered URLs (with `?f=...` parameters) to narrow results to a specific product type, reducing noise in your dataset
- For brand-wide coverage across multiple markets, pass country-specific URLs in a single run
- If `max_items_per_url` is set lower than the total page count, the scraper will collect the first N items in the listing order

**Common issues:**

- If a URL returns zero results, confirm it is a **product listing page** (search or category), not a single product detail page
- Heavily filtered URLs with very few results may return fewer items than your `max_items_per_url` limit — this is expected behavior

***

### Use Cases & Business Value

- **Price monitoring:** Track daily or weekly price changes across brands or categories on Notino
- **Promotional intelligence:** Capture discount reasons and special offer data to understand Notino's promotional calendar
- **Catalog auditing:** Verify that your brand's products are correctly listed, categorized, and attributed
- **Competitive benchmarking:** Compare product depth, pricing, and availability between competing brands
- **Market entry research:** Analyze assortment and pricing on country-specific Notino domains before entering a new market
- **ML dataset building:** Collect large-scale, structured beauty product data for training recommendation or classification models

***

### Conclusion

The **Notino.com Products Search Scraper** delivers one of the most comprehensive product datasets available from any European beauty retailer. With 40+ fields per product — spanning pricing, promotions, taxonomy, variants, and flags — it provides the depth needed for serious e-commerce intelligence. Whether you are monitoring a single brand or mapping an entire category across multiple markets, this scraper turns Notino listing pages into structured, actionable data in minutes.

# Actor input Schema

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

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

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

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

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.notino.co.uk/nivea/?f=2-1-6462"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.notino.co.uk/nivea/?f=2-1-6462"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/notino-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.notino.co.uk/nivea/?f=2-1-6462"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/notino-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.notino.co.uk/nivea/?f=2-1-6462"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/notino-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Notino Product Search Scraper",
        "description": "Scrape product listings from Notino.com search and category pages across all country sites. Collect prices, availability, reviews, variants, promotions, and 40+ fields per product — perfect for price monitoring, catalog research, and competitive analysis.",
        "version": "0.0",
        "x-build-id": "fsr2WmdWNHvu6lbEY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~notino-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-notino-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~notino-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-notino-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~notino-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-notino-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
