# OliveYoung Review Scraper (`solidcode/oliveyoung-review-scraper`) Actor

\[💰 $4.0 / 1K] Extract OliveYoung product reviews at scale — rating, text, date, reviewer skin profile, helpful votes, and purchased option. Works on both the global and Korean stores. Paste product links and get clean structured data.

- **URL**: https://apify.com/solidcode/oliveyoung-review-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.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

## OliveYoung Review Scraper

Pull customer reviews from OliveYoung — Korea's #1 health and beauty retailer — across both the global English store and the Korean store, with star ratings, full review text, reviewer skin profiles, helpful votes, purchased options, and review photos for every product you supply. Built for K-beauty brands, market researchers, and e-commerce sellers who need OliveYoung's review data as a clean dataset without copy-pasting reviews page by page.

### Why This Scraper?

- **Dual-store coverage in one actor** — collect from both the global store (global.oliveyoung.com, English) and the Korean store (oliveyoung.co.kr, Korean) by simply pasting links from either; the store is auto-detected and tagged on every row.
- **Full review history, not a 100-review ceiling** — popular K-beauty products carry thousands of reviews (a single MEDIHEAL SKU returns 6,000+), and this actor pulls them all. Other tools stop at the 100 most recent.
- **Reviewer skin profile on every review** — capture the reviewer's skin type and skin concerns alongside the rating, so you can segment feedback by dry vs. oily, acne-prone vs. sensitive.
- **Four sort orders** — Most Recent, Most Helpful, Highest Rating, or Lowest Rating, so a capped run grabs the most useful reviews first.
- **Star-rating filtering (1–5, multi-select)** — pull only 1-star detractors for complaint analysis, or only 5-star reviews for testimonial mining, on either store.
- **Purchased option and variant captured** — the exact shade, size, or set the reviewer bought is recorded per review, so you can tie sentiment to a specific SKU variant.
- **Review photo URLs included** — direct links to user-uploaded review images for visual proof, before/after shots, and packaging checks.
- **Bare product IDs accepted** — paste a full product link or just an ID like `GA240824996` (global) or `A000000206904` (Korean); no URL hand-building required.
- **Clean, normalized output** — review dates standardized to ISO `YYYY-MM-DD`, HTML entities decoded in review text, one flat row per review ready for a spreadsheet or warehouse.

### Use Cases

**Product & Market Research**
- Quantify how a product is received across thousands of real buyers, not a sample of 100
- Segment ratings by reviewer skin type and skin concern to find who loves (or hates) a product
- Compare a product's reception on the global store versus its home Korean market
- Track which purchased options (shades, sizes, sets) drive the highest satisfaction

**Brand & Competitor Monitoring**
- Benchmark your products' ratings and review volume against rival K-beauty brands
- Pull only 1- and 2-star reviews to surface recurring complaints and product defects
- Watch new-product launches by collecting the most recent reviews on a cadence
- Build a competitive review corpus across an entire product category

**K-beauty Trend Analysis**
- Spot rising ingredients and routines mentioned across high-volume review text
- Identify breakout SKUs by review growth on the Korean store before they reach Western markets
- Mine "Most Helpful" reviews to learn what buyers actually weigh in their decisions
- Compare skin-concern language between Korean and global shoppers

**Localization & Sentiment**
- Feed bilingual review text (English global + Korean) into sentiment and translation pipelines
- Analyze how the same product is described differently by Korean versus international buyers
- Build training datasets of authentic beauty-product feedback in two languages

**Lead & Influencer Signals**
- Identify highly-rated, high-engagement products worth featuring in campaigns
- Find the most-helpful reviewers writing detailed, photo-backed reviews
- Surface testimonial-ready 5-star reviews with verified purchase context

### Getting Started

#### Quick Start — One Product

Paste a single product link and collect its first 100 reviews:

