# Chrome Web Store Reviews Scraper (`automation-lab/chrome-web-store-reviews-scraper`) Actor

Scrape public Chrome Web Store extension reviews with ratings, reviewer names, dates, versions, locales, helpful votes, and source URLs.

- **URL**: https://apify.com/automation-lab/chrome-web-store-reviews-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## Chrome Web Store Reviews Scraper

Collect public Chrome Web Store extension reviews for product, reputation, and competitor analysis.

This Apify Actor extracts review rows from public Chrome Web Store extension review pages.
It is designed for extension teams, agencies, product marketers, support teams, and analysts who need review text and rating signals in a clean dataset.

---

### What does Chrome Web Store Reviews Scraper do?

It turns Chrome Web Store review pages into structured data.

- ⭐ Star rating
- 💬 Review text
- 👤 Reviewer display name
- 🗓️ Review date
- 🌍 Locale
- 🧩 Extension ID and URL
- 🔢 Extension version when available
- 👍 Helpful vote count when public
- 🕒 Scrape timestamp

The actor works with public Chrome Web Store extension detail URLs and `/reviews` URLs.

---

### Who is it for?

#### Extension founders

Track what users praise, what they dislike, and which bugs appear after releases.

#### Product managers

Export reviews into spreadsheets, BI tools, or LLM workflows for roadmap planning.

#### Support teams

Monitor negative feedback and recurring issues without manually opening the Store page.

#### Marketing teams

Collect testimonials, review snippets, and rating evidence for campaign research.

#### Agencies

Audit review quality for multiple browser extension clients in one repeatable workflow.

#### Competitive intelligence teams

Compare review sentiment across competing Chrome extensions.

---

### Why use this actor?

- 🚀 HTTP-first extraction, no browser overhead for the MVP path
- 📦 Clean dataset rows, ready for CSV, JSON, Excel, or API export
- 🔁 Repeatable inputs for scheduled monitoring
- 🧩 Accepts URLs or raw extension IDs
- 🛡️ Uses only public Chrome Web Store review data
- 💸 Pay-per-review pricing keeps small runs inexpensive

---

### Data you can extract

| Field | Description |
| --- | --- |
| `extensionId` | Chrome Web Store extension ID |
| `extensionName` | Extension name parsed from the public page |
| `extensionUrl` | Extension detail URL |
| `reviewId` | Stable review ID |
| `reviewerName` | Public reviewer display name |
| `reviewerAvatarUrl` | Public avatar URL when available |
| `rating` | Star rating |
| `reviewBody` | Review text |
| `reviewDate` | Review creation date |
| `updatedDate` | Review update date |
| `helpfulCount` | Public helpful vote count |
| `developerResponse` | Public developer response when present |
| `extensionVersion` | Extension version attached to the review |
| `locale` | Review locale |
| `totalReviewCount` | Total public review count reported by Chrome Web Store |
| `pageUrl` | Review page URL |
| `sourceUrl` | Source URL used for the scrape |
| `scrapedAt` | Actor scrape timestamp |

---

### How much does it cost to scrape Chrome Web Store reviews?

The actor uses pay-per-event pricing.

- A small start event is charged once per run.
- A review event is charged for each saved review row.
- BRONZE price is $0.0001 per review (the platform minimum practical tier), with tier discounts for larger plans.
- You control spend with `maxReviewsPerExtension`.

Example: set `maxReviewsPerExtension` to `20` for a quick sample, or increase it for a larger review export.

---

### How to scrape Chrome Web Store reviews

1. Open the actor on Apify.
2. Paste one or more Chrome Web Store extension review URLs.
3. Set `maxReviewsPerExtension`.
4. Click **Start**.
5. Download the dataset as CSV, JSON, Excel, or via API.

---

### Input

