# Kicks Product Search Scraper (`stealth_mode/kicks-product-search-scraper`) Actor

Scrape product listings from Kicks.se, Kicks.no, and Kicks.fi search results instantly. Capture product names, prices, ratings, stock status, variants, and 20+ attributes per item — perfect for price monitoring, competitor analysis, and beauty e-commerce research.

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

## Pricing

from $2.00 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Kicks Products Search Scraper: Extract Beauty & Cosmetics Data
---

### What Is Kicks?

Kicks is a leading Scandinavian beauty and cosmetics retailer operating across Sweden (kicks.se), Norway (kicks.no), and Finland (kicks.fi). The platform hosts thousands of products — from skincare and makeup to fragrances and wellness items — served by major brands like MAC, Nyx, Charlotte Tilbury, and many others. For beauty retailers, price aggregators, and market researchers, manually tracking Kicks product data across multiple regions is impractical. The **Kicks Products Search Scraper** automates this, delivering structured product information from search results in seconds.

---

### Overview

The **Kicks Products Search Scraper** extracts product listings from Kicks search result pages, converting dynamic e-commerce data into clean, queryable records. It is built for:

- **Price monitoring & comparison** — Track beauty product pricing across Nordic regions
- **Competitor intelligence** — Monitor competitor inventory and positioning
- **Product aggregators** — Feed data into multi-channel product databases
- **Market research** — Analyze beauty trends and product availability
- **E-commerce developers** — Integrate Kicks product data into custom platforms

Key features include configurable per-URL item limits, robust error handling via `ignore_url_failures`, and comprehensive product attributes including pricing, ratings, stock status, and variant information.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.kicks.se/sok?search-query=lip&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

#### Input Parameters Explained

| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| `urls` | Array of strings | Yes | Direct links to Kicks search result pages to scrape. Can accept URLs from kicks.se, kicks.no, or kicks.fi | `["https://www.kicks.se/sok?search-query=lip&page=2", "https://www.kicks.no/sok?search-query=foundation"]` |
| `ignore_url_failures` | Boolean | No | If `true`, the scraper continues even if some URLs fail. If `false`, the run stops on the first error. | `true` |
| `max_items_per_url` | Integer | No | Maximum number of product listings to extract per URL (default: `20`, max: `200`). Set higher to capture full page results. | `200` |

**Tips:**

- Use search URLs with `search-query` parameter to target specific product categories (e.g., `lip`, `foundation`, `fragrance`)
- Pagination is supported — add `&page=1`, `&page=2`, etc. to scrape multiple pages
- Mix URLs from different Nordic sites (.se, .no, .fi) in a single run

***

### Output Format

#### Example Output Record

