# Trendyol Scraper Products · Prices · Reviews & Seller Emails (`memo23/trendyol-scraper`) Actor

Scrape Trendyol at scale — product listings, full detail (price, discount, seller company, specs, images, stock, rating) and complete customer reviews, all in Turkish Lira. Paste any search, category, product, or reviews URL — or just a keyword. Optional seller B2B emails + monitoring mode.

- **URL**: https://apify.com/memo23/trendyol-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** E-commerce, AI, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 product listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Trendyol Scraper

**Turn Trendyol into structured product, pricing, seller & review data.** Scrape [Trendyol](https://www.trendyol.com) — Turkey's largest online marketplace — from any search, category, product, or reviews URL (or just a keyword). Get product **listings**, full **product detail** (price, discount, seller, specs, images, stock, rating), and **customer reviews** — plus optional **seller B2B contact emails**. Prices are returned in Turkish Lira (₺) from the Turkish storefront. JSON or CSV out, billed per result.

#### How it works

![How Trendyol Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-trendyol.png)

### Why use this Trendyol Scraper

- **Three levels of depth in one actor** — product listings, deep product detail, and full reviews. Turn any of them on or off to control cost.
- **Real seller intelligence** — every product carries its seller's brand **and official company name**, so you can map who sells what.
- **Opt-in seller B2B emails** — discover a contact email for each product's seller company. Best-effort, billed only per email found. (Most Trendyol products are sold by third-party merchants — real companies you can reach.)
- **Complete, paginated reviews** — not just a teaser: rating, title, comment text, date, seller, helpful-count, and reviewer size/variant, page after page.
- **Coherent Turkish-Lira pricing** — every price, discount, and list price is returned in ₺ from the Turkish storefront, so your dataset is consistent.
- **Monitoring mode** — run on a schedule and get only the products you haven't seen before.
- **No browser, no CAPTCHA solving for you** — fast HTTP scraping with automatic retries and rotating residential proxies built in.

### What it extracts

| Tier | What you get |
|---|---|
| **Product listing** | One row per product from a search or category page — name, brand, price, rating, image, badges, position. |
| **Product detail** | Full price / original / discounted / discount %, currency, rating breakdown, stock, favourite count, seller (brand + company), category, all images, and product specs/attributes. |
| **Reviews** | Every review — rating, title, comment, date, seller name, helpful-count, reviewer size & variant (reviewer names are masked by Trendyol). |
| **Seller email** *(opt-in)* | A best-effort B2B contact email + website for each product's seller company. |

### Supported inputs

Paste any of these into **Trendyol URLs** — they're auto-classified:

- **Search pages** — `https://www.trendyol.com/sr?q=laptop`
- **Category pages** — any Trendyol category listing URL
- **Product pages** — `https://www.trendyol.com/{brand}/{slug}-p-{id}`
- **Reviews pages** — `https://www.trendyol.com/{brand}/{slug}-p-{id}/yorumlar`

…or skip URLs entirely and just set a **Keyword** (e.g. `sneakers`, `coffee machine`, `laptop`).

### Use cases

- **Price & promotion monitoring** — track prices, discounts, and stock across competitors and your own catalog.
- **Competitive & catalog intelligence** — pull entire categories with brand, seller, specs, and ratings.
- **Seller / merchant research** — map third-party sellers on Trendyol and build B2B lead lists with the email add-on.
- **Review & reputation analysis** — mine full review corpora for sentiment, sizing feedback, and product issues.
- **Market research** — analyze assortment, pricing bands, and rating distributions in Turkish e-commerce.

### How it works

1. You provide search/category/product/reviews URLs or a keyword.
2. The actor collects products from each search or category page (with pagination) and returns a **listing** record for each.
3. For every product (optional), it opens the product page and returns a rich **detail** record — price, seller, specs, images, stock, rating.
4. For every product (optional), it pulls the **reviews**, page by page, up to your per-product limit.
5. Optionally, it discovers a **seller contact email** for each product's seller company.
6. Results stream to your dataset as clean JSON/CSV rows, each tagged with a `type` (`listing` / `product` / `review`).

### Input configuration

| Field | Type | Description |
|---|---|---|
| `startUrls` | array | Trendyol search, category, product, or reviews URLs (auto-classified). |
| `keyword` | string | Builds a search when no URLs are given (e.g. `laptop`). |
| `scrapeProductDetails` | boolean | Fetch each product's detail page. Default **true**. |
| `scrapeReviews` | boolean | Fetch each product's reviews. Default **false**. |
| `maxReviewsPerProduct` | integer | Cap reviews collected per product. Default `100`. |
| `enrichEmails` | boolean | Discover a seller contact email per product (best-effort, billed per email). Default **false**. |
| `monitoringMode` | boolean | Only return products not seen on previous runs. Default **false**. |
| `resetMonitoringState` | boolean | One-shot: clear the "products already seen" record. |
| `maxItems` | integer | Hard cap on the number of **products** processed. |
| `maxConcurrency` | integer | Parallel product detail / reviews requests. Default `10`. |
| `proxy` | object | Proxy configuration — residential is required and set by default. |

### Output samples

**Product listing**
```json
{
  "source": "trendyol",
  "type": "listing",
  "productId": "879885114",
  "name": "Unisex Beyaz Siyah Termo Taban Yanı Şeritli Bağcıklı Spor Ayakkabı",
  "brand": "Tonny Black",
  "categoryName": "Sneaker",
  "price": 699.95,
  "currency": "TL",
  "ratingAverage": 4.08,
  "ratingCount": 4558,
  "freeCargo": true,
  "url": "https://www.trendyol.com/tonny-black/...-p-879885114"
}
````

**Product detail**

```json
{
  "source": "trendyol",
  "type": "product",
  "productId": "879885114",
  "name": "Tonny Black Unisex Beyaz Siyah ... Spor Ayakkabı",
  "price": 1249,
  "priceText": "1.249 TL",
  "currency": "TL",
  "currencyCode": "TRY",
  "discountedPrice": 1161.57,
  "discountPercentage": 7,
  "ratingAverage": 4.08,
  "commentCount": 2729,
  "inStock": true,
  "favoriteCount": 249755,
  "sellerName": "Tonny Black",
  "sellerOfficialName": "AYPİMA AYAKKABI İMALAT PAZARLAMA VE MATBAACILIK SANAYİ TİCARET LİMİTED ŞİRKETİ",
  "attributes": [{ "name": "Cinsiyet", "value": "Unisex" }],
  "images": ["https://cdn.dsmcdn.com/..."]
}
```

**Review**

```json
{
  "source": "trendyol",
  "type": "review",
  "productId": "819543890",
  "reviewId": "423518919",
  "userFullName": "D** T**",
  "rate": 5,
  "comment": "Çok güzel bir numara büyük almanızı öneririm...",
  "date": "06 Eylül 2024",
  "sellerName": "Tonny Black",
  "likeCount": 4,
  "productSize": "41"
}
```

**Product with seller email** (when `enrichEmails` is on)

```json
{
  "type": "product",
  "sellerOfficialName": "AYPİMA AYAKKABI İMALAT ... LİMİTED ŞİRKETİ",
  "contactEmail": "info@example.com",
  "contactWebsite": "https://example.com",
  "emailEnrichment": { "emails": ["info@example.com"], "website": "https://example.com" }
}
```

### Key output fields

- **Identity:** `productId`, `productGroupId`, `productCode`, `name`, `brand`, `categoryName`, `url`
- **Pricing:** `price`, `priceText`, `currency`, `currencyCode`, `originalPrice`, `discountedPrice`, `discountPercentage`
- **Signals:** `ratingAverage`, `ratingCount`, `commentCount`, `favoriteCount`, `inStock`, `freeCargo`
- **Seller:** `sellerName`, `sellerOfficialName`, `sellerId` (+ `contactEmail` / `contactWebsite` when enrichment is on)
- **Detail:** `attributes[]` (specs), `images[]`
- **Reviews:** `reviewId`, `rate`, `title`, `comment`, `date`, `sellerName`, `likeCount`, `productSize`, `variant`

### FAQ

**Which currency are prices in?** Turkish Lira (₺ / TRY) from the Turkish storefront, so your dataset stays consistent.

**Do reviews include the reviewer's name?** No — Trendyol masks reviewer names (e.g. `D** T**`). Rating, title, comment text, date, size, and helpful-count are all included.

**Can I get all reviews for a product?** Yes — reviews are collected page by page up to your `maxReviewsPerProduct` limit (popular products can have thousands).

**Does it include seller emails?** Only if you enable `enrichEmails`. It's best-effort and billed only per email actually found; it works best for third-party sellers (real companies).

**Do I need my own proxies?** No — residential proxies are built in.

**Can I run it on a schedule for only new products?** Yes — enable **Monitoring mode**.

### Support

Questions, a field you need, or a custom Trendyol data pipeline? Open an issue on the actor's **Issues** tab and we'll help.

### ⚠️ Disclaimer

This actor scrapes only publicly available information from Trendyol. It does not log in, does not access private data, and returns reviewer names exactly as Trendyol displays them (masked). Use the data in compliance with Trendyol's Terms of Service and applicable laws (including data-protection rules when using seller contact data for outreach). You are responsible for how you use the output.

### SEO keywords

Trendyol scraper, Trendyol product scraper, Trendyol price scraper, Trendyol review scraper, Trendyol seller scraper, Trendyol API, Turkey e-commerce scraper, Trendyol data extraction, Trendyol product data, Trendyol reviews, Trendyol pricing, Trendyol seller emails, Turkish marketplace scraper, e-commerce price monitoring, product catalog scraper.

# Actor input Schema

## `startUrls` (type: `array`):

Full Trendyol URLs to crawl. Mix search, category, product, and reviews URLs in the same array if useful.

## `keyword` (type: `string`):

Free-text keyword to build a Trendyol search (used only when no Start URLs are given). E.g. `laptop`, `sneakers`, `coffee machine`.

## `scrapeProductDetails` (type: `boolean`):

For every product found, fetch its detail page — full price/discount, seller (company), specs/attributes, all images, stock, favourite count, rating breakdown.

## `scrapeReviews` (type: `boolean`):

For every product found, fetch its reviews — rating, comment text, date, seller name, and whether the review has a photo. (Reviewer names are masked by Trendyol.)

## `maxReviewsPerProduct` (type: `integer`):

Cap the number of reviews collected per product (billing control). Only applies when reviews are enabled.

## `enrichEmails` (type: `boolean`):

If enabled, finds a contact email for each product's seller by discovering it from the seller's official company name. Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Requires product detail scraping.

## `monitoringMode` (type: `boolean`):

When enabled, products whose ID has already been delivered to you are silently skipped (no detail/review pages fetched, no charge). The first run after enabling monitoring returns every match — that builds your baseline. Every subsequent run returns only new products.

## `resetMonitoringState` (type: `boolean`):

One-shot toggle: clear the saved 'products already seen' record at the start of this run. Has no effect when monitoring mode is off.

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

Hard cap on the number of PRODUCTS collected across all start URLs (detail + reviews follow each product). Use this to control billing.

## `maxConcurrency` (type: `integer`):

Maximum number of product detail / reviews pages processed in parallel.

## `maxRequestRetries` (type: `integer`):

Number of retries (on fresh IPs) before a failed request is given up.

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

Leave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.trendyol.com/sr?q=laptop"
  ],
  "keyword": "laptop",
  "scrapeProductDetails": true,
  "scrapeReviews": false,
  "maxReviewsPerProduct": 100,
  "enrichEmails": false,
  "monitoringMode": false,
  "resetMonitoringState": false,
  "maxItems": 1000,
  "maxConcurrency": 10,
  "maxRequestRetries": 5
}
```

# 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 = {
    "startUrls": [
        "https://www.trendyol.com/sr?q=laptop"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/trendyol-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 = { "startUrls": ["https://www.trendyol.com/sr?q=laptop"] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/trendyol-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 '{
  "startUrls": [
    "https://www.trendyol.com/sr?q=laptop"
  ]
}' |
apify call memo23/trendyol-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trendyol Scraper Products · Prices · Reviews & Seller Emails",
        "description": "Scrape Trendyol at scale — product listings, full detail (price, discount, seller company, specs, images, stock, rating) and complete customer reviews, all in Turkish Lira. Paste any search, category, product, or reviews URL — or just a keyword. Optional seller B2B emails + monitoring mode.",
        "version": "0.0",
        "x-build-id": "6nURudX1KAIrUxNvL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~trendyol-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-trendyol-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/memo23~trendyol-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-trendyol-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/memo23~trendyol-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-trendyol-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": {
                    "startUrls": {
                        "title": "Trendyol URLs",
                        "type": "array",
                        "description": "Full Trendyol URLs to crawl. Mix search, category, product, and reviews URLs in the same array if useful.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Free-text keyword to build a Trendyol search (used only when no Start URLs are given). E.g. `laptop`, `sneakers`, `coffee machine`."
                    },
                    "scrapeProductDetails": {
                        "title": "Scrape product detail pages",
                        "type": "boolean",
                        "description": "For every product found, fetch its detail page — full price/discount, seller (company), specs/attributes, all images, stock, favourite count, rating breakdown.",
                        "default": true
                    },
                    "scrapeReviews": {
                        "title": "Scrape reviews",
                        "type": "boolean",
                        "description": "For every product found, fetch its reviews — rating, comment text, date, seller name, and whether the review has a photo. (Reviewer names are masked by Trendyol.)",
                        "default": false
                    },
                    "maxReviewsPerProduct": {
                        "title": "Max reviews per product",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Cap the number of reviews collected per product (billing control). Only applies when reviews are enabled.",
                        "default": 100
                    },
                    "enrichEmails": {
                        "title": "Enrich with seller contact emails (experimental)",
                        "type": "boolean",
                        "description": "If enabled, finds a contact email for each product's seller by discovering it from the seller's official company name. Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Requires product detail scraping.",
                        "default": false
                    },
                    "monitoringMode": {
                        "title": "Monitoring mode (only return products not seen on previous runs)",
                        "type": "boolean",
                        "description": "When enabled, products whose ID has already been delivered to you are silently skipped (no detail/review pages fetched, no charge). The first run after enabling monitoring returns every match — that builds your baseline. Every subsequent run returns only new products.",
                        "default": false
                    },
                    "resetMonitoringState": {
                        "title": "Reset monitoring state (one-shot)",
                        "type": "boolean",
                        "description": "One-shot toggle: clear the saved 'products already seen' record at the start of this run. Has no effect when monitoring mode is off.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Maximum products to scrape",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on the number of PRODUCTS collected across all start URLs (detail + reviews follow each product). Use this to control billing.",
                        "default": 1000
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of product detail / reviews pages processed in parallel.",
                        "default": 10
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Number of retries (on fresh IPs) before a failed request is given up.",
                        "default": 5
                    },
                    "proxy": {
                        "title": "Proxy configuration (optional override)",
                        "type": "object",
                        "description": "Leave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
