# Capterra B2B Directory & Reviews Scraper (`xtracto/capterra-b2b-scraper`) Actor

Extracts software categories, product profiles, feature matrices and paginated reviews from Capterra. HTTP-only, no browsers, no logins.

- **URL**: https://apify.com/xtracto/capterra-b2b-scraper.md
- **Developed by:** [xtractoo](https://apify.com/xtracto) (community)
- **Categories:** Developer tools, Automation, E-commerce
- **Stats:** 3 total users, 2 monthly users, 84.6% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

## Capterra B2B Directory & Reviews Scraper

Pull a clean, structured feed of B2B software products and customer
reviews from Capterra — the world's largest software directory, with
over 2 million verified reviews across 900+ categories.

Point the actor at a category, a specific product, or a list of products
you care about, and it returns rich JSON ready for your CRM, your
analytics warehouse, or a competitive-intelligence dashboard.

---

### What you get

- **Product profiles** — name, description, average rating, total review
  count, starting price, applicable Capterra category, FAQ block, and
  every review tied back to the product by ID.
- **Customer reviews** — title, star rating, publication date, reviewer
  display name, full Pros and Cons, all five sub-ratings (Ease of Use,
  Customer Service, Features, Value for Money, Likelihood to Recommend
  as %), and the vendor's official response when present.
- **Category snapshots** — for every product on a category page: name,
  rating, review count, four sub-ratings, marketing blurb, and a
  Capterra Shortlist badge flag.

Every record is one row in your Apify dataset, distinguished by a
`_type` field (`product`, `review`, `category`) so downstream tools can
filter cleanly.

---

### Use cases

- **Competitive intelligence** — track ratings, review velocity, and
  pros/cons for your software vs your top competitors over time.
- **Win/loss analysis** — surface what real buyers say they switched
  away from (and to), straight from the review text.
- **Lead generation & ABM** — build prospect lists of companies actively
  reviewing tools in your category, with their stated pain points.
- **Product research** — feed thousands of pros/cons into an LLM to
  cluster the top 20 unmet needs in a category.
- **Sentiment & NPS tracking** — Likelihood-to-Recommend scores let you
  approximate NPS for any vendor without buying a survey panel.
- **Pricing benchmarks** — extract starting prices and pricing models
  across an entire category in one run.
- **Investor / VC due diligence** — quantify rating trends and review
  growth before a check is written.

---

### Why use this actor

- **No browser overhead** — runs lean and fast, so each run costs you
  the price of a few HTTP requests, not a full browser session per page.
- **Resilient to Capterra's bot defences** — handles Cloudflare gates
  and rate-limits with browser-style TLS fingerprinting and rotating
  sessions, so runs complete reliably without manual intervention.
- **Resilient to schema changes** — when Capterra changes a field,
  records are still written with everything we *did* parse, tagged so
  you can spot drift and patch.
- **Clean, normalised JSON** — fields are consistent across products
  and locales; no scraping rust to clean up downstream.
- **Honest data fidelity** — we extract exactly what Capterra serves,
  including Capterra's own occasional source-side encoding quirks. No
  silent edits.

---

### Input

You can mix and match any of these. At least one must be set.

| Field                    | What it does                                                 | Example                                                            |
|--------------------------|--------------------------------------------------------------|--------------------------------------------------------------------|
| `startUrls`              | Any Capterra URL — auto-detected (category / product / reviews) | `["https://www.capterra.com/customer-relationship-management-software/"]` |
| `categorySlugs`          | Capterra category slugs (root path, no `/categories/` prefix)   | `["voip-software", "project-management-software"]`                |
| `productSlugs`           | Specific products as `<id>/<slug>` (slug is case-sensitive)     | `["113540/Bitrix24", "144037/Zoom-Video-Conferencing"]`           |
| `searchQueries`          | Free-text software names (top hit followed)                     | `["salesforce", "hubspot crm"]`                                   |
| `locale`                 | `us` (default), `uk`, `ca`, `au`, `de`, `fr`, `es`, `it`, `nl`, `br` | `"us"`                                                       |
| `includeReviews`         | Fetch paginated reviews for every product encountered            | `true` (default)                                                  |
| `maxReviewsPerProduct`   | Hard cap per product. `0` = unlimited                            | `200` (default)                                                   |
| `maxProductsPerCategory` | Hard cap per category page. `0` = unlimited                      | `50` (default)                                                    |
| `maxConcurrency`         | Parallel HTTP requests upper bound                               | `6` (default)                                                     |
| `proxyConfiguration`     | Apify Proxy. Residential is recommended                          | `{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }`  |

#### Example input

```json
{
    "productSlugs": ["113540/Bitrix24"],
    "includeReviews": true,
    "maxReviewsPerProduct": 25,
    "locale": "us",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
````

***

### Sample output (real, from a live run on 2026-05-14)

#### Product record

```json
{
    "_type": "product",
    "sourceUrl": "https://www.capterra.com/p/113540/Bitrix24/",
    "locale": "us",
    "productId": "113540",
    "slug": "Bitrix24",
    "name": "Bitrix24",
    "description": "Bitrix24 helps small businesses manage customer relationships, tasks, and internal communication from a single platform. It's most used by administrative and marketing teams working daily across CRM and project workflows. Reviewers value its task scheduling and collaboration tools, though many cite a steep learning curve.",
    "applicationCategory": "BusinessApplication",
    "averageRating": 4.2,
    "reviewCount": 989,
    "pricing": {
        "startingPrice": "Starting price $ 69 Flat Rate, Per Month",
        "freeTrial": null,
        "freeVersion": null
    },
    "mediaCount": 2,
    "categories": ["CRM Software"],
    "faq": [
        {
            "question": "Is Bitrix24 free?",
            "answer": "Yes. Bitrix24 offers a free plan with unlimited users, 5 GB of storage, and access to core tools like CRM, task management, and collaboration features."
        },
        {
            "question": "How much does Bitrix24 cost?",
            "answer": "Bitrix24's Professional plan costs $249/month when billed monthly or $199/month annually, covering up to 100 users."
        }
    ]
}
```

#### Review record

```json
{
    "_type": "review",
    "productId": "113540",
    "productSlug": "Bitrix24",
    "title": "System IT und Marketing",
    "rating": 4.0,
    "publishedAt": "June 4, 2025",
    "reviewer": {
        "displayName": "Sven K."
    },
    "pros": "We have actually looked at many solutions, but Bitrix24 is unique in terms of price-performance ratio. Up to 100 licenses are already included in the Professional version.",
    "cons": "The support from the AI bot has actually been very poor and unhelpful so far. Unfortunately, the same can be said about the real support: up to now, not a single request regarding the functionality has been adjusted or resolved.",
    "ratings": {
        "easeOfUse": 4.0,
        "customerService": 4.0,
        "features": 2.0,
        "valueForMoney": 3.0,
        "likelihoodToRecommend": 70.0
    },
    "vendorResponse": {
        "vendor": "Bitrix",
        "date": "June 6, 2025",
        "message": "Hi Sven! Thank you for sharing your positive experiences and constructive feedback on Bitrix24. We're here to support your continued success and are keen to make your experience even better."
    },
    "verifiedReviewer": false,
    "incentivized": false
}
```

#### Category record (one product card shown)

```json
{
    "_type": "category",
    "slug": "voip-software",
    "name": "Best VoIP Software",
    "productCount": 25,
    "products": [
        {
            "productId": "144037",
            "slug": "Zoom-Video-Conferencing",
            "name": "Zoom Workplace",
            "averageRating": 4.6,
            "reviewCount": 14573,
            "subRatings": {
                "overall": 4.6,
                "easeOfUse": 4.6,
                "customerService": 4.4,
                "features": 4.5,
                "valueForMoney": 4.5
            },
            "description": "With Team Chat, Phone, AI Companion, and more, Zoom Workplace is the platform for your best work.",
            "isShortlist": false,
            "url": "https://www.capterra.com/p/144037/Zoom-Video-Conferencing/"
        }
    ]
}
```

***

### What the actor does NOT do

So you can plan around it:

- It does not log in. Anything Capterra hides behind a buyer or vendor
  account is out of scope.
- It does not solve interactive captchas. If Capterra escalates a run
  past automated mitigation, the affected URLs land in `errors.json`.
- It does not extract reviewer industry / job title / company size.
  Capterra has stopped exposing those reliably; the `reviewer` block
  carries the display name only.

# Actor input Schema

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

Capterra URLs (category, product, or reviews page). The scraper detects the surface type automatically.

## `categorySlugs` (type: `array`):

Capterra category slugs (e.g. 'customer-relationship-management-software', 'voip-software'). Categories live at the URL root, no /categories/ prefix.

## `productSlugs` (type: `array`):

Specific products as '<productId>/<slug>' (e.g. '113540/Bitrix24'). Slug is case-sensitive — match the URL on capterra.com.

## `searchQueries` (type: `array`):

Free-text software names. Resolved against the site search and the top hit is followed.

## `locale` (type: `string`):

Capterra locale. 'us' uses the bare path; other locales use /{locale}/...

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

Fetch paginated reviews for every product encountered.

## `maxReviewsPerProduct` (type: `integer`):

Hard cap on reviews fetched per product. 0 = unlimited.

## `maxProductsPerCategory` (type: `integer`):

Hard cap on products enqueued from each category page. 0 = unlimited.

## `maxConcurrency` (type: `integer`):

Upper bound on parallel HTTP requests.

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

Apify Proxy settings. Residential is strongly recommended for Capterra.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.capterra.com/customer-relationship-management-software/"
    }
  ],
  "locale": "us",
  "includeReviews": true,
  "maxReviewsPerProduct": 200,
  "maxProductsPerCategory": 50,
  "maxConcurrency": 6,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.capterra.com/customer-relationship-management-software/"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/capterra-b2b-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://www.capterra.com/customer-relationship-management-software/" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/capterra-b2b-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://www.capterra.com/customer-relationship-management-software/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call xtracto/capterra-b2b-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Capterra B2B Directory & Reviews Scraper",
        "description": "Extracts software categories, product profiles, feature matrices and paginated reviews from Capterra. HTTP-only, no browsers, no logins.",
        "version": "0.1",
        "x-build-id": "JrYgc4S179XXghvQE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/xtracto~capterra-b2b-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-xtracto-capterra-b2b-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/xtracto~capterra-b2b-scraper/runs": {
            "post": {
                "operationId": "runs-sync-xtracto-capterra-b2b-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/xtracto~capterra-b2b-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-xtracto-capterra-b2b-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": "Capterra URLs (category, product, or reviews page). The scraper detects the surface type automatically.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "categorySlugs": {
                        "title": "Category slugs",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Capterra category slugs (e.g. 'customer-relationship-management-software', 'voip-software'). Categories live at the URL root, no /categories/ prefix.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "productSlugs": {
                        "title": "Product slugs (productId/slug)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Specific products as '<productId>/<slug>' (e.g. '113540/Bitrix24'). Slug is case-sensitive — match the URL on capterra.com.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "Search queries (software names)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Free-text software names. Resolved against the site search and the top hit is followed.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "locale": {
                        "title": "Locale",
                        "enum": [
                            "us",
                            "uk",
                            "ca",
                            "au",
                            "de",
                            "fr",
                            "es",
                            "it",
                            "nl",
                            "br"
                        ],
                        "type": "string",
                        "description": "Capterra locale. 'us' uses the bare path; other locales use /{locale}/...",
                        "default": "us"
                    },
                    "includeReviews": {
                        "title": "Include reviews",
                        "type": "boolean",
                        "description": "Fetch paginated reviews for every product encountered.",
                        "default": true
                    },
                    "maxReviewsPerProduct": {
                        "title": "Max reviews per product",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Hard cap on reviews fetched per product. 0 = unlimited.",
                        "default": 200
                    },
                    "maxProductsPerCategory": {
                        "title": "Max products per category",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on products enqueued from each category page. 0 = unlimited.",
                        "default": 50
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Upper bound on parallel HTTP requests.",
                        "default": 6
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. Residential is strongly recommended for Capterra.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
