# Glassdoor Salaries Universal Scraper (`scrapifier/glassdoor-salaries-universal-scraper`) Actor

💰 Scrape Glassdoor salary estimates by company name or URL. Get base pay (low/median/high), total pay, bonus, stock & profit sharing per job title, with the number of reported salaries, currency & pay period. No login and no proxy needed.

- **URL**: https://apify.com/scrapifier/glassdoor-salaries-universal-scraper.md
- **Developed by:** [Scrapifier](https://apify.com/scrapifier) (community)
- **Categories:** Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.04 / 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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## 💰 Glassdoor Salaries Scraper

Extract Glassdoor salary estimates for any company by name or URL — base pay, total pay and bonus per job title — and export them as structured JSON, CSV or Excel. No code required.

[![Apify Actor](https://apify.com/actor-badge?actor=scrapifier/glassdoor-salaries-universal-scraper)](https://apify.com/scrapifier/glassdoor-salaries-universal-scraper)

### 📋 Contents

- [Overview](#-overview)
- [How to use](#-how-to-use)
- [Input](#-input)
- [Output](#-output)
- [Pricing](#-pricing)
- [Proxy and performance](#-proxy-and-performance)
- [Integrations](#-integrations)
- [Related Actors](#-related-actors)
- [FAQ](#-faq)
- [Support](#-support)

### 📖 Overview

Collect Glassdoor salary data for any company by typing its name or pasting a Glassdoor URL. For every job title reported at the company you get the base-pay range (low / median / high), total pay, the additional-pay breakdown (cash bonus, stock, profit sharing, sales commission, tips), the number of reported salaries, the currency and the pay period.

- Find a company by **name** (`Google`) or paste any **Glassdoor company URL**.
- Salary figures per **job title**: base pay low/median/high, total pay, and additional pay.
- Optional **full percentile breakdown** (10th / 25th / 50th / 75th / 90th).
- Choose the **pay period** — annual, monthly or hourly — and the **region** (any Glassdoor country domain).
- No login required — works anonymously.
- Exports to JSON, CSV, Excel, or the Apify dataset API.
- Pay per result — no subscription.

### 🚀 How to use

1. Add one or more companies in **Company names** (`Google`, `Microsoft`, `Airbnb`) — or paste **Glassdoor company URLs**.
2. Pick the **pay period** (annual / monthly / hourly) and, for company names, the **Glassdoor domain** (region).
3. Set **Max job titles per company** (`0` = every job title).
4. Start the run, then download your data from the **Storage** tab or fetch it from the API.

### 📥 Input

| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Glassdoor company URLs | `startUrls` | array | — | Company Salaries page or any company URL. Works on any country domain. |
| Company names | `companyNames` | array | `["Google"]` | Company names resolved automatically on Glassdoor. |
| Max job titles per company | `maxSalariesPerCompany` | integer | `100` | Salary rows to collect per company. `0` = all. |
| Pay period | `payPeriod` | select | `annual` | Annual, monthly or hourly figures. |
| Glassdoor domain | `country` | select | `www` | Domain used for company names — also sets region & currency. |
| Full percentile breakdown | `includePercentiles` | boolean | `true` | Add the 10th–90th percentile range for base & total pay. |
| Additional pay breakdown | `includeAdditionalPay` | boolean | `true` | Add cash bonus, stock, profit sharing, commission and tips. |
| Flat columns | `flatten` | boolean | `false` | Keep only flat columns for CSV/Excel. |
| Proxy configuration | `proxyConfiguration` | object | Off | Leave off — the Actor works best with no proxy. |

<details>
<summary>Example input</summary>

```json
{
  "companyNames": ["Google"],
  "payPeriod": "annual",
  "country": "www",
  "maxSalariesPerCompany": 100,
  "includePercentiles": true,
  "includeAdditionalPay": true
}
````

</details>

### 📤 Output

Each job title is stored as one dataset item. Export it as JSON, CSV or Excel, or read it from the API.

| Field | Description |
|---|---|
| `employerId` / `employerName` | Glassdoor company ID and name |
| `url` | Link to the company's salaries page |
| `jobTitle` / `jobTitleId` | Job title and its Glassdoor ID |
| `location` | Region the figures cover (e.g. France, United States) |
| `payPeriod` / `currency` | Pay period and currency |
| `salaryCount` | Number of reported salaries |
| `mostRecent` | Most recent salary report date |
| `basePayMin` / `basePayMedian` / `basePayMax` | Base pay: low (10th), median (50th), high (90th) |
| `totalPayMin` / `totalPayMedian` / `totalPayMax` | Total pay: low, median, high |
| `additionalPayMedian` | Additional pay (bonus + stock + …), median |
| `additionalPay{}` | Breakdown: cash bonus, stock, profit sharing, sales commission, tips |
| `basePayPercentiles{}` / `totalPayPercentiles{}` | Full percentile ranges |

<details>
<summary>Example output</summary>

```json
{
  "employerId": 9079,
  "employerName": "Google",
  "url": "https://www.glassdoor.com/Salary/Employer-Salaries-E9079.htm",
  "jobTitle": "Software Engineer",
  "jobTitleId": 4279,
  "location": "United States",
  "payPeriod": "annual",
  "currency": "USD",
  "salaryCount": 111,
  "basePayMin": 50000,
  "basePayMedian": 70000,
  "basePayMax": 110000,
  "totalPayMedian": 80000,
  "additionalPayMedian": 39000,
  "additionalPay": { "cashBonus": 10000, "stockBonus": 22000, "profitSharing": 15000 }
}
```

</details>

### 💰 Pricing

**$3.00 per 1,000 job-title salaries.** No subscription — you pay only for the results you extract. New Apify users can try the Actor with their free monthly platform credits.

### 🛡️ Proxy and performance

- **Leave the proxy off** — this Actor is tuned to run without one, and a proxy usually makes Glassdoor runs less reliable.
- Start with a small **Max job titles per company** to validate your setup, then increase it.
- Add several companies in one run to compare pay side by side.
- The first request per run warms up the session; the rest are fast.

### 🔌 Integrations

Run the Actor from the [Apify API](https://docs.apify.com/api/v2), the [JavaScript](https://docs.apify.com/sdk/js) or [Python](https://docs.apify.com/sdk/python) clients, or connect it to Make, Zapier, n8n, Google Sheets and Slack through Apify integrations. Each run's data is available as JSON or CSV via the dataset API.

### 🔗 Related Actors

- [Glassdoor Reviews Universal Scraper](https://apify.com/scrapifier/glassdoor-reviews-universal-scraper) — company reviews from Glassdoor.
- [Glassdoor Jobs Universal Scraper](https://apify.com/scrapifier/glassdoor-jobs-universal-scraper) — job listings from Glassdoor.
- [Trustpilot Universal Scraper](https://apify.com/scrapifier/trustpilot-universal-scraper) — customer reviews from Trustpilot.

Need another source? Open an issue.

### ❓ FAQ

**Which URLs are supported?**

Any Glassdoor company URL — the Salaries page (`.../Salary/Company-Salaries-E12345.htm`) or the company Overview/Reviews page. Any country domain works (.com, .fr, .de, .co.uk…).

**Where do the figures come from?**

They are Glassdoor's own estimates, aggregated from salaries reported by employees for each job title.

**How do I get salaries for a specific country?**

Paste that country's Glassdoor URL, or pick the matching **Glassdoor domain** when using company names — it sets both the region and the currency.

**How fresh is the data?**

It is collected live at runtime.

### 💬 Support

Questions or issues? Post them in the **Issues** tab and I will respond quickly. If the Actor is useful to you, a review is appreciated.

# Actor input Schema

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

Paste one or more Glassdoor company URLs — the Salaries page (e.g. https://www.glassdoor.com/Salary/Google-Salaries-E9079.htm) or any company page. Works on any Glassdoor country domain (.com, .fr, .de, .co.uk…). Leave empty to use company names below.

## `companyNames` (type: `array`):

Company names to resolve automatically on glassdoor.com (e.g. Google, Microsoft, Airbnb). For a specific country/office, paste that country's Glassdoor URL above instead.

## `maxSalariesPerCompany` (type: `integer`):

How many job-title salary rows to collect per company (0 = every job title Glassdoor reports).

## `payPeriod` (type: `string`):

The pay period the salary figures are reported in.

## `country` (type: `string`):

Which Glassdoor domain to use when resolving company names. This also sets the region and currency of the figures. (Pasted URLs keep their own domain.)

## `includePercentiles` (type: `boolean`):

Add the full percentile range (10th / 25th / 50th / 75th / 90th…) for base and total pay, alongside the low/median/high summary.

## `includeAdditionalPay` (type: `boolean`):

Add a breakdown of additional pay — cash bonus, stock, profit sharing, sales commission and tips (median).

## `flatten` (type: `boolean`):

Keep only flat columns (drops the nested percentile and additional-pay objects) for clean CSV/Excel exports.

## `emitInputStatus` (type: `boolean`):

Add an input\_status report to the run's OUTPUT record.

## `maxChallengeRetries` (type: `integer`):

How many retry attempts if a page fails to load. Increase only if runs report being blocked.

## `proxyConfiguration` (type: `object`):

Leave OFF (recommended). A proxy usually makes Glassdoor runs fail — the Actor works best without one. Only add a proxy if you have your own clean, ISP-grade IPs.

## Actor input object example

```json
{
  "companyNames": [
    "Google"
  ],
  "maxSalariesPerCompany": 100,
  "payPeriod": "annual",
  "country": "www",
  "includePercentiles": true,
  "includeAdditionalPay": true,
  "flatten": false,
  "emitInputStatus": true,
  "maxChallengeRetries": 6,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `salaries` (type: `string`):

All Glassdoor salary estimates extracted by this run.

# 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 = {
    "companyNames": [
        "Google"
    ],
    "maxSalariesPerCompany": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapifier/glassdoor-salaries-universal-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 = {
    "companyNames": ["Google"],
    "maxSalariesPerCompany": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapifier/glassdoor-salaries-universal-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 '{
  "companyNames": [
    "Google"
  ],
  "maxSalariesPerCompany": 100
}' |
apify call scrapifier/glassdoor-salaries-universal-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glassdoor Salaries Universal Scraper",
        "description": "💰 Scrape Glassdoor salary estimates by company name or URL. Get base pay (low/median/high), total pay, bonus, stock & profit sharing per job title, with the number of reported salaries, currency & pay period. No login and no proxy needed.",
        "version": "0.1",
        "x-build-id": "ln8DZHar9AhPxCTVu"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapifier~glassdoor-salaries-universal-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapifier-glassdoor-salaries-universal-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/scrapifier~glassdoor-salaries-universal-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapifier-glassdoor-salaries-universal-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/scrapifier~glassdoor-salaries-universal-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapifier-glassdoor-salaries-universal-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": "Glassdoor company URLs",
                        "type": "array",
                        "description": "Paste one or more Glassdoor company URLs — the Salaries page (e.g. https://www.glassdoor.com/Salary/Google-Salaries-E9079.htm) or any company page. Works on any Glassdoor country domain (.com, .fr, .de, .co.uk…). Leave empty to use company names below.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "companyNames": {
                        "title": "Company names",
                        "type": "array",
                        "description": "Company names to resolve automatically on glassdoor.com (e.g. Google, Microsoft, Airbnb). For a specific country/office, paste that country's Glassdoor URL above instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxSalariesPerCompany": {
                        "title": "Max job titles per company",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many job-title salary rows to collect per company (0 = every job title Glassdoor reports).",
                        "default": 100
                    },
                    "payPeriod": {
                        "title": "Pay period",
                        "enum": [
                            "annual",
                            "monthly",
                            "hourly"
                        ],
                        "type": "string",
                        "description": "The pay period the salary figures are reported in.",
                        "default": "annual"
                    },
                    "country": {
                        "title": "Glassdoor domain (for company names)",
                        "enum": [
                            "www",
                            "co.uk",
                            "ca",
                            "com.au",
                            "co.in",
                            "ie"
                        ],
                        "type": "string",
                        "description": "Which Glassdoor domain to use when resolving company names. This also sets the region and currency of the figures. (Pasted URLs keep their own domain.)",
                        "default": "www"
                    },
                    "includePercentiles": {
                        "title": "Include full percentile breakdown",
                        "type": "boolean",
                        "description": "Add the full percentile range (10th / 25th / 50th / 75th / 90th…) for base and total pay, alongside the low/median/high summary.",
                        "default": true
                    },
                    "includeAdditionalPay": {
                        "title": "Include additional pay breakdown",
                        "type": "boolean",
                        "description": "Add a breakdown of additional pay — cash bonus, stock, profit sharing, sales commission and tips (median).",
                        "default": true
                    },
                    "flatten": {
                        "title": "Flat columns (CSV-friendly)",
                        "type": "boolean",
                        "description": "Keep only flat columns (drops the nested percentile and additional-pay objects) for clean CSV/Excel exports.",
                        "default": false
                    },
                    "emitInputStatus": {
                        "title": "Report empty inputs",
                        "type": "boolean",
                        "description": "Add an input_status report to the run's OUTPUT record.",
                        "default": true
                    },
                    "maxChallengeRetries": {
                        "title": "Page load retries",
                        "minimum": 1,
                        "type": "integer",
                        "description": "How many retry attempts if a page fails to load. Increase only if runs report being blocked.",
                        "default": 6
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Leave OFF (recommended). A proxy usually makes Glassdoor runs fail — the Actor works best without one. Only add a proxy if you have your own clean, ISP-grade IPs.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