```json
{
  "startUrls": [
    {
      "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews"
    }
  ],
  "maxReviewsPerExtension": 20,
  "reviewsPerPage": 50,
  "language": "en"
}
````

***

### Input fields

#### `startUrls`

Chrome Web Store extension detail URLs or `/reviews` URLs.

#### `extensionIds`

Optional raw Chrome extension IDs.

#### `maxReviewsPerExtension`

Maximum reviews to save for each extension.

#### `reviewsPerPage`

Advanced backend page size. The default is recommended.

#### `language`

Chrome Web Store language code such as `en`, `de`, `fr`, `es`, or `ja`.

***

### Output example

```json
{
  "extensionId": "cjpalhdlnbpafiamejdnhcphjbkeiagm",
  "extensionName": "uBlock Origin",
  "extensionUrl": "https://chromewebstore.google.com/detail/cjpalhdlnbpafiamejdnhcphjbkeiagm",
  "reviewId": "b1fb4214-f343-4711-a719-4975a22c2e82",
  "reviewerName": "The Heretic (Snordelhans)",
  "rating": 5,
  "reviewBody": "Greatest browser extension ever made in the history of mankind. Nothing comes even close.",
  "reviewDate": "2026-06-09T00:01:54.000Z",
  "locale": "en"
}
```

***

### Tips for best results

- Use `/reviews` URLs when possible.
- Keep first tests small with 10 to 20 reviews.
- Increase limits after confirming the extension has enough public reviews.
- Schedule daily or weekly runs to monitor new feedback.
- Use `extensionIds` when chaining from another Chrome Web Store dataset.

***

### Common use cases

- Review monitoring for your own extension
- Competitor feedback analysis
- Rating trend exports
- Bug report discovery
- Customer voice analysis
- LLM sentiment classification
- Agency reporting
- Product launch monitoring

***

### Integrations

Use the dataset with:

- Google Sheets exports
- Make or Zapier workflows
- Apify webhooks
- BI dashboards
- Data warehouses
- LLM summarization pipelines
- Support triage automations

***

### API usage

#### Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/chrome-web-store-reviews-scraper').call({
  startUrls: [{ url: 'https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews' }],
  maxReviewsPerExtension: 20,
});
console.log(run.defaultDatasetId);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/chrome-web-store-reviews-scraper').call(run_input={
    'startUrls': [{'url': 'https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews'}],
    'maxReviewsPerExtension': 20,
})
print(run['defaultDatasetId'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~chrome-web-store-reviews-scraper/runs?token=MY-APIFY-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews"}],"maxReviewsPerExtension":20}'
```

***

### MCP usage

Connect through Apify MCP:

`https://mcp.apify.com/?tools=automation-lab/chrome-web-store-reviews-scraper`

Claude Code setup:

```bash
claude mcp add apify-chrome-web-store-reviews https://mcp.apify.com/?tools=automation-lab/chrome-web-store-reviews-scraper
```

Claude Desktop JSON setup:

```json
{
  "mcpServers": {
    "apify-chrome-web-store-reviews": {
      "url": "https://mcp.apify.com/?tools=automation-lab/chrome-web-store-reviews-scraper"
    }
  }
}
```

Example prompts:

- "Scrape 50 reviews for this Chrome extension and summarize the main complaints."
- "Compare ratings and review text for these three extension IDs."
- "Find reviews mentioning broken features or recent bugs."

***

### Scheduling

You can schedule this actor to run every day, week, or month.

Suggested monitoring setup:

1. Add the extension review URL.
2. Set a small review limit.
3. Enable a schedule.
4. Send dataset results to a webhook or spreadsheet.

***

### Data quality notes

Chrome Web Store may expose different optional fields for different reviews.
Some reviews do not include helpful votes, developer responses, or version values.
The actor keeps those fields as `null` when the public payload does not include them.

***

### Limitations

- The actor only collects public Chrome Web Store review data.
- It does not log in to Google accounts.
- It does not submit, edit, or vote on reviews.
- Review ordering follows the public backend response.
- Deleted or hidden reviews cannot be collected.

***

### Legality

This actor is designed for public data extraction.

### Is it legal to scrape Chrome Web Store reviews?

This actor is designed for public data extraction.
You should still review Chrome Web Store terms, privacy rules, and your use case.
Do not use exported data for spam, harassment, or decisions that require user consent.

