# Clutch Scraper (`devon_gtme/clutch-scraper`) Actor

Scrape Clutch.co company profiles, listings, and reviews. Extract ratings, services, pricing, contact details, portfolios, and client reviews from the world's largest B2B ratings platform.

- **URL**: https://apify.com/devon\_gtme/clutch-scraper.md
- **Developed by:** [Devon Kellar](https://apify.com/devon_gtme) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 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.co Scraper

Clutch.co doesn't provide a flexible or free API, but this scraper acts as an unofficial Clutch API to help you extract the data you need, when you need it, and at scale.

Clutch.co Scraper supports the following features:

- Search any keyword
- Scrape company listings by category
- Scrape full company profiles
- Scrape client reviews
- Scrape portfolio items
- Filter by location, service type, company size

Clutch provides a "platform of in-depth client reviews, data-driven content, and vetted market leaders". Scraping that content and extracting it in a structured format could give you invaluable business insights and an edge over the competition.

### Use cases

- **Lead generation** — build targeted lists of agencies and service providers by category, location, and size.
- **Competitor analysis** — track competitor ratings, review counts, and service focus over time.
- **Market research** — analyse pricing trends (hourly rates, project sizes) across industries and regions.
- **Sales prospecting** — extract company websites, phone numbers, and social links for outreach.
- **Review monitoring** — track what clients say about specific companies or service categories.
- **Recruitment** — identify top-rated agencies in specific tech stacks or service areas.

### Bugs, fixes, updates, and changelog

This scraper is under active development. If you have any feature requests, you can create an issue from [here](https://github.com/tqc-data/clutch-scraper/issues).

#### Upcoming changes

- Search by keyword with mode selection (companies/profiles)
- Location-filtered search support
- Review pagination for companies with 50+ reviews
- Industry focus extraction

### Input parameters

The input of this scraper should be JSON containing the pages on Clutch.co that should be visited and scraping options. Possible fields are:

**startUrls**: (Optional) (Array) List of Clutch.co URLs. You can provide listing pages (e.g. `https://clutch.co/web-developers`) or individual profile pages (e.g. `https://clutch.co/profile/smartsites`). The actor automatically detects the page type.

**search**: (Optional) (String) Keyword that you want to search on Clutch.co. This is used when no startUrls are provided.

**mode**: (Optional) (String) Search mode when using the search keyword. The values can be: `companies` and `profiles`. Default is `companies`.

**includeReviews**: (Optional) (Boolean) Adding reviews into the profile objects is optional and by default it is `false`. If you want to scrape the reviews of the companies, then you can set this option as `true`.

**maxReviewsPerCompany**: (Optional) (Number) Maximum number of reviews that you want to retrieve per each company. It is only enabled when `includeReviews` option is enabled as well. By default it is `0` (all reviews). If you want to scrape the reviews of the companies but with a limited amount, then you can set this option.

**excludePortfolio**: (Optional) (Boolean) Profile objects include portfolio by default. If you don't want to scrape the portfolios of the companies, then you can set this option as `true`. This can increase performance.

**endPage**: (Optional) (Number) Final number of page that you want to scrape. The default is `0` (no limit). This applies to all search requests and startUrls individually.

**maxItems**: (Optional) (Number) You can limit scraped items. This should be useful when you search through big lists or search results. Default is `500`.

**proxy**: (Required) (Proxy Object) Proxy configuration. This scraper requires proxies to bypass Clutch.co's Cloudflare protection. Apify Proxy is recommended.

### Tips

- When you want to scrape a specific listing category, just copy and paste the Clutch.co URL as one of the startUrls. For example: `https://clutch.co/web-developers`, `https://clutch.co/agencies/digital-marketing`, or `https://clutch.co/it-services/msp`.

- You can also provide direct profile URLs to scrape specific companies: `https://clutch.co/profile/smartsites`.

- If you would like to scrape only the first page of a listing, then add the link and set `endPage` to `1`.

- Please keep in mind that the `includeReviews` parameter adds extraction time per company. The number of requests and compute units consumed will be higher if you enable this option.

- For large-scale scraping, use `excludePortfolio: true` to speed up the process if you don't need portfolio data.

- Location-filtered URLs work too: `https://clutch.co/web-developers/india` or `https://clutch.co/agencies/ppc/new-york`.

### Compute unit consumption

Clutch.co Scraper uses a headless browser (Playwright) to handle Cloudflare protection, so compute usage is higher than simple HTTP scrapers. Estimated consumption:

- **10 company profiles:** ~0.05–0.10 compute units
- **100 company profiles:** ~0.50–1.00 compute units
- **1 listing page (15–30 companies):** ~0.15–0.30 compute units (listing + profiles)

Memory requirement: **1024 MB** recommended (Playwright browser).

### Clutch.co Scraper input example

```json
{
    "startUrls": [
        { "url": "https://clutch.co/profile/smartsites" },
        { "url": "https://clutch.co/web-developers" }
    ],
    "includeReviews": false,
    "excludePortfolio": false,
    "endPage": 1,
    "maxItems": 50,
    "proxy": { "useApifyProxy": true }
}
````

#### Search by keyword

```json
{
    "search": "mobile app development",
    "mode": "companies",
    "maxItems": 100,
    "proxy": { "useApifyProxy": true }
}
```

#### Scrape with reviews

```json
{
    "startUrls": [
        { "url": "https://clutch.co/web-developers" }
    ],
    "includeReviews": true,
    "maxReviewsPerCompany": 5,
    "endPage": 2,
    "maxItems": 30,
    "proxy": { "useApifyProxy": true }
}
```

### During the run

During the run, the actor will output messages letting you know what is going on. Each message contains the URL being processed, the page number for listings, and a running count of items scraped.

When company profiles are loaded, you will see a message with the company name, rating, and the current item count vs the maximum.

If you provide incorrect input to the actor, it will immediately stop with a failure state and output an explanation of what is wrong.

### Clutch.co export

During the run, the actor stores results into a dataset. Each item is a separate company profile in the dataset.

You can manage the results in any language (Python, PHP, Node.js/NPM). See the [FAQ](https://docs.apify.com/platform/actors/running/input-and-output) or the [API reference](https://docs.apify.com/api/v2) to learn more about getting results from this Clutch.co actor.

Export to **JSON**, **CSV**, or **Excel** in one click from the Apify Console.

### Scraped Clutch.co company profiles

The structure of each item in Clutch.co results looks like this:

```json
{
    "url": "https://clutch.co/profile/smartsites",
    "name": "SmartSites",
    "tagline": "Think Web. Think Smart.",
    "description": "Outsmart the competition with best-in-class digital marketing services...",
    "logo": "https://img.shgstatic.com/clutchco-static/image/scale/60x60/s3fs-public/logos/example.png",
    "website": "https://www.smartsites.com",
    "phone": "+1.201.870.6000",
    "rating": 5.0,
    "reviewCount": 56,
    "avgHourlyRate": "$100 - $149 / hr",
    "minProjectSize": "$1,000+",
    "employees": "10 - 49",
    "founded": "2011",
    "verificationStatus": "GOLD VERIFIED",
    "headquarters": {
        "city": "Paramus",
        "state": "NJ",
        "country": "United States"
    },
    "services": [
        { "name": "Web Development", "percentage": 30 },
        { "name": "Custom Software Development", "percentage": 25 },
        { "name": "Mobile App Development", "percentage": 25 },
        { "name": "AI Development", "percentage": 20 }
    ],
    "clientFocus": [
        { "name": "Small Business (<$10M)", "percentage": 80 },
        { "name": "Midmarket ($10M - $1B)", "percentage": 20 }
    ],
    "socialLinks": {
        "linkedin": "https://linkedin.com/company/smartsites",
        "facebook": "https://facebook.com/SmartSites",
        "twitter": "https://twitter.com/SmartSites"
    },
    "portfolio": [
        {
            "image": "https://static2.clutch.co/s3fs-public/portfolio/example.jpeg",
            "description": "Web Design, SEO, PPC"
        }
    ],
    "reviews": [
        {
            "title": "SEO & PPC Services for Outdoor Refinishing Company",
            "rating": 5,
            "datePublished": "May 25, 2021",
            "project": {
                "category": "SEO & PPC",
                "size": "$10,000 to $49,999",
                "length": "Sep. 2020 - Jun. 2021",
                "description": "SmartSites provided SEO and PPC services..."
            },
            "review": {
                "quality": 5,
                "schedule": 5,
                "cost": 5,
                "willingToRefer": 5,
                "comments": "The team's work resulted in increased traffic and conversions..."
            }
        }
    ]
}
```

#### Output fields

| Field | Description |
|-------|-------------|
| `url` | Clutch.co profile URL |
| `name` | Company name |
| `tagline` | Company tagline / slogan |
| `description` | About section text |
| `logo` | Logo image URL |
| `website` | Company website URL |
| `phone` | Phone number |
| `rating` | Overall Clutch rating (0–5) |
| `reviewCount` | Total number of reviews |
| `avgHourlyRate` | Hourly rate range |
| `minProjectSize` | Minimum project budget |
| `employees` | Employee count range |
| `founded` | Year founded |
| `verificationStatus` | Verification badge status |
| `headquarters` | HQ location (city, state, country) |
| `services` | Service lines with percentage focus |
| `clientFocus` | Client size breakdown |
| `socialLinks` | LinkedIn, Facebook, Twitter, Instagram URLs |
| `portfolio` | Portfolio items (image + description) |
| `reviews` | Client reviews with ratings and project details |

# Actor input Schema

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

Clutch.co listing or profile URLs. Browse clutch.co to find your category, copy the URL. Examples: https://clutch.co/it-services/cybersecurity/uk, https://clutch.co/web-developers, https://clutch.co/profile/smartsites

## `category` (type: `string`):

Clutch.co category path (e.g. 'it-services/cybersecurity', 'web-developers', 'seo-firms', 'digital-marketing'). Used when no startUrls are provided. Find your category slug at clutch.co.

## `location` (type: `string`):

Country or city slug (e.g. 'uk', 'london', 'us', 'germany', 'india'). For most countries this is appended to the category path. For US it uses the correct /us/ prefix pattern automatically.

## `scrapeMode` (type: `string`):

"full" visits each profile page for complete data (best for <100 profiles). "listing" extracts data from listing cards only — 30x faster for large scrapes (hundreds/thousands).

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

Scrape client reviews for each company profile. Increases run time and compute usage. Only used in "full" mode.

## `maxReviewsPerCompany` (type: `integer`):

Maximum number of reviews to scrape per company. Set to 0 for all reviews. Only used when Include Reviews is enabled.

## `excludePortfolio` (type: `boolean`):

Skip scraping portfolio items. Can improve performance.

## `endPage` (type: `integer`):

Stop scraping listing pages after this page number. Set to 0 for no limit. Applies to each start URL individually.

## `maxItems` (type: `integer`):

Maximum total company profiles to scrape. The actor stops once this limit is reached.

## `proxy` (type: `object`):

Proxy servers to use. Clutch.co has strong Cloudflare protection — residential proxies (RESIDENTIAL group) required. Datacenter proxies are blocked. For listing mode, 1024MB memory is sufficient (vs 4096MB for full mode).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://clutch.co/it-services/cybersecurity"
    }
  ],
  "scrapeMode": "listing",
  "includeReviews": false,
  "maxReviewsPerCompany": 0,
  "excludePortfolio": false,
  "endPage": 0,
  "maxItems": 500,
  "proxy": {
    "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 = {
    "startUrls": [
        {
            "url": "https://clutch.co/it-services/cybersecurity"
        }
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://clutch.co/it-services/cybersecurity" }],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://clutch.co/it-services/cybersecurity"
    }
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call devon_gtme/clutch-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Clutch Scraper",
        "description": "Scrape Clutch.co company profiles, listings, and reviews. Extract ratings, services, pricing, contact details, portfolios, and client reviews from the world's largest B2B ratings platform.",
        "version": "0.1",
        "x-build-id": "CAH9IviWkGtEA5xmm"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devon_gtme~clutch-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devon_gtme-clutch-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/devon_gtme~clutch-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devon_gtme-clutch-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/devon_gtme~clutch-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devon_gtme-clutch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Clutch.co listing or profile URLs. Browse clutch.co to find your category, copy the URL. Examples: https://clutch.co/it-services/cybersecurity/uk, https://clutch.co/web-developers, https://clutch.co/profile/smartsites",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "category": {
                        "title": "Category",
                        "type": "string",
                        "description": "Clutch.co category path (e.g. 'it-services/cybersecurity', 'web-developers', 'seo-firms', 'digital-marketing'). Used when no startUrls are provided. Find your category slug at clutch.co."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Country or city slug (e.g. 'uk', 'london', 'us', 'germany', 'india'). For most countries this is appended to the category path. For US it uses the correct /us/ prefix pattern automatically."
                    },
                    "scrapeMode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "full",
                            "listing"
                        ],
                        "type": "string",
                        "description": "\"full\" visits each profile page for complete data (best for <100 profiles). \"listing\" extracts data from listing cards only — 30x faster for large scrapes (hundreds/thousands).",
                        "default": "listing"
                    },
                    "includeReviews": {
                        "title": "Include Reviews",
                        "type": "boolean",
                        "description": "Scrape client reviews for each company profile. Increases run time and compute usage. Only used in \"full\" mode.",
                        "default": false
                    },
                    "maxReviewsPerCompany": {
                        "title": "Max Reviews Per Company",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of reviews to scrape per company. Set to 0 for all reviews. Only used when Include Reviews is enabled.",
                        "default": 0
                    },
                    "excludePortfolio": {
                        "title": "Exclude Portfolio",
                        "type": "boolean",
                        "description": "Skip scraping portfolio items. Can improve performance.",
                        "default": false
                    },
                    "endPage": {
                        "title": "End Page",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Stop scraping listing pages after this page number. Set to 0 for no limit. Applies to each start URL individually.",
                        "default": 0
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum total company profiles to scrape. The actor stops once this limit is reached.",
                        "default": 500
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy servers to use. Clutch.co has strong Cloudflare protection — residential proxies (RESIDENTIAL group) required. Datacenter proxies are blocked. For listing mode, 1024MB memory is sufficient (vs 4096MB for full mode).",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
