# Glassdoor Reviews Scraper (`scraply/glassdoor-reviews-scraper`) Actor

🔍 Glassdoor Reviews Scraper extracts employee review data, ratings, and insights from Glassdoor. 📊 Automate sentiment & reputation research with clean, structured outputs—ideal for HR, recruitment, and market analysis. 🚀 Fast, reliable, and SEO-friendly.

- **URL**: https://apify.com/scraply/glassdoor-reviews-scraper.md
- **Developed by:** [Scraply](https://apify.com/scraply) (community)
- **Categories:** Automation, Jobs, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Glassdoor Reviews Scraper

A powerful Apify actor that extracts comprehensive employee reviews from Glassdoor company profiles. This actor efficiently scrapes reviews, ratings, and detailed feedback from multiple companies, providing structured data for analysis, research, and business intelligence.

### Why Choose Us?

- **Reliable Proxy Management**: Intelligent proxy fallback system that automatically switches from direct connection to datacenter, then residential proxies if blocked, ensuring maximum success rates
- **Comprehensive Data Extraction**: Captures all review details including ratings, pros/cons, advice, job titles, locations, and employer responses
- **Bulk Processing**: Process multiple companies simultaneously with efficient async operations
- **Live Data Saving**: Reviews are saved to the dataset in real-time, so you won't lose data if the actor is interrupted
- **Production-Ready**: Built with error handling, retry logic, and anti-blocking measures for reliable operation at scale

### Key Features

- ✅ **Bulk Company Processing**: Scrape reviews from multiple companies in a single run
- ✅ **Smart Proxy Fallback**: Automatic proxy rotation (direct → datacenter → residential) with detailed logging
- ✅ **Comprehensive Review Data**: Extract all review fields including ratings, text content, metadata, and more
- ✅ **Flexible Configuration**: Customize maximum reviews per company (1-1000)
- ✅ **Anti-Blocking Measures**: Random delays and proper headers to avoid rate limiting
- ✅ **Structured Output**: Data organized by company ID with easy-to-parse JSON format
- ✅ **Real-Time Logging**: Detailed logs keep you informed throughout the scraping process
- ✅ **Error Resilience**: Graceful error handling ensures partial results are still saved

### Input

The actor accepts the following input configuration:

#### Input Schema

```json
{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
    "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxResults": 50
}
````

#### Input Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| **startItems** | `array` | ✅ Yes | List of Glassdoor company profile URLs. Each URL should follow the pattern: `https://www.glassdoor.com/Overview/Working-at-COMPANY-EI_IE[ID].htm` |
| **proxyConfiguration** | `object` | ❌ No | Proxy configuration object. By default, the actor starts without proxy. If blocked, it automatically falls back to datacenter, then residential proxies. Set `useApifyProxy: true` to enable Apify proxy from the start. |
| **maxResults** | `integer` | ❌ No | Maximum number of reviews to collect per company. Range: 1-1000. Default: 50 |

#### Input Examples

**Basic Usage (Single Company):**

```json
{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm"
  ],
  "maxResults": 100
}
```

**Bulk Processing (Multiple Companies):**

```json
{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
    "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm",
    "https://www.glassdoor.com/Overview/Working-at-Microsoft-EI_IE1651.11,20.htm"
  ],
  "maxResults": 200
}
```

**With Proxy Configuration:**

```json
{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "maxResults": 50
}
```

### Output

The actor outputs structured data in two formats:

1. **Dataset**: Individual review records (one per row) with company metadata
2. **Key-Value Store (OUTPUT)**: Grouped data by company ID matching your original output format

#### Output Format

The dataset contains individual review records with the following fields:

| Field | Type | Description |
|-------|------|-------------|
| `company_id` | `integer` | Glassdoor company ID extracted from URL |
| `company_url` | `string` | Original company profile URL |
| `reviews_count` | `integer` | Total number of reviews scraped for this company |
| `review_id` | `integer` | Unique review identifier |
| `summary` | `string` | Review summary/title |
| `pros` | `string` | Pros section of the review |
| `cons` | `string` | Cons section of the review |
| `advice` | `string` | Advice to management section |
| `rating_overall` | `integer` | Overall company rating (1-5) |
| `rating_recommend_to_friend` | `string` | Recommendation rating (POSITIVE/NEGATIVE/null) |
| `rating_ceo` | `string` | CEO approval rating (APPROVE/DISAPPROVE/null) |
| `rating_business_outlook` | `string` | Business outlook rating (POSITIVE/NEUTRAL/NEGATIVE) |
| `rating_career_opportunities` | `number` | Career opportunities rating (0-5) |
| `rating_compensation_and_benefits` | `number` | Compensation rating (0-5) |
| `rating_culture_and_values` | `integer` | Culture rating (0-5) |
| `rating_diversity_and_inclusion` | `integer` | Diversity rating (0-5) |
| `rating_senior_leadership` | `number` | Senior leadership rating (0-5) |
| `rating_work_life_balance` | `number` | Work-life balance rating (0-5) |
| `review_date_time` | `string` | Review date in ISO format |
| `is_current_job` | `boolean` | Whether reviewer is a current employee |
| `length_of_employment` | `integer` | Years of employment |
| `job_title` | `string` | Reviewer's job title |
| `location` | `string` | Reviewer's location |
| `employer_id` | `integer` | Employer ID |
| `employer_short_name` | `string` | Company short name |
| `employer_logo_url` | `string` | Company logo URL |
| `count_helpful` | `integer` | Number of helpful votes |
| `has_employer_response` | `boolean` | Whether company responded to review |
| `featured` | `boolean` | Whether review is featured |

#### Output Example

**Dataset Format (Individual Records):**

```json
{
  "company_id": 354,
  "company_url": "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
  "reviews_count": 120,
  "review_id": 4852131,
  "summary": "Advisory Engineer in STG, IBM",
  "pros": "Great colleagues, flexible policies...",
  "cons": "Rating system issues...",
  "advice": "Management must keep in mind...",
  "rating_overall": 4,
  "rating_career_opportunities": 5.0,
  "rating_compensation_and_benefits": 3.0,
  "job_title": "Advisory Engineer",
  "location": "Hopewell Junction, NY",
  "review_date_time": "2014-08-26T09:02:30.030",
  "is_current_job": true,
  "length_of_employment": 9
}
```

**Key-Value Store Format (Grouped by Company):**

```json
{
  "354": {
    "company_url": "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
    "reviews_count": 120,
    "reviews": [
      {
        "review_id": 4852131,
        "summary": "Advisory Engineer in STG, IBM",
        "pros": "Great colleagues...",
        "cons": "Rating system...",
        "rating_overall": 4,
        ...
      },
      ...
    ]
  },
  "9079": {
    "company_url": "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm",
    "reviews_count": 85,
    "reviews": [...]
  }
}
```

### 🚀 How to Use the Actor (via Apify Console)

1. **Log in to Apify Console**: Go to <https://console.apify.com> and sign in to your account

2. **Navigate to Actors**: Click on **Actors** in the left sidebar

3. **Find the Actor**: Search for "glassdoor-reviews-scraper" or locate it in your actor list

4. **Configure Inputs**:
   - **startItems**: Add one or more Glassdoor company profile URLs
   - **proxyConfiguration**: Choose proxy settings (optional, defaults to no proxy with automatic fallback)
   - **maxResults**: Set the maximum number of reviews per company (default: 50)

5. **Run the Actor**: Click the **Start** button to begin scraping

6. **Monitor Progress**: Watch the logs in real-time to see:
   - Which companies are being processed
   - Proxy fallback events (if any)
   - Number of reviews extracted per page
   - Overall progress and statistics

7. **Access Results**: Once complete, go to the **OUTPUT** tab to:
   - View individual review records in the dataset
   - Download data as JSON or CSV
   - Access the grouped output from the key-value store

8. **Export Data**: Click **Export** to download results in your preferred format (JSON, CSV, Excel, etc.)

### Best Use Cases

- **Market Research**: Analyze employee sentiment across competitors in your industry
- **HR Analytics**: Gather insights on company culture, compensation, and work-life balance
- **Investment Research**: Evaluate company reputation and employee satisfaction for due diligence
- **Recruitment Intelligence**: Understand what employees value and what concerns them at target companies
- **Competitive Analysis**: Compare employee experiences across similar companies
- **Academic Research**: Collect data for studies on workplace satisfaction and corporate culture
- **Brand Monitoring**: Track changes in employee sentiment over time

### Frequently Asked Questions

#### How many reviews can I scrape per company?

You can scrape up to 1,000 reviews per company by setting the `maxResults` parameter. The default is 50 reviews per company.

#### What happens if Glassdoor blocks my requests?

The actor has an intelligent proxy fallback system:

1. First, it tries without a proxy (direct connection)
2. If blocked, it automatically switches to a datacenter proxy
3. If still blocked, it falls back to residential proxies with 3 retry attempts
4. Once residential proxy succeeds, it sticks with it for all remaining requests

All proxy events are clearly logged so you can monitor what's happening.

#### Can I scrape multiple companies at once?

Yes! Simply add multiple company URLs to the `startItems` array. The actor processes them concurrently for efficiency.

#### How long does it take to scrape reviews?

Scraping time depends on:

- Number of companies
- Number of reviews per company (`maxResults`)
- Network speed and proxy performance
- Rate limiting (actor includes delays to avoid blocks)

As a rough estimate: ~1-2 minutes per 50 reviews per company.

#### What if the actor is interrupted?

The actor saves data in real-time to the dataset. Even if interrupted, you'll have all reviews that were successfully scraped up to that point.

#### Do I need to configure proxies?

No, proxies are optional. The actor starts without a proxy by default and only uses them if needed. However, you can enable Apify proxies from the start if you prefer.

#### Can I scrape reviews from any Glassdoor company?

Yes, as long as you have the correct company profile URL format: `https://www.glassdoor.com/Overview/Working-at-COMPANY-EI_IE[ID].htm`

#### What data fields are included in each review?

Each review includes comprehensive data: ratings (overall, CEO, work-life balance, etc.), text content (pros, cons, advice), metadata (job title, location, employment length), and more. See the Output section for the complete field list.

### Support and Feedback

💬 **For custom solutions or feature requests**, contact us at: **dev.scraperengine@gmail.com**

We're always looking to improve the actor based on user feedback. If you encounter any issues or have suggestions, please don't hesitate to reach out!

### Cautions

⚠️ **Important Legal and Ethical Considerations:**

- **Public Data Only**: This actor collects data only from publicly available Glassdoor company review pages. No private or password-protected content is accessed.

- **Terms of Service**: Users are responsible for ensuring their use of this actor complies with Glassdoor's Terms of Service and applicable laws.

- **Rate Limiting**: The actor includes built-in delays and anti-blocking measures, but users should be mindful of not overwhelming Glassdoor's servers with excessive requests.

- **Data Usage**: Users are responsible for how they use the scraped data and must comply with:
  - Data protection and privacy laws (GDPR, CCPA, etc.)
  - Spam laws and regulations
  - Any applicable local, state, and federal laws

- **No Guarantees**: While we strive for reliability, web scraping can be affected by website changes, network issues, or blocking. The actor includes fallback mechanisms, but 100% success cannot be guaranteed.

- **Respectful Usage**: Please use this actor responsibly and ethically. Consider the impact of your scraping activities on Glassdoor's infrastructure and other users.

***

**Version**: 0.1\
**Last Updated**: December 2025\
**Actor Name**: glassdoor-reviews-scraper

# Actor input Schema

## `startItems` (type: `array`):

List of Glassdoor company URLs (e.g., https://www.glassdoor.com/Overview/Working-at-IBM-EI\_IE354.11,14.htm), company names, or keywords.

## `maxResults` (type: `integer`):

Maximum number of reviews to collect per company (1-1000).

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

Choose proxies. Actor starts with no proxy, then datacenter, then residential if blocked. Sticks with residential after fallback.

## Actor input object example

```json
{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
    "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm"
  ],
  "maxResults": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "startItems": [
        "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
        "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraply/glassdoor-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 = {
    "startItems": [
        "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
        "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scraply/glassdoor-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 '{
  "startItems": [
    "https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm",
    "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scraply/glassdoor-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glassdoor Reviews Scraper",
        "description": "🔍 Glassdoor Reviews Scraper extracts employee review data, ratings, and insights from Glassdoor. 📊 Automate sentiment & reputation research with clean, structured outputs—ideal for HR, recruitment, and market analysis. 🚀 Fast, reliable, and SEO-friendly.",
        "version": "0.1",
        "x-build-id": "dPohjWaK6BOLssXhc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraply~glassdoor-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraply-glassdoor-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/scraply~glassdoor-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraply-glassdoor-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/scraply~glassdoor-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraply-glassdoor-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",
                "required": [
                    "startItems"
                ],
                "properties": {
                    "startItems": {
                        "title": "URLs / Usernames / Keywords",
                        "type": "array",
                        "description": "List of Glassdoor company URLs (e.g., https://www.glassdoor.com/Overview/Working-at-IBM-EI_IE354.11,14.htm), company names, or keywords.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max Reviews per Company",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of reviews to collect per company (1-1000).",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Choose proxies. Actor starts with no proxy, then datacenter, then residential if blocked. Sticks with residential after fallback."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