```json
{
    "productUrls": [
        "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"
    ]
}
````

#### Filter by Rating and Sort

Pull the 200 most helpful reviews, limited to 1- and 2-star ratings — ideal for complaint analysis:

```json
{
    "productUrls": [
        "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"
    ],
    "maxReviewsPerProduct": 200,
    "sortBy": "helpful",
    "starRating": ["1", "2"]
}
```

#### Full Review History — Multiple Products, Both Stores

Collect every available review from a mix of global and Korean products (and a bare ID):

```json
{
    "productUrls": [
        "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996",
        "https://www.oliveyoung.co.kr/store/goods/getGoodsDetail.do?goodsNo=A000000206904",
        "GA220223710"
    ],
    "maxReviewsPerProduct": 0,
    "sortBy": "recent"
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `productUrls` | array | `["https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"]` | OliveYoung product page links from the global store (`prdtNo=GA…`) or the Korean store (`goodsNo=A…`). You can also paste a bare product ID — `GA…` IDs are treated as global, `A…` IDs as Korean, and a plain number as global. Add as many products as you like. |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxReviewsPerProduct` | integer | `100` | Maximum reviews to collect per product. You pay per review, so keep this low for test runs. Set to `0` for all available reviews. No more than 50,000 reviews are collected per product as a safeguard — values above 50,000 are capped at 50,000. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `sortBy` | string | `Most Recent` | Order in which reviews are collected: Most Recent, Most Helpful, Highest Rating, or Lowest Rating. Decides which reviews a capped run keeps first. |
| `starRating` | array | `[]` (all) | Only collect reviews with these star ratings. Choose any of 5 stars, 4 stars, 3 stars, 2 stars, 1 star. Leave empty for all ratings. |

### Output

Each result is one review, as a flat row. Example:

```json
{
    "store": "global",
    "productId": "GA240824996",
    "productName": "MEDIHEAL Madecassoside Essential Mask",
    "productUrl": "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996",
    "reviewId": "184502271",
    "rating": 5,
    "reviewText": "My skin felt so calm after using this — barely any irritation even on sensitive days.",
    "reviewDate": "2026-05-21",
    "reviewerNickname": "sk*****",
    "reviewerSkinType": "Combination",
    "reviewerSkinConcerns": ["Sensitivity", "Redness"],
    "helpfulCount": 37,
    "optionName": "10 sheets",
    "reviewImages": ["https://image.globaloliveyoungshop.com/uploads/images/review/example1.jpg"],
    "verifiedPurchase": null
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `store` | string | Which storefront the review came from: `global` or `korean`. |
| `rating` | integer | Star rating, 1–5. |
| `reviewText` | string | Review body text, with HTML entities decoded. |
| `reviewDate` | string | Review date, normalized to ISO `YYYY-MM-DD`. |
| `reviewId` | string | null | Review identifier, when the store exposes one. |

#### Reviewer Profile

| Field | Type | Description |
|-------|------|-------------|
| `reviewerNickname` | string | null | Reviewer's display name, as shown on the store (often partially masked for privacy, e.g. `sk*****`). |
| `reviewerSkinType` | string | null | Reviewer's skin type (e.g. Combination, Dry, Oily). The global store reports readable labels; the Korean store reports its own coded values. |
| `reviewerSkinConcerns` | array | null | Reviewer's skin concerns / attributes, when shown. |

#### Engagement & Purchase

| Field | Type | Description |
|-------|------|-------------|
| `helpfulCount` | integer | null | Number of helpful / like votes the review received. |
| `optionName` | string | null | The purchased option or variant (shade, size, set). |
| `reviewImages` | array | null | URLs of user-uploaded review photos, when present. |
| `verifiedPurchase` | boolean | null | Verified-purchase / repurchase flag, when the store provides it. |

#### Product

| Field | Type | Description |
|-------|------|-------------|
| `productId` | string | OliveYoung product identifier (`prdtNo` for global, `goodsNo` for Korean). |
| `productName` | string | null | Product name, resolved from the product page. |
| `productUrl` | string | Canonical product page URL the review came from. |

### Tips for Best Results

- **Test before you scale** — set `maxReviewsPerProduct` to 20–50 on your first run to confirm the data fits your needs, then raise the cap.
- **Set the cap to `0` for a full history** — when you want every review a product has ever received, use `0`; the run keeps pulling until the product runs out (with a 50,000 safeguard).
- **Use the Korean store for the deepest review counts** — Korea-exclusive SKUs and home-market favorites accumulate far more reviews on oliveyoung.co.kr than on the global store, so use the Korean link when you want maximum volume.
- **Pair `sortBy` with a cap** — when collecting only a slice, "Most Helpful" surfaces the reviews buyers found most useful, while "Lowest Rating" front-loads complaints for quality analysis.
- **Combine stores in one run** — drop global and Korean links into the same `productUrls` list to compare a product's international and home-market reception side by side; the `store` field tells them apart.
- **Filter ratings for focused datasets** — select only 1–2 stars for defect and complaint mining, or only 5 stars for testimonial collection, instead of pulling everything and filtering later.
- **Bare IDs are fine** — if you already have product IDs from another export, paste them directly; no need to rebuild full URLs.

### Pricing

**From $4.00 per 1,000 results** — a richer per-review dataset (skin profiles, helpful votes, purchased options, photos) at a lower rate than thinner OliveYoung review tools. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.48 | $0.45 | $0.43 | $0.40 |
| 1,000 | $4.80 | $4.50 | $4.25 | $4.00 |
| 10,000 | $48.00 | $45.00 | $42.50 | $40.00 |
| 100,000 | $480.00 | $450.00 | $425.00 | $400.00 |

A "result" is one review row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate market research, brand monitoring, and product analysis. Users are responsible for complying with applicable laws and OliveYoung's Terms of Service. Review text and reviewer nicknames may constitute personal data — handle them in line with privacy regulations such as GDPR, and do not use collected data for spam, harassment, or any unlawful purpose.

# Actor input Schema

## `productUrls` (type: `array`):

OliveYoung product page links to collect reviews from. Works with both the global store (global.oliveyoung.com, links contain prdtNo=GA…) and the Korean store (oliveyoung.co.kr, links contain goodsNo=A…). You can also paste a bare product ID: an ID like GA240824996 is treated as a global product, an ID like A000000206904 is treated as a Korean product, and a plain number with no letters is treated as a global product. Add as many products as you like.

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

Maximum number of reviews to collect per product. You pay per review, so keep this low for test runs. Set to 0 for all available reviews. Either way, no more than 50,000 reviews are collected per product as a runaway safeguard — values above 50,000 are capped at 50,000.

## `sortBy` (type: `string`):

Order in which reviews are collected. Affects which reviews you get first when using a per-product cap.

## `starRating` (type: `array`):

Only collect reviews with these star ratings (1–5). Leave empty for all ratings.

## Actor input object example

```json
{
  "productUrls": [
    "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"
  ],
  "maxReviewsPerProduct": 100,
  "sortBy": "recent",
  "starRating": []
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of scraped reviews with key fields.

# 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 = {
    "productUrls": [
        "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"
    ],
    "maxReviewsPerProduct": 100,
    "sortBy": "recent",
    "starRating": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/oliveyoung-review-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 = {
    "productUrls": ["https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"],
    "maxReviewsPerProduct": 100,
    "sortBy": "recent",
    "starRating": [],
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/oliveyoung-review-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 '{
  "productUrls": [
    "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996"
  ],
  "maxReviewsPerProduct": 100,
  "sortBy": "recent",
  "starRating": []
}' |
apify call solidcode/oliveyoung-review-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "OliveYoung Review Scraper",
        "description": "[💰 $4.0 / 1K] Extract OliveYoung product reviews at scale — rating, text, date, reviewer skin profile, helpful votes, and purchased option. Works on both the global and Korean stores. Paste product links and get clean structured data.",
        "version": "1.0",
        "x-build-id": "RnNIaxLExaxl596P5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~oliveyoung-review-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-oliveyoung-review-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/solidcode~oliveyoung-review-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-oliveyoung-review-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/solidcode~oliveyoung-review-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-oliveyoung-review-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": {
                    "productUrls": {
                        "title": "Product URLs",
                        "type": "array",
                        "description": "OliveYoung product page links to collect reviews from. Works with both the global store (global.oliveyoung.com, links contain prdtNo=GA…) and the Korean store (oliveyoung.co.kr, links contain goodsNo=A…). You can also paste a bare product ID: an ID like GA240824996 is treated as a global product, an ID like A000000206904 is treated as a Korean product, and a plain number with no letters is treated as a global product. Add as many products as you like.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxReviewsPerProduct": {
                        "title": "Max Reviews per Product",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of reviews to collect per product. You pay per review, so keep this low for test runs. Set to 0 for all available reviews. Either way, no more than 50,000 reviews are collected per product as a runaway safeguard — values above 50,000 are capped at 50,000.",
                        "default": 100
                    },
                    "sortBy": {
                        "title": "Sort Reviews By",
                        "enum": [
                            "recent",
                            "helpful",
                            "highest",
                            "lowest"
                        ],
                        "type": "string",
                        "description": "Order in which reviews are collected. Affects which reviews you get first when using a per-product cap.",
                        "default": "recent"
                    },
                    "starRating": {
                        "title": "Star Rating",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only collect reviews with these star ratings (1–5). Leave empty for all ratings.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "5",
                                "4",
                                "3",
                                "2",
                                "1"
                            ],
                            "enumTitles": [
                                "5 stars",
                                "4 stars",
                                "3 stars",
                                "2 stars",
                                "1 star"
                            ]
                        },
                        "default": []
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