***

### FAQ

#### Can I scrape multiple extensions?

Yes. Add multiple URLs or extension IDs and set a per-extension limit.

#### Why did I get fewer reviews than requested?

The extension may have fewer public reviews, or Chrome Web Store may return fewer rows for a specific language/context.

#### Do I need a Google login?

No. The actor uses public review pages and public backend payloads.

#### Can I filter by rating?

The current MVP exports reviews first. You can filter the dataset after export.

#### Does it use a browser?

No. The actor is HTTP-first for lower cost and faster runs.

***

### Related scrapers

- https://apify.com/automation-lab/chrome-web-store-extension-scraper
- https://apify.com/automation-lab/google-play-reviews-scraper
- https://apify.com/automation-lab/app-store-reviews-scraper

***

### Changelog

#### 0.1

Initial build for public Chrome Web Store extension reviews.

# Actor input Schema

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

Paste Chrome Web Store extension detail or /reviews URLs. The actor extracts the extension ID automatically.

## `extensionIds` (type: `array`):

Optional raw Chrome extension IDs, one per item. Use this when you already have IDs from another workflow.

## `maxReviewsPerExtension` (type: `integer`):

Stops after this many reviews for each extension URL or ID.

## `reviewsPerPage` (type: `integer`):

Advanced: backend page size. Keep the default unless you need smaller batches.

## `language` (type: `string`):

Language code passed to Chrome Web Store, for example en, de, fr, es, or ja.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews"
    }
  ],
  "extensionIds": [
    "cjpalhdlnbpafiamejdnhcphjbkeiagm"
  ],
  "maxReviewsPerExtension": 20,
  "reviewsPerPage": 10,
  "language": "en"
}
```

# Actor output Schema

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

No description

# 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": [
        {
            "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews"
        }
    ],
    "extensionIds": [
        "cjpalhdlnbpafiamejdnhcphjbkeiagm"
    ],
    "maxReviewsPerExtension": 20,
    "reviewsPerPage": 10,
    "language": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/chrome-web-store-reviews-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": [{ "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews" }],
    "extensionIds": ["cjpalhdlnbpafiamejdnhcphjbkeiagm"],
    "maxReviewsPerExtension": 20,
    "reviewsPerPage": 10,
    "language": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/chrome-web-store-reviews-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": [
    {
      "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/reviews"
    }
  ],
  "extensionIds": [
    "cjpalhdlnbpafiamejdnhcphjbkeiagm"
  ],
  "maxReviewsPerExtension": 20,
  "reviewsPerPage": 10,
  "language": "en"
}' |
apify call automation-lab/chrome-web-store-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/chrome-web-store-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Chrome Web Store Reviews Scraper",
        "description": "Scrape public Chrome Web Store extension reviews with ratings, reviewer names, dates, versions, locales, helpful votes, and source URLs.",
        "version": "0.1",
        "x-build-id": "ImGR2C4U63vMt5dNO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~chrome-web-store-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-chrome-web-store-reviews-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/automation-lab~chrome-web-store-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-chrome-web-store-reviews-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/automation-lab~chrome-web-store-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-chrome-web-store-reviews-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": "Chrome Web Store review URLs",
                        "type": "array",
                        "description": "Paste Chrome Web Store extension detail or /reviews URLs. The actor extracts the extension ID automatically.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "extensionIds": {
                        "title": "Extension IDs",
                        "type": "array",
                        "description": "Optional raw Chrome extension IDs, one per item. Use this when you already have IDs from another workflow.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxReviewsPerExtension": {
                        "title": "Maximum reviews per extension",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Stops after this many reviews for each extension URL or ID.",
                        "default": 20
                    },
                    "reviewsPerPage": {
                        "title": "Reviews per request",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Advanced: backend page size. Keep the default unless you need smaller batches.",
                        "default": 50
                    },
                    "language": {
                        "title": "Chrome Web Store language",
                        "type": "string",
                        "description": "Language code passed to Chrome Web Store, for example en, de, fr, es, or ja.",
                        "default": "en"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
