# Glassdoor Company & Salary Scraper (No Login) (`scrapemint/glassdoor-company-salary-scraper`) Actor

Pull public Glassdoor company facts and salary intelligence without a login. Each row carries rating, CEO approval, recommend rate, headquarters, size, industry, founded year, salary ranges by job title, and recent review snippets. JSON. Pay per company.

- **URL**: https://apify.com/scrapemint/glassdoor-company-salary-scraper.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## 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

## Glassdoor Company & Salary Scraper (No Login Required)

Pull public Glassdoor company facts and salary intelligence from any company page. No cookies. No login. No employer subscription. Each row ships the rating, CEO approval rate, recommend rate, headquarters, size, industry, founded year, salary ranges by job title, and the most recent review snippets. Pay per company.

**Built for** comp teams pricing offers, recruiters benchmarking pay, sales teams researching target accounts, and HR ops tracking employer brand over time.

**Keywords this actor ranks for:** glassdoor scraper, glassdoor api, glassdoor salary scraper, salary benchmarking api, employer brand tracker, comp benchmarking api, recruiter intelligence, glassdoor company data, glassdoor reviews scraper, payscale alternative, lightcast alternative, salary intelligence api.

---

### Why this actor

| Other Glassdoor scrapers | **This actor** |
|---|---|
| Need an employer account or session | Zero cookies, zero login |
| Return one big HTML blob | Overview, salaries, and reviews parsed into discrete rows |
| Skip salary ranges entirely | Salary ranges per job title shipped with low, median, high, sample size |
| Charge per page hit | Charge per company, get the whole snapshot |
| Get rate limited at 5 rows | Built on residential proxy with session pooling for sustained runs |

---

### How it works

```mermaid
flowchart LR
    A[Company URL] --> B[Overview page<br/>no auth needed]
    B --> C[Parse rating, CEO approval, breakdown]
    A --> D[Salaries page]
    D --> E[Parse salary ranges<br/>per job title]
    A --> F[Reviews page]
    F --> G[Parse review snippets<br/>pros, cons, position]
    C --> H[Merge into one row]
    E --> H
    G --> H
    H --> I[Push one row per company]
    I --> J[(JSON CSV Excel API)]
````

The actor extracts the embedded `__NEXT_DATA__` JSON when Glassdoor renders it, and falls back to defensive DOM selectors when the surface changes. No cookie passes through the actor at any stage.

***

### What you get per row

```mermaid
flowchart LR
    R[Company row] --> R1[Identity<br/>employerId slug companyName]
    R --> R2[Reputation<br/>rating CEO approval recommend]
    R --> R3[Breakdown<br/>work life comp culture mgmt career]
    R --> R4[Firmographics<br/>HQ size industry founded revenue]
    R --> R5[Salaries<br/>title low median high sample]
    R --> R6[Reviews<br/>title rating pros cons position]