```json
{
  "id": 1010376,
  "brand_id": 993,
  "list_name": {
    "lines": [
      {
        "value": "Nilens Jord",
        "type": "Brand",
        "url": null
      },
      {
        "value": "Lipliner",
        "type": "Name",
        "url": null
      }
    ]
  },
  "standard_name": "Nilens Jord Lipliner 961 Rosy Nude",
  "snippet": null,
  "link_action": {
    "product_id": 1010376,
    "url": "/nilens-jord-lipliner-961-rosy-nude",
    "no_follow": false,
    "open_in_new_window": false,
    "$type": "ProductLinkAction"
  },
  "primary_image": {
    "image_type": "PrimaryImage",
    "url": "https://images.matas.dk/encode/5709994022313_1_20250908065400.jpg",
    "sort_order": 0
  },
  "action": "VariantPicker",
  "price_info": {
    "minimum_sales_quantity": 1,
    "price_before": "195 kr",
    "recommended_price_label": null,
    "price_condition_label": null,
    "campaign_disclaimer": "Gäller Atelier Rouge, BeautyAct, FLAER, KICKS Beauty, Matas Striber, Nilens Jord, Sunny Stories.<br />13/5–2/6 i butik, på kicks.se och i appen.",
    "campaign_name": "25% på prisvärd beauty*",
    "price": "146,25 kr",
    "is_on_discount": true,
    "price_label": null,
    "price_before_label": null
  },
  "average_rating": 3.0,
  "review_count": 2,
  "splashes": {
    "primary": {
      "placement": "Primary",
      "display_type": "Label",
      "type": "Discount",
      "lines": [
        "Spara 25%"
      ],
      "text_color": "#FFFFFF",
      "background_color": "#D11616",
      "image_url": null,
      "is_transparant": false,
      "end_date": null,
      "discount_id": 21679
    },
    "secondary": {
      "placement": "Secondary",
      "display_type": "Label",
      "type": "OnlyInMatas",
      "lines": [
        "Bara på KICKS"
      ],
      "text_color": "#FFFFFF",
      "background_color": "#161616",
      "image_url": null,
      "is_transparant": false,
      "end_date": null,
      "discount_id": null
    },
    "extra": [],
    "supplimentary": []
  },
  "show_reviews": true,
  "variants": {
    "total_amount": 6,
    "variant_list": [
      {
        "product_id": 1010376,
        "display_type": "Text",
        "name": "961 Rosy Nude",
        "colors": [],
        "is_selected": true,
        "link_action": {
          "product_id": 1010376,
          "url": "/nilens-jord-lipliner-961-rosy-nude",
          "no_follow": false,
          "open_in_new_window": false,
          "$type": "ProductLinkAction"
        },
        "unavailable": false
      },
      {
        "product_id": 1010373,
        "display_type": "Text",
        "name": "963 Berry Pink",
        "colors": [],
        "is_selected": false,
        "link_action": {
          "product_id": 1010373,
          "url": "/nilens-jord-lipliner-963-berry-pink",
          "no_follow": false,
          "open_in_new_window": false,
          "$type": "ProductLinkAction"
        },
        "unavailable": false
      },
      {
        "product_id": 1010375,
        "display_type": "Text",
        "name": "965 Wine Red",
        "colors": [],
        "is_selected": false,
        "link_action": {
          "product_id": 1010375,
          "url": "/nilens-jord-lipliner-965-wine-red",
          "no_follow": false,
          "open_in_new_window": false,
          "$type": "ProductLinkAction"
        },
        "unavailable": false
      },
      {
        "product_id": 1010377,
        "display_type": "Text",
        "name": "962 Chestnut...",
        "colors": [],
        "is_selected": false,
        "link_action": {
          "product_id": 1010377,
          "url": "/nilens-jord-lipliner-962-chestnut-red",
          "no_follow": false,
          "open_in_new_window": false,
          "$type": "ProductLinkAction"
        },
        "unavailable": false
      },
      {
        "product_id": 1010378,
        "display_type": "Text",
        "name": "964 Cardinal...",
        "colors": [],
        "is_selected": false,
        "link_action": {
          "product_id": 1010378,
          "url": "/nilens-jord-lipliner-964-cardinal-red",
          "no_follow": false,
          "open_in_new_window": false,
          "$type": "ProductLinkAction"
        },
        "unavailable": false
      }
    ]
  },
  "favorite_status": {
    "product_id": 1010376,
    "favorite_status": "RequireLogin",
    "is_login_available": true,
    "current_url": "/sok?search-query=lip&page=2"
  },
  "track_model": null,
  "explained_score": null,
  "bundle_info": null,
  "external_product_id": 94144403,
  "unit_amount": 1.04,
  "unit": "GRM",
  "in_stock": true,
  "ean": "5709994022313",
  "wrapping_flags": "None",
  "use_custom_chanel_styling": false,
  "currency": "SEK",
  "from_url": "https://www.kicks.se/sok?search-query=lip&page=2"
}
```

Each scraped product returns a comprehensive record with 26 fields, capturing pricing, availability, customer feedback, and variant details:

#### Core Identification & Naming

| Field | Meaning & Use |
|---|---|
| `ID` | Unique internal Kicks product identifier. Use this as the primary key for product deduplication and database matching. |
| `Brand ID` | Unique ID of the brand/manufacturer. Useful for brand-level analysis and filtering. |
| `Standard Name` | Official product name as defined in Kicks' catalog system. Consistent across regions and variants. |
| `List Name` | Display name shown in search results and category pages. May differ slightly from Standard Name. |
| `Snippet` | Short product description or tagline (e.g., "Long-lasting matte lipstick"). Useful for quick product overview in interfaces. |
| `External Product ID` | Manufacturer's product code or SKU (e.g., EAN code). Enables matching with supplier systems. |

#### Pricing & Commerce

| Field | Meaning & Use |
|---|---|
| `Price Info` | Current retail price in local currency (SEK, NOK, EUR). Includes original price, discount price, or promotional rates. Essential for price tracking and margin analysis. |
| `Currency` | Currency code (e.g., `SEK`, `NOK`, `EUR`). Always included to ensure proper price comparison. |
| `Unit Amount` | Quantity per unit (e.g., `30` for 30ml, `50` for 50g). Critical for calculating price-per-unit and making fair comparisons. |
| `Unit` | Unit of measurement (e.g., `ml`, `g`, `pcs`). Specifies what the Unit Amount represents. |
| `In Stock` | Boolean or inventory count indicating product availability. Used for real-time availability dashboards and stock monitoring. |
| `EAN` | European Article Number barcode. Enables integration with inventory and POS systems. |

#### Customer Feedback & Ratings

| Field | Meaning & Use |
|---|---|
| `Average Rating` | Mean customer review score (typically 0–5 or 0–100 scale). Used for product quality assessment and popularity ranking. |
| `Review Count` | Total number of customer reviews submitted. High count indicates reliable rating; low count suggests limited feedback. |
| `Show Reviews` | Boolean flag indicating whether customer reviews are publicly displayed on this product. Some products may hide reviews for privacy or business reasons. |

