# Trendyol Scraper (`maximedupre/trendyol-scraper`) Actor

Scrape Trendyol products from search terms or URLs. Get prices, brands, ratings, images, seller IDs, source URLs, and optional customer reviews.

- **URL**: https://apify.com/maximedupre/trendyol-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 scraped products

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

Trendyol Scraper extracts live product data from [Trendyol](https://www.trendyol.com/) search terms and Trendyol URLs. Use it to collect product names, prices, brands, ratings, review counts, images, badges, seller IDs, product URLs, and optional customer reviews in one Apify dataset.

Start with the prefilled `spor ayakkabi` search, keep the product limit at a small number, and run the Actor. You can then export the dataset as JSON, CSV, Excel, or connect it to your API, schedules, webhooks, and Apify integrations.

### ✅ What This Actor Does

This Trendyol scraper is built for ecommerce research, price checks, catalog enrichment, product monitoring, and review analysis. It accepts both simple search terms and Trendyol URLs, so you can start broad with a keyword or paste the exact page you already have.

You can scrape:

- Trendyol search terms, such as `spor ayakkabi`, `kahve makinesi`, or `iphone`
- Trendyol search URLs
- Trendyol category URLs
- Trendyol seller or store URLs when product cards are shown
- Direct Trendyol product URLs

Product rows are saved by default. Review rows are off by default so a first run stays small and predictable. Turn on reviews only when you need customer feedback text, dates, reviewer display names, verified-purchase signals, size information, or review IDs.

### 📦 Data You Can Extract

Each product row uses `recordType: "product"` and can include:

- Trendyol product ID
- Product URL
- Product name
- Brand
- Current price
- Original price when shown
- Discount percent when it can be calculated
- Currency
- Average rating
- Review count
- Primary image URL and image URL list
- Visible badges such as shipping or ranking labels
- Seller name, seller ID, and boutique ID when available
- Source URL, source type, source query, rank position, page number, and scrape time
- In-stock signal when the page clearly shows stock status

When `includeReviews` is enabled, each customer review row uses `recordType: "review"` and can include:

- Review ID
- Parent product ID, URL, and name
- Review text
- Review date
- Reviewer display name when visible
- Verified-purchase signal
- Helpful count when visible
- Product size or variant text when visible
- Customer image URLs when visible
- Review page URL and scrape time

Some fields can be empty when Trendyol does not show that data on the current card, product page, or review page.

### 🚀 How To Run

1. Add one or more values to **Search terms**, or paste Trendyol pages into **Trendyol URLs**.
2. Set **Product limit per source**. Use `20` to `50` for a first run.
3. Choose a sort order for search terms if needed.
4. Add optional price, rating, discount, or stock filters.
5. Leave **Include reviews** off for product-only price or catalog work.
6. Turn **Include reviews** on only when you want customer review rows.
7. Run the Actor and open the dataset.

You do not need to provide Trendyol login details, cookies, API keys, or your own proxy settings.

### ⚙️ Input

#### Search terms

Enter Trendyol searches in plain text. This is the easiest way to start. Good examples are `spor ayakkabi`, `kahve makinesi`, `laptop`, or a brand plus product category.

#### Trendyol URLs

Paste Trendyol search, category, seller, store, or product URLs. You can mix URLs and search terms in the same run.

#### Product limit per source

Maximum product rows to save for each search term or URL. Direct product URLs return one product row.

#### Reviews

Enable **Include reviews** to save review rows for collected products. Use **Review limit per product** to control cost and row volume.

#### Sort and filters

Use sort options for keyword searches. Price, rating, discount, and stock filters help reduce the output to the products you care about.

### 📊 Output Example

Product row:

```json
{
	"recordType": "product",
	"productId": "46903492",
	"productUrl": "https://www.trendyol.com/letoon/unisex-gunluk-spor-ayakkabi-p-46903492?boutiqueId=61&merchantId=4553",
	"name": "LETOON Unısex Günlük Spor Ayakkabı",
	"brand": "LETOON",
	"price": 660.29,
	"originalPrice": null,
	"discountPercent": null,
	"currency": "TRY",
	"rating": 4.5,
	"reviewCount": 3249,
	"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1553/product/media/images/ty1552/prod/QC/20240917/12/899818e8-6b67-3366-b6e5-33781e6a3eca/1_org_zoom.jpg",
	"imageUrls": ["https://cdn.dsmcdn.com/mnresize/400/-/ty1553/product/media/images/ty1552/prod/QC/20240917/12/899818e8-6b67-3366-b6e5-33781e6a3eca/1_org_zoom.jpg"],
	"badges": ["En Çok Satan 3. Ürün", "Kargo Bedava"],
	"sellerName": "LETOON",
	"sellerId": "4553",
	"boutiqueId": "61",
	"sourceUrl": "https://www.trendyol.com/sr?q=spor+ayakkabi&qt=spor+ayakkabi&st=spor+ayakkabi&os=1",
	"sourceType": "search_query",
	"sourceQuery": "spor ayakkabi",
	"position": 1,
	"page": 1,
	"inStock": true,
	"scrapedAt": "2026-05-22T22:00:08.929Z"
}
````

Review row:

```json
{
	"recordType": "review",
	"reviewId": "467737008",
	"productId": "46903492",
	"productUrl": "https://www.trendyol.com/letoon/unisex-gunluk-spor-ayakkabi-p-46903492",
	"productName": "LETOON Unısex Günlük Spor Ayakkabı",
	"rating": null,
	"reviewText": "Arkadaşlar şüphe duymaniza gerek yok gayet katileli bi şekilde elime ulaştı rahatlıkla alabilirsiniz 😊",
	"reviewDate": "2025-01-27",
	"reviewerName": "**** ****",
	"isVerifiedPurchase": true,
	"helpfulCount": null,
	"productSize": "37",
	"productColor": null,
	"images": [],
	"sourceUrl": "https://www.trendyol.com/letoon/unisex-gunluk-spor-ayakkabi-p-46903492/yorumlar",
	"scrapedAt": "2026-05-22T22:04:21.708Z"
}
```

### 💳 Pricing

This Actor uses pay-per-event pricing:

- Product row: `$0.0009` per saved product
- Review row: `$0.0007` per saved review
- Actor start: `$0.001` per run

Reviews are optional. If you only need product data for price tracking, catalog checks, or product discovery, leave reviews off and you will only pay for product rows.

### ⚠️ Limits And Caveats

Trendyol can show different data by page type, product, seller, and time. Product cards usually contain enough data for price and ranking work, while direct product pages and review pages can expose different details.

Review scraping can take longer than product-only scraping because the Actor has to open review pages after collecting products. Keep `maxReviewsPerProduct` low for your first review run.

This Actor collects public Trendyol data. You are responsible for using the output in line with Trendyol's terms and applicable laws, especially when storing or processing customer review text.

### ❓ FAQ

#### Can I scrape products and reviews together?

Yes. Products are saved by default. Turn on `includeReviews` to add review rows for each collected product.

#### Do I need a Trendyol account?

No. The Actor does not ask for Trendyol login details, cookies, or API keys.

#### Why are some fields empty?

Trendyol does not show every field on every product card or review. Empty values mean the field was not visible for that item during the run.

#### Can I use URLs instead of search terms?

Yes. You can paste Trendyol search, category, seller, store, or direct product URLs.

#### What is the best first run?

Use one search term, keep the product limit around `25`, and leave reviews off. After checking the dataset, enable reviews or raise limits as needed.

### 📝 Changelog

- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~trendyol-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Mercado Libre Search Scraper ↗](https://apify.com/maximedupre/mercado-libre-search-scraper) - Scrape ecommerce product rows from Mercado Libre and Mercado Livre search pages.
- [Google Shopping Ads Scraper ↗](https://apify.com/maximedupre/google-shopping-ads-scraper) - Track paid Google Shopping product ads by keyword and market.
- [App Store Ratings Scraper ↗](https://apify.com/maximedupre/app-store-ratings-scraper) - Monitor app ratings and app metadata from Google Play and the Apple App Store.
- [Facebook Reviews Scraper ↗](https://apify.com/maximedupre/facebook-reviews-scraper) - Export public Facebook Page recommendations for reputation and feedback analysis.
- [Website Emails Scraper ↗](https://apify.com/maximedupre/website-emails-scraper) - Find public contact emails from websites you already want to research.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `searchQueries` (type: `array`):

Enter Trendyol product searches such as spor ayakkabi, kahve makinesi, laptop, or a brand plus category. Each term runs as its own source.

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

Paste Trendyol search, category, seller, store, or direct product URLs. Direct product URLs return one product and can also collect reviews.

## `maxProductsPerSource` (type: `integer`):

Maximum product rows to save for each search term or URL. Direct product URLs return one product. Use 20-50 for a quick first run.

## `includeReviews` (type: `boolean`):

Scrape customer reviews for collected products and save them as separate review rows. Leave off for product-only price and catalog runs.

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

Maximum review rows to save for each product when reviews are enabled. Keep this low for your first review run.

## `sort` (type: `string`):

Sort order for search terms. Full Trendyol URLs keep their own source sort when possible.

## `minPrice` (type: `integer`):

Only save products at or above this price in Turkish lira.

## `maxPrice` (type: `integer`):

Only save products at or below this price in Turkish lira.

## `minRating` (type: `number`):

Only save products with at least this average Trendyol rating.

## `discountedOnly` (type: `boolean`):

Only save products that show an original price or discount signal.

## `inStockOnly` (type: `boolean`):

Skip product pages that are clearly out of stock.

## `deduplicateProducts` (type: `boolean`):

Save each Trendyol product once when it appears in multiple searches or URLs.

## Actor input object example

```json
{
  "searchQueries": [
    "spor ayakkabi"
  ],
  "startUrls": [],
  "maxProductsPerSource": 50,
  "includeReviews": false,
  "maxReviewsPerProduct": 20,
  "sort": "relevance",
  "minRating": 0,
  "discountedOnly": false,
  "inStockOnly": false,
  "deduplicateProducts": true
}
```

# Actor output Schema

## `results` (type: `string`):

Open the dataset with Trendyol product rows and optional customer review rows.

# 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 = {
    "searchQueries": [
        "spor ayakkabi"
    ],
    "startUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/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 = {
    "searchQueries": ["spor ayakkabi"],
    "startUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/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 '{
  "searchQueries": [
    "spor ayakkabi"
  ],
  "startUrls": []
}' |
apify call maximedupre/trendyol-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trendyol Scraper",
        "description": "Scrape Trendyol products from search terms or URLs. Get prices, brands, ratings, images, seller IDs, source URLs, and optional customer reviews.",
        "version": "0.1",
        "x-build-id": "ZCKVZHwPzf37Rj5q6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~trendyol-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-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/maximedupre~trendyol-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-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/maximedupre~trendyol-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-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": {
                    "searchQueries": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Enter Trendyol product searches such as spor ayakkabi, kahve makinesi, laptop, or a brand plus category. Each term runs as its own source.",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "startUrls": {
                        "title": "Trendyol URLs",
                        "type": "array",
                        "description": "Paste Trendyol search, category, seller, store, or direct product URLs. Direct product URLs return one product and can also collect reviews.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "title": "URL",
                                    "description": "A Trendyol search, category, seller, store, or product URL.",
                                    "type": "string",
                                    "pattern": "^https?://"
                                }
                            }
                        }
                    },
                    "maxProductsPerSource": {
                        "title": "Product limit per source",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum product rows to save for each search term or URL. Direct product URLs return one product. Use 20-50 for a quick first run.",
                        "default": 50
                    },
                    "includeReviews": {
                        "title": "Include reviews",
                        "type": "boolean",
                        "description": "Scrape customer reviews for collected products and save them as separate review rows. Leave off for product-only price and catalog runs.",
                        "default": false
                    },
                    "maxReviewsPerProduct": {
                        "title": "Review limit per product",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum review rows to save for each product when reviews are enabled. Keep this low for your first review run.",
                        "default": 20
                    },
                    "sort": {
                        "title": "Sort products by",
                        "enum": [
                            "relevance",
                            "newest",
                            "price_asc",
                            "price_desc",
                            "best_seller",
                            "most_favorited",
                            "most_rated"
                        ],
                        "type": "string",
                        "description": "Sort order for search terms. Full Trendyol URLs keep their own source sort when possible.",
                        "default": "relevance"
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only save products at or above this price in Turkish lira."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only save products at or below this price in Turkish lira."
                    },
                    "minRating": {
                        "title": "Minimum rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Only save products with at least this average Trendyol rating.",
                        "default": 0
                    },
                    "discountedOnly": {
                        "title": "Discounted products only",
                        "type": "boolean",
                        "description": "Only save products that show an original price or discount signal.",
                        "default": false
                    },
                    "inStockOnly": {
                        "title": "In-stock products only",
                        "type": "boolean",
                        "description": "Skip product pages that are clearly out of stock.",
                        "default": false
                    },
                    "deduplicateProducts": {
                        "title": "Deduplicate products",
                        "type": "boolean",
                        "description": "Save each Trendyol product once when it appears in multiple searches or URLs.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