```

Pipe straight into a comp planning sheet, an offer-letter builder, or a sales account brief.

***

### Quick start

**Comp benchmarking for a target company list**

```json
{
  "companyUrls": [
    "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
    "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm",
    "https://www.glassdoor.com/Reviews/Anthropic-Reviews-E6552243.htm"
  ]
}
```

**Pull only salary ranges (skip reviews)**

```json
{
  "companyUrls": ["https://www.glassdoor.com/Reviews/Databricks-Reviews-E954115.htm"],
  "includeReviews": false,
  "salariesPerCompany": 50
}
```

**Account research for a sales rep**

```json
{
  "companyUrls": [
    "https://www.glassdoor.com/Reviews/Snowflake-Reviews-E1226371.htm",
    "https://www.glassdoor.com/Reviews/Datadog-Reviews-E929772.htm"
  ],
  "includeSalaries": true,
  "includeReviews": true,
  "reviewsPerCompany": 20
}
```

***

### Sample output

```json
{
  "employerId": "5390716",
  "slug": "OpenAI",
  "url": "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
  "companyName": "OpenAI",
  "rating": 4.4,
  "ceoApprovalPct": 92,
  "recommendPct": 89,
  "ratingsBreakdown": {
    "workLifeBalance": 3.9,
    "compensationAndBenefits": 4.7,
    "cultureAndValues": 4.5,
    "seniorManagement": 4.0,
    "careerOpportunities": 4.4,
    "diversityAndInclusion": 4.2
  },
  "headquarters": "San Francisco, CA",
  "size": "1001 to 5000 Employees",
  "industry": "Computer Hardware Development",
  "founded": 2015,
  "revenue": "Unknown / Non-Applicable",
  "type": "Company - Private",
  "website": "https://openai.com",
  "ceoName": "Sam Altman",
  "salaries": [
    {
      "title": "Software Engineer",
      "low": 230000,
      "median": 320000,
      "high": 450000,
      "currency": "USD",
      "period": "year",
      "sampleSize": 142
    },
    {
      "title": "Research Scientist",
      "low": 280000,
      "median": 410000,
      "high": 560000,
      "currency": "USD",
      "period": "year",
      "sampleSize": 64
    }
  ],
  "reviews": [
    {
      "title": "Genuine mission, intense pace",
      "rating": 5,
      "pros": "Smart people, real problems, great compensation.",
      "cons": "Hours are long. Roadmap shifts every quarter.",
      "position": "Software Engineer",
      "location": "San Francisco, CA",
      "date": "2026-04-22"
    }
  ],
  "scrapedAt": "2026-05-10T06:00:00.000Z"
}
```

***

### Who uses this

| Role | Use case |
|---|---|
| Comp team | Benchmark base + bonus per title before pricing offers |
| Recruiter | Pull rating and salary range for outbound talking points |
| Sales | Brief reps with employer rating, headcount, and HQ before a discovery call |
| HR ops | Track rating and review velocity month over month |
| Founder | Watch competitor employer brand and comp trajectory |
| Investor | Read employee sentiment and pay shifts as an early signal |

***

### Input reference

| Field | Type | What it does |
|---|---|---|
| `companyUrls` | string\[] | Glassdoor Overview, Reviews, or Salary URLs. Required. |
| `includeSalaries` | boolean | Pull salary ranges per job title. Default true. |
| `includeReviews` | boolean | Pull recent review snippets. Default true. |
| `salariesPerCompany` | integer | Max salary rows per company. Default 25. |
| `reviewsPerCompany` | integer | Max review snippets per company. Default 10. |
| `concurrency` | integer | Companies processed in parallel. Four is the safe default for Glassdoor. |
| `proxyConfiguration` | object | Apify proxy. Residential is required at any meaningful volume. |

***

### API call

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/YOUR_USER~glassdoor-company-salary-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "companyUrls": [
      "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
      "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm"
    ]
  }'
```

***

### Pricing

The first few companies per run are free so you can validate output before paying. After that, each company row is charged. No surprise add on charges.

***

### FAQ

#### Do I need a Glassdoor account or cookie?

No. The actor only touches Glassdoor's public Overview, Salaries, and Reviews surfaces. Your account is never touched.

#### Can I get every salary report for a company?

You get the public salary ranges per job title that Glassdoor renders to anonymous visitors. That covers most of the top titles per company with low, median, high, and the reported sample size. Per-employee report rows are gated behind login and are not exposed.

#### How many reviews can I pull?

The first page of public reviews per company, capped by `reviewsPerCompany`. Pagination across many pages of reviews is intentionally skipped to keep cost predictable per row.

#### Glassdoor can block scrapers. How does this handle it?

The actor runs through Apify residential proxy with session pooling and stealth flags. Sessions retire after a small number of uses to keep the failure rate low.

#### What if a company page is gated for me?

The actor returns the row with whatever it could parse. Missing fields land as null. You only pay for the company on push, so if Glassdoor returns nothing for that ID you get the row with nulls, not a blank charge surprise.

#### Can I scrape regional Glassdoor pages?

Yes. Country variants like glassdoor.co.uk, glassdoor.de, and glassdoor.fr all share the employer ID format and are accepted.

#### How fresh is the data?

Each run hits the live page, so rating and salary ranges reflect what Glassdoor renders at scrape time. Schedule weekly runs to track sentiment and pay shifts over time.

#### Is scraping Glassdoor allowed?

This actor reads HTML any anonymous web visitor can see. Respect Glassdoor's terms and rate limit sensibly. Do not redistribute personal data you have no lawful basis to process.

***

### Related actors

