# Clutch Reviews Scraper (`reviewly/clutch-reviews-scraper`) Actor

Scrapes businesses from Clutch category listing pages, then fetches all reviews from each business profile with full details.

- **URL**: https://apify.com/reviewly/clutch-reviews-scraper.md
- **Developed by:** [Reviewly](https://apify.com/reviewly) (community)
- **Categories:** AI, Integrations, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.90 / 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.

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

## Clutch Reviews Scraper — Extract Agency Profiles & Verified Client Reviews from Clutch.co

> Turn any Clutch.co category page into a structured dataset of agencies, ratings, and full verified client reviews — automatically, at scale, no login required.

**What you get in minutes:**
- Every agency listed in any Clutch category, with ratings, pricing, and team size
- Full paginated reviews with sub-ratings, reviewer details, and complete Q&A text
- Clean JSON output — one record per business, reviews nested inside

---

### 📌 What This Actor Does

Clutch.co is the world's leading B2B ratings and reviews platform, hosting thousands of verified agency profiles across web development, branding, SEO, mobile apps, and more.

This Apify Actor automates data collection from any Clutch category page — saving hours of manual research.

**It works in two phases:**

1. **Listing phase** — scrapes any Clutch category URL (e.g. `https://clutch.co/us/agencies/creative`) and collects all business profiles across multiple pages
2. **Reviews phase** *(optional)* — for each business found, visits the profile page and extracts all verified client reviews, including extended Q&A sections

**Who is this for?**
- **Marketing agencies** researching competitors and mapping the landscape
- **Business owners** vetting service providers before hiring
- **Sales teams** building targeted B2B lead lists from a trusted platform
- **Data analysts** running sentiment analysis on verified client feedback
- **Researchers** studying B2B services markets

---

### ✨ Key Features

- **Full listing pagination** — scrapes all pages of any Clutch category automatically
- **Deep review extraction** — captures ratings, quotes, reviewer background, project scope, results, and full Q&A text
- **Smart concurrency** — processes 3 profiles in parallel for faster runs
- **Profile pagination** — follows all review pages, not just the first 10
- **Nested JSON output** — each business record contains its reviews inline
- **Proxy support** — works with Apify residential proxies to handle Cloudflare protection
- **Free tier included** — test with 1 listing page and up to 50 reviews per business at no cost

---

### 🧠 Why This Actor is Different

Most Clutch scrapers stop at the listing page — name, rating, and a link. This Actor goes significantly further:

| Feature | Basic Scrapers | This Actor |
|---|---|---|
| Business listing data | ✅ | ✅ |
| Full paginated reviews | ❌ | ✅ |
| Sub-ratings (Quality, Cost, Schedule) | ❌ | ✅ |
| Reviewer industry & location | ❌ | ✅ |
| Project background & challenge | ❌ | ✅ |
| Solution & results sections | ❌ | ✅ |
| Parallel profile scraping | ❌ | ✅ |
| Clean nested JSON output | ❌ | ✅ |

---

### ⚙️ Input Configuration

| Field | Type | Default | Description |
|---|---|---|---|
| `startUrls` | `string[]` | — | Clutch category page URLs to scrape |
| `maxListingPages` | `integer` | `1` | Pages to paginate per category. `0` = unlimited |
| `includeReviews` | `boolean` | `false` | Whether to scrape reviews for each business |
| `maxReviews` | `integer` | `0` | Reviews per business. `0` = all reviews |
| `proxyConfiguration` | `object` | — | Proxy settings (residential strongly recommended) |

#### Example Input

```json
{
  "startUrls": [
    "https://clutch.co/us/agencies/creative",
    "https://clutch.co/us/agencies/seo"
  ],
  "maxListingPages": 3,
  "includeReviews": true,
  "maxReviews": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
````

#### Tips for Best Results

- **Enable residential proxies** — Clutch uses Cloudflare. Without proxies you will get 403 errors.
- **Set `includeReviews: false` first** for quick business discovery, then run a targeted review pass.
- **Use `maxReviews: 10–20`** to keep runs fast when you only need recent feedback.
- **Combine multiple `startUrls`** to cover several categories in a single run.

***

### 📤 Output Format

Each dataset record is one **business** with its reviews nested inside.

#### Sample Output

```json
{
  "clutchPid": "147613",
  "name": "Bob's Your Uncle",
  "profileUrl": "https://clutch.co/profile/bobs-your-uncle",
  "rating": 4.9,
  "reviewCount": 24,
  "minProjectSize": "$25,000+",
  "hourlyRate": "$150 - $199 / hr",
  "employees": "10 - 49",
  "location": "Serves United States",
  "isFeatured": false,
  "startUrl": "https://clutch.co/us/agencies/creative",
  "scrapedAt": "2026-06-28T14:32:00.000Z",
  "reviews": [
    {
      "reviewId": "334416",
      "title": "Rebranding & Logo Design for Care Homes Operator",
      "rating": 5.0,
      "ratingQuality": 5.0,
      "ratingSchedule": 5.0,
      "ratingCost": 4.5,
      "ratingWillingToRefer": 5.0,
      "quote": "They delivered exactly what we envisioned.",
      "date": "Mar 15, 2025",
      "services": ["Branding", "Logo Design"],
      "focusAreas": ["Brand strategy", "Visual identity"],
      "projectSize": "$10,000 to $49,999",
      "projectLength": "Jan. – Jun. 2024",
      "reviewerName": "Anonymous",
      "reviewerPosition": "Marketing Director, Care Homes Ltd",
      "reviewerIndustry": "Healthcare",
      "reviewerLocation": "London, United Kingdom",
      "reviewerClientSize": "51-200 Employees",
      "reviewType": "Online Review",
      "isVerified": true,
      "summary": "Bob's Your Uncle redesigned our full visual identity...",
      "feedback": "The team was highly responsive and delivered on time...",
      "background": "We are a care homes operator looking to modernise our brand...",
      "challenge": "We needed a trustworthy identity that would stand out...",
      "solution": "They conducted brand discovery workshops and proposed three directions...",
      "results": "The rebrand exceeded expectations. Enquiries increased by 30%...",
      "reviewUrl": "https://clutch.co/go-to-review/abc123/334416"
    }
  ]
}
```

#### Business Fields

| Field | Description |
|---|---|
| `clutchPid` | Clutch's internal provider ID |
| `name` | Agency name |
| `profileUrl` | Direct link to the Clutch profile page |
| `rating` | Overall star rating (out of 5.0) |
| `reviewCount` | Total number of reviews on Clutch |
| `minProjectSize` | Minimum project budget the agency accepts |
| `hourlyRate` | Hourly billing rate range |
| `employees` | Team size range |
| `location` | Location or service area |
| `isFeatured` | `true` if this is a paid sponsored placement |
| `startUrl` | The category URL this business was scraped from |
| `scrapedAt` | ISO 8601 timestamp of when the record was created |

#### Review Fields

| Field | Description |
|---|---|
| `reviewId` | Unique review identifier |
| `title` | Project title written by the reviewer |
| `rating` | Overall score for this review |
| `ratingQuality` | Sub-rating: quality of service and deliverables |
| `ratingSchedule` | Sub-rating: on-time delivery |
| `ratingCost` | Sub-rating: value for money |
| `ratingWillingToRefer` | Sub-rating: likelihood to recommend |
| `quote` | The reviewer's highlighted summary quote |
| `date` | Review publication date |
| `isFeatured` | Whether this review is pinned as featured |
| `services` | Service lines provided in this engagement |
| `focusAreas` | Specific areas of focus within those services |
| `projectSize` | Project budget range |
| `projectLength` | Timeline of the engagement |
| `reviewerName` | Reviewer name (often "Anonymous") |
| `reviewerPosition` | Job title and company name |
| `reviewerIndustry` | Reviewer's industry vertical |
| `reviewerLocation` | Reviewer's city and country |
| `reviewerClientSize` | Reviewer's company size |
| `reviewType` | How the review was collected |
| `isVerified` | `true` if Clutch verified the reviewer's identity |
| `summary` | Project overview written by the reviewer |
| `feedback` | Detailed feedback on working with the agency |
| `background` | Reviewer's company background |
| `challenge` | Goals and objectives for hiring the agency |
| `solution` | How the agency was selected and scope of work |
| `results` | Measurable project outcomes and results |
| `reviewUrl` | Direct link to the full review on Clutch |

***

### ▶️ How to Use

#### Step 1 — Find a category URL

Go to [clutch.co](https://clutch.co), browse to any category or apply filters, and copy the URL. Examples:

- `https://clutch.co/us/agencies/creative` — Creative agencies in the US
- `https://clutch.co/us/agencies/seo` — SEO agencies in the US
- `https://clutch.co/uk/agencies/web-design` — Web designers in the UK

#### Step 2 — Configure your run

Paste the URL into `startUrls`. Then decide on depth:

- **Listings only** — leave `includeReviews` as `false` for a fast, lightweight run
- **With reviews** — enable `includeReviews` and optionally set `maxReviews` to cap the depth
- **Quick test** — use `maxListingPages: 1` and `maxReviews: 5` to verify before scaling

#### Step 3 — Enable residential proxies

In the **Proxy configuration** field, select Apify Residential Proxy. This is strongly recommended — Clutch's Cloudflare protection will block datacenter IPs.

#### Step 4 — Run and export

Click **Start** and watch results appear in the dataset in real time. Export to **JSON, CSV, or Excel** from the dataset tab, or pull results via the Apify API.

***

### 📈 Use Cases

#### 1. B2B Lead Generation

Extract agencies in your niche filtered by rating, project size, and location. Build a targeted outreach list of verified, active service providers in minutes.

#### 2. Competitive Intelligence

Monitor what clients are praising — and criticising — about agencies in your space. The `challenge`, `solution`, and `results` fields reveal the exact language buyers use.

#### 3. Sentiment Analysis & NLP Research

Collect hundreds of verified client reviews across a category and run text analysis. The structured long-form fields make this dataset particularly rich for NLP pipelines.

#### 4. Agency Vetting Before Hiring

Instead of reading through profile pages manually, collect all reviews for your shortlisted agencies in one structured dataset and compare them side by side in a spreadsheet.

#### 5. Market Intelligence Database

Combine multiple categories and geographies in one run to build a comprehensive, timestamped snapshot of the B2B services landscape.

***

### 🛠️ Advanced Tips

**Scraping entire categories**
Set `maxListingPages: 0` to disable pagination limits. Popular categories like web development can have 50+ pages.

**Getting past Cloudflare**
If you see `HTTP 403` errors, residential proxies are not optional — they are required. Set `apifyProxyCountry` to match the country of the category you're scraping (e.g. `"US"` for `clutch.co/us/`).

**Scheduled runs**
Use Apify's scheduler to run this Actor weekly or monthly to track new reviews and rating changes over time.

**Exporting to a CRM**
Use the Apify API to fetch results programmatically and push them into your CRM, spreadsheet, or data warehouse after each run.

**Filtering featured vs organic**
Use the `isFeatured` field on the business record to distinguish paid placements from organic listings — useful when studying ranking data or building fair comparison datasets.

***

### ❓ FAQ

**Does this require a Clutch account or login?**
No. The Actor works entirely with publicly available data — no account needed.

**Why am I getting HTTP 403 errors?**
Clutch uses Cloudflare bot protection. Enable Apify Residential Proxies in the configuration. This resolves the issue in almost all cases.

**How many results can I get on the free tier?**
Free users are limited to 1 listing page per category and up to 50 reviews per business per run. Upgrade to a paid plan to remove these limits.

**How long does a run take?**
A single listing page (~10 businesses) with 20 reviews each typically finishes in 5–10 minutes using residential proxies.

**Can I scrape a specific country, city, or filter?**
Yes. Clutch's URL structure reflects all applied filters. Navigate to the filtered page on Clutch.co and copy that URL as your `startUrl`.

**Can I scrape multiple categories at once?**
Yes. Add multiple URLs to `startUrls` and they will all be processed in the same run.

**Is the data up to date?**
The Actor fetches live data from Clutch at the time of each run. Data is as current as the Clutch platform itself.

***

### 📞 Support

Have a question, found a bug, or need a custom feature?

- **Email:** <me@ahmedhrid.com>
- **Issues:** use the Issues tab on this Actor's Apify Store page

***

# Actor input Schema

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

Clutch listing URLs to scrape (e.g. https://clutch.co/us/agencies/creative).

## `maxListingPages` (type: `integer`):

Maximum number of listing pages to paginate per start URL. 0 means no limit.

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

If enabled, scrapes reviews from each business profile page.

## `maxReviews` (type: `integer`):

Maximum number of reviews to scrape per business profile. 0 means no limit. Only applies when includeReviews is true.

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

Residential proxy is recommended to avoid Cloudflare blocks.

## Actor input object example

```json
{
  "startUrls": [
    "https://clutch.co/us/agencies/creative"
  ],
  "maxListingPages": 1,
  "includeReviews": false,
  "maxReviews": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://clutch.co/us/agencies/creative"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("reviewly/clutch-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://clutch.co/us/agencies/creative"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("reviewly/clutch-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://clutch.co/us/agencies/creative"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call reviewly/clutch-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Clutch Reviews Scraper",
        "description": "Scrapes businesses from Clutch category listing pages, then fetches all reviews from each business profile with full details.",
        "version": "0.0",
        "x-build-id": "jRR5GZ9P80vIoeRZI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/reviewly~clutch-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-reviewly-clutch-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/reviewly~clutch-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-reviewly-clutch-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/reviewly~clutch-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-reviewly-clutch-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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Clutch listing URLs to scrape (e.g. https://clutch.co/us/agencies/creative).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxListingPages": {
                        "title": "Max listing pages per URL",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of listing pages to paginate per start URL. 0 means no limit.",
                        "default": 1
                    },
                    "includeReviews": {
                        "title": "Include reviews",
                        "type": "boolean",
                        "description": "If enabled, scrapes reviews from each business profile page.",
                        "default": false
                    },
                    "maxReviews": {
                        "title": "Max reviews per business",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of reviews to scrape per business profile. 0 means no limit. Only applies when includeReviews is true.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxy is recommended to avoid Cloudflare blocks."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