#### Imagery & Content

| Field | Meaning & Use |
|---|---|
| `Primary Image` | URL to the main product photo displayed in search results and listing pages. Use for visual product feeds and galleries. |
| `Use Custom Chanel Styling` | Boolean flag indicating whether this product uses custom brand (Chanel) styling for presentation. Affects how product is displayed visually. |

#### Product Variants & Options

| Field | Meaning & Use |
|---|---|
| `Variants` | Array of product variants available (e.g., sizes, colors, scents, formulations). Example: `["Rose Gold", "Nude", "Red"]` for a lipstick or `["30ml", "50ml", "100ml"]` for a serum. Essential for capturing all purchasing options. |
| `Bundle Info` | Details if this product is part of a bundle or multi-item set (e.g., "Lipstick + Liner Set"). Indicates combo deals and bundled pricing. |

#### Navigation & User Behavior

| Field | Meaning & Use |
|---|---|
| `Link Action` | The primary clickable URL or action associated with the product. Typically the product detail page URL. Use for linking scraped results back to Kicks. |
| `Action` | Secondary action or CTA (call-to-action) metadata. May represent "Add to Cart," "Buy Now," or "View Details" states. |

#### Advanced Analytics & Tracking

| Field | Meaning & Use |
|---|---|
| `Splashes` | Marketing tags or promotional labels applied to the product (e.g., "New", "Best Seller", "50% Off"). Useful for identifying featured or promoted items. |
| `Favorite Status` | Boolean indicating whether the product is marked as a favorite/wishlist item by the user running the scrape. Reflects user engagement. |
| `Track Model` | Internal tracking code used by Kicks analytics. Useful for advanced data linkage and proprietary reporting. |
| `Explained Score` | Proprietary score explaining product recommendation ranking or relevance to the search query. Higher score = better match. |

***

### How to Use

1. **Identify search queries** — Go to kicks.se, kicks.no, or kicks.fi and search for products (e.g., "lip", "foundation", "skincare"). Copy the full search result URL including the `search-query` parameter.

2. **Build the input** — Create a JSON config with your search URLs. For multi-page scraping, add multiple URLs with different page parameters:

```json
   {
     "urls": [
       "https://www.kicks.se/sok?search-query=foundation&page=1",
       "https://www.kicks.se/sok?search-query=foundation&page=2"
     ],
     "max_items_per_url": 200,
     "ignore_url_failures": true
   }
```

3. **Configure limits** — Set `max_items_per_url` based on your needs (e.g., `50` for quick scans, `200` for comprehensive lists).

4. **Enable error handling** — Use `ignore_url_failures: true` when scraping bulk URLs to prevent interruptions if a single page fails to load.

5. **Run and export** — Start the scraper and download results as JSON, CSV, or Excel for analysis.

**Best practices:**

- Stagger requests across multiple runs to avoid overloading the server
- Target specific product categories using the search-query parameter for higher-quality results
- Combine results from multiple Nordic sites for regional price comparison
- Update frequently to capture price changes and new inventory

***

### Use Cases & Business Value

- **Price Intelligence:** Track beauty product pricing trends across Sweden, Norway, and Finland in real-time
- **Inventory Monitoring:** Monitor stock levels for bestsellers and identify out-of-stock products
- **Market Research:** Analyze which brands and products dominate Nordic beauty retail
- **Product Aggregation:** Feed Kicks data into multi-retailer product databases and price comparison platforms
- **Competitive Analysis:** Compare your product portfolio and positioning against Kicks' offerings
- **Trend Analysis:** Identify trending colors, scents, and product formats based on review counts and ratings

By automating product data collection from Kicks, teams save dozens of hours monthly on manual research and gain competitive advantage through real-time market insights.

***

### Conclusion

The **Kicks Products Search Scraper** transforms beauty e-commerce research from a tedious manual task into a streamlined data pipeline. With 26 rich product attributes — from pricing and inventory to customer ratings and variants — it powers price monitoring, competitor intelligence, and market analysis for retailers, aggregators, and researchers across Scandinavia. Start scraping today and unlock actionable insights from Nordic beauty retail data.

# 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.kicks.se/sok?search-query=lip&page=2"
  ],
  "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.kicks.se/sok?search-query=lip&page=2"
    ],
    "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/kicks-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.kicks.se/sok?search-query=lip&page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/kicks-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.kicks.se/sok?search-query=lip&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/kicks-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kicks Product Search Scraper",
        "description": "Scrape product listings from Kicks.se, Kicks.no, and Kicks.fi search results instantly. Capture product names, prices, ratings, stock status, variants, and 20+ attributes per item — perfect for price monitoring, competitor analysis, and beauty e-commerce research.",
        "version": "0.0",
        "x-build-id": "oUZ2WPdZ9dV74KqJJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~kicks-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-kicks-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~kicks-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-kicks-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~kicks-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-kicks-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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