- **LinkedIn Company Profile Scraper (No Cookies)** — pull industry, headcount range, HQ, founded year, specialties, website per company
- **LinkedIn Company Employees Scraper (No Cookies)** — pull headcount, location split, top roles, top skills, top schools per company
- **Indeed Jobs Scraper Pro** — pull live job postings with salary, employer, and location
- **Lead Enrichment Pipeline** — multi source enrichment for a list of company domains
- **Domain Intelligence** — pull WHOIS, MX, tech stack, and traffic signals per domain

# Actor input Schema

## `companyUrls` (type: `array`):

List of Glassdoor company URLs whose facts and salaries you want to scrape. Accepts Overview, Reviews, or Salary URLs. Examples: 'https://www.glassdoor.com/Overview/Working-at-OpenAI-EI\_IE5390716.11,17.htm', 'https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm'.

## `includeSalaries` (type: `boolean`):

Pull salary ranges per job title from the public Salaries page. Each entry ships title, low, median, high, currency, and reported sample size when present. Useful for offer benchmarking and comp planning.

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

Pull the most recent public review snippets from the Reviews page. Each entry ships title, rating, pros, cons, position, location, and date when present. First page only.

## `salariesPerCompany` (type: `integer`):

Maximum number of salary rows to pull per company from the Salaries page. Higher numbers add latency and proxy cost.

## `reviewsPerCompany` (type: `integer`):

Maximum number of review snippets to pull per company from the first Reviews page.

## `concurrency` (type: `integer`):

Number of companies processed in parallel. Higher concurrency runs faster but increases proxy and detection risk. Four is a safe default for Glassdoor.

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

Apify proxy. Residential is required for Glassdoor at any meaningful volume.

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
    "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm"
  ],
  "includeSalaries": true,
  "includeReviews": true,
  "salariesPerCompany": 25,
  "reviewsPerCompany": 10,
  "concurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "companyUrls": [
        "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
        "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/glassdoor-company-salary-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 = {
    "companyUrls": [
        "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
        "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm",
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/glassdoor-company-salary-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 '{
  "companyUrls": [
    "https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm",
    "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapemint/glassdoor-company-salary-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glassdoor Company & Salary Scraper (No Login)",
        "description": "Pull public Glassdoor company facts and salary intelligence without a login. Each row carries rating, CEO approval, recommend rate, headquarters, size, industry, founded year, salary ranges by job title, and recent review snippets. JSON. Pay per company.",
        "version": "0.1",
        "x-build-id": "GUAIchvSitevaaj0w"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~glassdoor-company-salary-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-glassdoor-company-salary-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/scrapemint~glassdoor-company-salary-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-glassdoor-company-salary-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/scrapemint~glassdoor-company-salary-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-glassdoor-company-salary-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",
                "required": [
                    "companyUrls"
                ],
                "properties": {
                    "companyUrls": {
                        "title": "Company URLs",
                        "type": "array",
                        "description": "List of Glassdoor company URLs whose facts and salaries you want to scrape. Accepts Overview, Reviews, or Salary URLs. Examples: 'https://www.glassdoor.com/Overview/Working-at-OpenAI-EI_IE5390716.11,17.htm', 'https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm'.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeSalaries": {
                        "title": "Include salary ranges",
                        "type": "boolean",
                        "description": "Pull salary ranges per job title from the public Salaries page. Each entry ships title, low, median, high, currency, and reported sample size when present. Useful for offer benchmarking and comp planning.",
                        "default": true
                    },
                    "includeReviews": {
                        "title": "Include review snippets",
                        "type": "boolean",
                        "description": "Pull the most recent public review snippets from the Reviews page. Each entry ships title, rating, pros, cons, position, location, and date when present. First page only.",
                        "default": true
                    },
                    "salariesPerCompany": {
                        "title": "Salary rows per company",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of salary rows to pull per company from the Salaries page. Higher numbers add latency and proxy cost.",
                        "default": 25
                    },
                    "reviewsPerCompany": {
                        "title": "Review snippets per company",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum number of review snippets to pull per company from the first Reviews page.",
                        "default": 10
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Number of companies processed in parallel. Higher concurrency runs faster but increases proxy and detection risk. Four is a safe default for Glassdoor.",
                        "default": 4
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Residential is required for Glassdoor at any meaningful volume.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
