# Facebook Comments Scraper (`scrapeflux/facebook-comments-scraper`) Actor

Facebook Comments Scraper extracts publicly available comments from Facebook posts, pages, and public discussions. Collect comment text, usernames, engagement metrics, timestamps, and post data for sentiment analysis, audience research, brand monitoring, competitor analysis, and market research.

- **URL**: https://apify.com/scrapeflux/facebook-comments-scraper.md
- **Developed by:** [ScrapeFlux](https://apify.com/scrapeflux) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### Facebook Comments Scraper ⚡
Scraping Facebook comments from individual posts by hand is slow, inconsistent, and hard to scale. **Facebook Comments Scraper** pulls comment text and engagement data from your list of public Facebook post URLs so you can export structured results fast. It’s a Facebook comments tool for extracting and exporting Facebook comment data in bulk. Marketers, analysts, and researchers use it to collect Facebook post comments downloader–ready datasets in minutes, not hours.

---

### See the Data: Sample Output
Here’s a real record from a single run:

```json
{
  "facebookUrl": "https://www.facebook.com/examplePage/posts/1234567890123456",
  "commentUrl": "https://www.facebook.com/story.php?comment_id=9876543210987654",
  "commentId": "9876543210987654",
  "id": "9876543210987654",
  "feedbackId": "ZmVlZGJhY2s6NjM3NTIxOTM0MjU1MjExMg==",
  "date": "2026-06-01T14:23:45.000Z",
  "text": "Really enjoyed this update—thanks for sharing!",
  "profilePicture": "https://scontent.xx.fbcdn.net/v/t1.0-1/p50x50/abc_def.jpg",
  "profileId": "123456789",
  "profileName": "Alex Johnson",
  "likesCount": "12",
  "commentsCount": 3,
  "comments": [],
  "threadingDepth": 0,
  "facebookId": "1234567890123456",
  "postTitle": "Example post title",
  "inputUrl": "https://www.facebook.com/examplePage/posts/1234567890123456",
  "pageAdLibrary": {
    "is_business_page_active": false,
    "id": "5555555555"
  }
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `facebookUrl` | string | The Facebook post link this comment belongs to. |
| `commentUrl` | string | A direct link to the specific comment when available. |
| `commentId` | string | null | The comment identifier extracted from the page data. |
| `id` | string | null | Relay/internal comment ID used by the actor during extraction. |
| `feedbackId` | string | null | Identifier tied to the comment feedback context. |
| `date` | string | null | ISO-style timestamp of when the comment was created. |
| `text` | string | null | The actual comment text content you can analyze or re-purpose. |
| `profilePicture` | string | null | URL to the commenter’s profile picture (when exposed). |
| `profileId` | string | null | Identifier for the commenter profile. |
| `profileName` | string | null | The display name of the commenter. |
| `likesCount` | string | Like/reaction count for the comment (stored as a string). |
| `commentsCount` | number | Number of replies associated with the comment thread. |
| `comments` | array | Always returned as an array (empty here) for the comment’s nested structure. |
| `threadingDepth` | number | Depth indicator for nested threads (returned as `0`). |
| `facebookId` | string | null | Post-level identifier (useful for mapping back to the source). |
| `postTitle` | string | null | Title/text associated with the post story, when available. |
| `inputUrl` | string | Echoes your source URL for traceability. |
| `status` | not present | The output fields include comment data; error details are not written as a dataset field by this actor. |

Export your full dataset as JSON, CSV, or Excel from the Apify dashboard.

***

### Setting It Up

Drop this into your `input.json` and you're ready to go:

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
    }
  ],
  "resultsAmount": 50,
  "includeReplies": false,
  "commentsMode": "All"
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `startUrls` | ✅ | List of Facebook post URLs you want to scrape comments from. |
| `resultsAmount` | ⬜ | Maximum comments to scrape per URL. |
| `includeReplies` | ⬜ | If enabled, replies to comments will also be scraped. |
| `commentsMode` | ⬜ | Ranking mode for comments. Choose between `Most relevant`, `Newest`, or `All`. |

***

### What It Does

Facebook Comments Scraper collects comment data from the Facebook post URLs you provide and writes structured records into your Apify dataset.

#### Scrapes Facebook comment text and engagement

For each comment edge it extracts the comment text (`text`), creation time (`date`), and engagement counts such as `likesCount` and `commentsCount`. This makes it straightforward to build dashboards, run sentiment checks, or analyze engagement patterns over time.

#### Supports multiple comment ordering modes

You can control which comment set you prioritize by using `commentsMode` (`Most relevant`, `Newest`, `All`). This is useful when you’re collecting Facebook comments for reporting and need consistent ranking behavior across runs.

#### Produces integration-ready JSON records

Every dataset row includes traceability fields like `facebookUrl` and `inputUrl`, plus commenter information such as `profileName` and `profileId`. That means you can connect the output directly to analytics, data pipelines, or downstream “Facebook comments API scraper” workflows without manual reshaping.

#### Respects your per-URL result cap

With `resultsAmount`, you can limit how many comments to collect per post URL. This helps you control runtime and dataset size while still capturing the engagement you care about—perfect for a Facebook comments collector workflow.

#### Includes retries and fallbacks for resilience

The actor is built to keep processing even when requests fail transiently, and it uses retry logic around the retrieval steps. In practice, this supports more stable runs when scraping public web content at scale.

Overall, Facebook Comments Scraper turns Facebook post comment threads into clean, exportable data you can use immediately.

***

### Why Facebook Comments Scraper?

There are plenty of ways to pull data from Facebook—here’s why Facebook Comments Scraper stands out.

#### Clear, structured output for analysis

Instead of messy copy/paste, it returns consistent JSON fields like `text`, `date`, `likesCount`, `commentsCount`, and commenter metadata. This is ideal when you need Facebook comments data extraction that’s ready for analysis the same day.

#### Built-in controls for volume and relevance

You can cap results with `resultsAmount` and adjust ranking with `commentsMode`. That combination makes this Facebook comments tool more predictable for both quick tests and repeatable research workflows.

#### Designed for bulk scraping from a URL list

Give it a list of post links in `startUrls` and it will process each target and push results into your dataset as it goes. If your goal is to scrape Facebook comments across multiple posts, this approach saves a huge amount of manual effort.

***

### Real-World Use Cases

Here's how different teams put Facebook Comments Scraper to work:

**Marketing teams**
A campaign manager needs to understand how audiences reacted to a product announcement across several Facebook posts. They run the Facebook comments scraper with a controlled `resultsAmount`, then export the dataset for engagement analysis and messaging insights.

**Community managers and brand analysts**
A researcher wants to categorize feedback themes and spot recurring customer pain points from comment threads. They scrape comments from multiple URLs, then use `date`, `likesCount`, and `text` to prioritize what matters most and when.

**Sales and outreach research**
A lead researcher is mapping engagement signals and community sentiment around specific organizations’ posts. They use the Facebook comments collector output to enrich profiles for outreach workflows and reporting.

**Data analysts building repeatable pipelines**
An analyst needs consistent output fields to feed a BI model or an ETL job. They run Facebook comment extractor jobs regularly with the same input URL list and ordering mode, then refresh dashboards without rewriting scraping code.

**Automation specialists (developers)**
A developer wants a “tool to download Facebook comments” as part of an automated reporting pipeline. They trigger the actor from their orchestration system and pipe the dataset into their downstream storage, using the stable JSON schema for reliable ingestion.

***

### How to Run It

No code required. Here's how to get your first results in under 5 minutes:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and find **Facebook Comments Scraper**.
2. **Enter your inputs** — add your Facebook post URLs in `startUrls`, and optionally set `resultsAmount`, `includeReplies`, and `commentsMode`.
3. **Configure proxy settings (optional)** — use your preferred proxy configuration for better scraping reliability.
4. **Start the run** — launch the actor and monitor the live logs while it processes each post URL.
5. **Open the Dataset tab** — your extracted comment records appear as they’re collected.
6. **Export your results** — download from the Apify dashboard in your preferred format (JSON/CSV/Excel).
7. **Iterate quickly** — adjust `resultsAmount` or `commentsMode` and re-run to refine your dataset.

The whole setup takes under 5 minutes — results start appearing within seconds of launch.

***

### Export & Integration Options

Once your data is collected, Facebook Comments Scraper fits directly into your existing workflow.

You can export datasets as JSON, CSV, or Excel from the Apify dataset tab. This works well for analysts who want to run everything in spreadsheets or BI tools.

For deeper automation, you can use Apify API access to pull results programmatically, or connect to no-code automation platforms like Zapier or Make. You can also schedule runs so your Facebook comments data extraction stays up to date without manual effort.

***

### Pricing

Facebook Comments Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. The free tier provides enough platform credits for several real test runs.

After that, scaling typically uses pay-as-you-go billing per Actor compute unit (CU), so there’s no monthly fee lock-in. For heavier workloads or higher-volume scraping needs, use Apify’s plans and scale when you’re ready.

Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Rate-limited public browsing | Uses resilient request handling with built-in retry logic. |
| Unreliable responses | Includes retries and fallbacks for resilience. |
| Large input sets | Processes multiple `startUrls` in one run. |
| Result volume control | Limits output with `resultsAmount`. |
| Ordering preferences | Applies `commentsMode` to prioritize which comments are collected. |

Limitations: This actor extracts from publicly available comment content that’s exposed on the target post pages. If a post has limited visibility or minimal comment activity, you may receive fewer records than expected.

For enterprise-scale needs or custom configurations, reach out and we'll help.

***

### Frequently Asked Questions

#### Is there a free plan?

Yes, Apify offers a free tier so you can run Facebook comments scraper jobs without paying upfront. The free credits are typically enough for a few real test runs.

#### Do I need to log in or create an account on Facebook?

No. This Facebook comments tool works from public Facebook post URLs you provide in `startUrls` and does not require you to log in through the actor.

#### How accurate is the extracted data?

The actor extracts the comment fields it can read from the target pages and returns them as structured records (like `text`, `date`, `likesCount`, and `commentsCount`). If a field is not available in the page data, it may be missing or null in the output.

#### How many results can I get per run?

You control the cap with `resultsAmount`, which is described as the maximum comments to scrape per URL. If you provide multiple URLs in `startUrls`, the total dataset size will scale with the number of targets.

#### How fresh is the data?

Data freshness depends on what’s currently visible on the target post pages at the time of your run. For the latest comment activity, simply run the actor again on your updated list.

#### Is this legal? Does it comply with GDPR / CCPA?

The actor works with **publicly available data** from Facebook pages. You’re responsible for making sure your collection, processing, and storage complies with GDPR, CCPA, platform Terms of Service, and any applicable local regulations.

#### Can I export to Google Sheets or Excel?

Yes. You can export your dataset as JSON, CSV, or Excel from the Apify dashboard, then import it into Google Sheets or any spreadsheet workflow.

#### Can I schedule this to run automatically?

Yes. You can schedule actor runs through Apify so your Facebook engagement scraper keeps collecting comment data on a recurring basis.

#### Can I access results via the API?

Yes. Apify supports programmatic access to runs and datasets via its API, which is useful if you want a Facebook comments API scraper workflow.

#### What happens when the actor encounters an error?

The actor is designed with resilience and retry logic, and it keeps the run going even if some requests fail. If extraction can’t proceed for a given target, you may see fewer results, but the run will still finish.

***

### Get Help & Use Responsibly

Got a question about Facebook Comments Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com>. We welcome feedback, including ideas like improving comment coverage for your specific research workflows.

**Publicly available data:** This actor collects **publicly available data** from Facebook post pages. It does not access private accounts, login-gated pages, or password-protected content. Users are responsible for GDPR, CCPA, platform ToS, and any applicable local rules. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

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

List of Facebook post URLs to scrape.

## `resultsAmount` (type: `integer`):

Maximum comments to scrape per URL.

## `includeReplies` (type: `boolean`):

If enabled, replies to comments will also be scraped.

## `commentsMode` (type: `string`):

Ranking mode for comments.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
    }
  ],
  "resultsAmount": 50,
  "includeReplies": false,
  "commentsMode": "All"
}
```

# 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.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapeflux/facebook-comments-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.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl" }] }

# Run the Actor and wait for it to finish
run = client.actor("scrapeflux/facebook-comments-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.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"
    }
  ]
}' |
apify call scrapeflux/facebook-comments-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Comments Scraper",
        "description": "Facebook Comments Scraper extracts publicly available comments from Facebook posts, pages, and public discussions. Collect comment text, usernames, engagement metrics, timestamps, and post data for sentiment analysis, audience research, brand monitoring, competitor analysis, and market research.",
        "version": "0.1",
        "x-build-id": "Wrij22KeC0LSO9JFd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapeflux~facebook-comments-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapeflux-facebook-comments-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/scrapeflux~facebook-comments-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapeflux-facebook-comments-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/scrapeflux~facebook-comments-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapeflux-facebook-comments-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": "Facebook URLs",
                        "type": "array",
                        "description": "List of Facebook post URLs to scrape.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "resultsAmount": {
                        "title": "Results amount",
                        "type": "integer",
                        "description": "Maximum comments to scrape per URL.",
                        "default": 50
                    },
                    "includeReplies": {
                        "title": "Include comment replies",
                        "type": "boolean",
                        "description": "If enabled, replies to comments will also be scraped.",
                        "default": false
                    },
                    "commentsMode": {
                        "title": "Comments mode",
                        "enum": [
                            "Most relevant",
                            "Newest",
                            "All"
                        ],
                        "type": "string",
                        "description": "Ranking mode for comments.",
                        "default": "All"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
