# Truth Social Profile Posts Scraper (`scrapier/truth-social-profile-posts-scraper`) Actor

🔍 Truth Social Profile Posts Scraper is a Truth Social profile posts scraper capturing content, timestamps, likes, reposts, comments, hashtags & media links. 📥 Export CSV/JSON for analytics, social listening & brand monitoring. ⚡ Fast, reliable, structured data for research.

- **URL**: https://apify.com/scrapier/truth-social-profile-posts-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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

### Truth Social Profile Posts Scraper

The Truth Social Profile Posts Scraper is a fast, reliable Truth Social profile posts scraper that collects public posts from any user timeline via truthsocial.com/api/v1 — complete with content, timestamps, and structured metadata. It solves the hassle of manual copy-paste and inconsistent exports by providing a consistent Truth Social posts extractor that outputs clean, Mastodon-shaped status objects. Built for marketers, developers, data analysts, and researchers, this Truth Social user timeline scraper lets you scale social listening, research, and archiving — and export Truth Social posts to JSON or CSV effortlessly.

### What data / output can you get?

Get one dataset item per post — the full Truth Social status object with normalized, Mastodon-shaped keys and optional quote/reply enrichment.

| Data field | Description | Example value |
| --- | --- | --- |
| id | Unique post identifier (string) | "112345678901234567" |
| created_at | ISO timestamp of the post | "2026-04-25T14:32:10.000Z" |
| url | Canonical post URL | "https://truthsocial.com/@user/posts/112345678901234567" |
| content | HTML-formatted post body | "<p>Great news today! #updates</p>" |
| account.display_name | Display name of the author (from embedded account object) | "John Doe" |
| media_attachments | Array of media objects (images, videos) | [] |
| mentions | Array of mentioned accounts | [] |
| tags | Array of hashtag objects | [] |
| quote_id | ID of the quoted post, if any | null |
| in_reply_to_id | ID of the parent post, if this is a reply | null |
| quote | Enriched quoted post object (if enrichment enabled and available) | null |
| in_reply_to | Enriched parent post object (if enrichment enabled and available) | null |

Notes:
- Each dataset item is a full API status object with template keys merged for structural consistency (e.g., card, poll, emojis, edited_at, title are included as null/empty when not present).
- Export your dataset to CSV or JSON directly from Apify for analytics, pipelines, and dashboards.

### Key features

- 🚀 Powerful timeline capture
  Collects full, Mastodon-shaped status objects from Truth Social profiles — ideal for analytics, social listening, and research.

- 🔁 Quote/reply enrichment
  Optionally enriches posts with quoted and parent statuses, returning quote and in_reply_to objects when available.

- 🎯 Precise pagination controls
  Page older content deterministically with firstPostId and stop at a boundary with lastPostId to target specific slices.

- 📦 Batch scraping multiple profiles
  Supply one or many handles in username to run a bulk Truth Social profile posts downloader in a single run.

- 💾 Ready-to-use exports
  Export Truth Social posts to CSV or JSON for BI tools, warehouses, and reporting — no extra processing required.

- 🔌 Residential proxy reliability
  Always uses Apify RESIDENTIAL proxy for robust, production-grade connectivity with automatic retries.

- 👨‍💻 Developer friendly
  Built on the Apify platform and SDK patterns, making it straightforward to integrate with your Truth Social scraping tool pipelines, scripts, or workflows.

- 🟢 No login required
  Works with public endpoints — no cookies or session needed for scraping publicly available profile feeds.

### How to use Truth Social Profile Posts Scraper - step by step

1. Create or log in to your Apify account.
2. Open the Truth Social Profile Posts Scraper actor.
3. In Input, add one or more handles in username (e.g., realDonaldTrump). You may omit the @ — it’s handled automatically.
4. Set maxItems to control how many posts to collect per profile (default 20; 1–10,000).
5. (Optional) Use firstPostId to start paging older than a given post ID and lastPostId to stop at/below a specific post ID.
6. (Optional) Configure proxyConfiguration. The actor always uses the RESIDENTIAL group; your selection here only affects credentials/account usage.
7. Click Start. Posts will stream into the Dataset as they’re fetched — watch progress live in the Output tab.
8. Export your results to CSV or JSON from the Dataset for use in analytics, research, or downstream pipelines.

Pro tip: For legacy workflows, an urls array can be used in JSON input. You can also automate runs via the Apify API and schedule repeat jobs for Truth Social profile monitoring or post archiving.

### Use cases

| Use case | Description |
| --- | --- |
| Social listening & trend tracking | Monitor a Truth Social profile feed crawler at scale and analyze content cadence, topics, and engagement signals. |
| Brand monitoring | Track brand or executive accounts with a Truth Social profile scraper and export to CSV for dashboards and alerts. |
| Academic & policy research | Build longitudinal datasets of public discourse with a Truth Social posts extractor and export Truth Social posts to JSON for reproducibility. |
| Journalism & archiving | Use a Truth Social post archiver to capture statements with timestamps and media references for verification. |
| Competitive analysis | Compare message themes across peers using a Truth Social profile posts downloader and CSV-based benchmarking. |
| Data engineering pipelines | Feed the Truth Social scraping API results into ETL, warehousing, or orchestration tools for automated reporting. |

### Why choose Truth Social Profile Posts Scraper?

Built for precision, automation, and reliability, this scraper turns public Truth Social timelines into structured datasets you can trust.

- ✅ Accurate, structured output: Returns full, normalized status objects with consistent keys.
- ⚙️ Scales to your needs: Scrape one or many profiles with deterministic pagination controls.
- 👨‍💻 Developer access: Easy to integrate into pipelines on Apify; export as CSV or JSON.
- 🔐 Robust networking: Uses Apify residential proxies by design with automatic retries for stability.
- 🧩 Workflow-friendly: Perfect for integrations with automation stacks and data pipelines.
- 💸 Cost-effective: Pay only for what you use — ideal for repeat monitoring or batch exports.
- 🛡️ Safer than ad‑hoc tools: No flaky browser extensions; production-ready infrastructure on Apify.

In short, it’s a reliable Truth Social scraping tool vs. DIY scripts or unstable alternatives — purpose-built for structured, repeatable data extraction.

### Is it legal / ethical to use Truth Social Profile Posts Scraper?

Yes — when used responsibly. This actor collects publicly available data from Truth Social profiles and does not access private or authenticated content.

Guidelines for compliant use:
- Collect only public information and respect platform terms.
- Avoid scraping private data or non-public endpoints.
- Ensure your usage aligns with applicable data protection laws (e.g., GDPR, CCPA).
- Consult your legal team for specific jurisdictions or edge cases.

The tool does not log in or bypass access controls; it works with public profile feeds.

### Input parameters & output format

Example JSON input
```json
{
  "username": ["realDonaldTrump", "someUser"],
  "maxItems": 50,
  "firstPostId": "112300000000000000",
  "lastPostId": "112200000000000000",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

Parameter reference

- username (array<string>, required): One or more profile handles to scrape (e.g., "realDonaldTrump"). You can omit the @.
  - Default: none
- maxItems (integer): Cap the number of posts to save per profile. Range: 1–10000.
  - Default: 20
- firstPostId (string): Optional. Start paging older than this post ID to go deeper into the timeline.
  - Default: none
- lastPostId (string): Optional. Stop when reaching posts at or below this ID.
  - Default: none
- proxyConfiguration (object): Optional. Credentials/account settings for Apify proxy. The actor always uses the RESIDENTIAL proxy group.
  - Default: { "useApifyProxy": true }

Also accepted (advanced/legacy, from source code):

- urls (array): Legacy input for older tasks; profile URLs/handles are parsed to usernames.
- maximumPosts (integer): Legacy alternative to maxItems.
- enrichRelations (boolean): Enables quote/reply enrichment when true. Default true.
- requestDelaySeconds (number): Delay between page batches. Default 1.

Example JSON output (one item per post)

```json
{
  "id": "112345678901234567",
  "created_at": "2026-04-25T14:32:10.000Z",
  "url": "https://truthsocial.com/@user/posts/112345678901234567",
  "content": "<p>Great news today! <a href=\"https://truthsocial.com/tags/updates\" class=\"mention hashtag\" rel=\"tag\">#updates</a></p>",
  "media_attachments": [],
  "mentions": [],
  "tags": [],
  "quote_id": null,
  "in_reply_to_id": null,
  "card": null,
  "group": null,
  "quote": null,
  "in_reply_to": null,
  "reblog": null,
  "reaction": null,
  "poll": null,
  "emojis": [],
  "edited_at": null,
  "title": null,
  "account": {
    "id": "99887766",
    "display_name": "John Doe",
    "location": "",
    "emojis": [],
    "fields": []
  }
}
```

Notes:

- Fields like quote\_id, in\_reply\_to\_id, edited\_at, title, quote, and in\_reply\_to may be null when not applicable.
- The account object is included with merged defaults for structural consistency (e.g., location, emojis, fields).
- Data streams to the Dataset as each row is saved; export to CSV or JSON anytime.

### FAQ

#### Do I need to log in or provide cookies?

No. The scraper works with publicly available profile feeds and does not require login or session cookies.

#### How many posts can I scrape per profile?

You can control volume with maxItems from 1 to 10,000. Set a higher value for deeper timelines, or leave at the default (20) for quick snapshots.

#### Can I export Truth Social posts to CSV or JSON?

Yes. Results are stored in an Apify Dataset and can be exported to CSV or JSON with a single click or via API.

#### Does it support multiple profiles in one run?

Yes. Provide multiple handles in the username array and the actor will process them in the same run.

#### Will it capture quotes and replies?

Yes. When enrichment is enabled (enrichRelations=true), the actor fetches quoted and parent posts where available and adds them to quote and in\_reply\_to fields.

#### What about proxies — do I need to configure them?

Proxy configuration is optional, but the actor always uses Apify RESIDENTIAL proxies under the hood. Your proxy settings determine credentials/account usage, not the proxy group.

#### Can I target a specific slice of a timeline?

Yes. Use firstPostId to start paging older than a given post and lastPostId to stop at/below a specific boundary for precise ranges.

#### Is using this scraper legal?

Yes, when used responsibly on publicly available data and in compliance with platform terms and applicable laws. Consult your legal team for specific requirements.

### Final thoughts

The Truth Social Profile Posts Scraper is built to turn public profile feeds into structured, analysis-ready datasets. With reliable residential proxy networking, optional quote/reply enrichment, and flexible pagination, it’s ideal for marketers, analysts, researchers, and developers. Export to CSV/JSON for dashboards, or integrate via the Apify platform to automate pipelines for Truth Social profile monitoring and post archiving. Start extracting smarter, structured insights from Truth Social today.

# Actor input Schema

## `username` (type: `array`):

💬 Add one or more **handles** (example: *realDonaldTrump*). You can skip the **@** — we’ll figure it out!

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

🧮 Cap the number of posts we save for you (pick what fits your project).

## `firstPostId` (type: `string`):

🪄 *Optional.* Paste a post **ID** only if you want to page **deeper** into older posts. Most runs leave this blank!

## `lastPostId` (type: `string`):

🪄 *Optional.* Stop when we reach posts at or **below** this ID. Leave empty to keep going until your cap.

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

🔐 Optional. This actor **always** uses the **RESIDENTIAL** proxy group; your selection here only affects credentials / Apify account settings, not the proxy type.

## Actor input object example

```json
{
  "username": [
    "realDonaldTrump"
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "username": [
        "realDonaldTrump"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/truth-social-profile-posts-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 = {
    "username": ["realDonaldTrump"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/truth-social-profile-posts-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 '{
  "username": [
    "realDonaldTrump"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapier/truth-social-profile-posts-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Truth Social Profile Posts Scraper",
        "description": "🔍 Truth Social Profile Posts Scraper is a Truth Social profile posts scraper capturing content, timestamps, likes, reposts, comments, hashtags & media links. 📥 Export CSV/JSON for analytics, social listening & brand monitoring. ⚡ Fast, reliable, structured data for research.",
        "version": "1.0",
        "x-build-id": "8WAhdCrOATBLIlUti"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~truth-social-profile-posts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-truth-social-profile-posts-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/scrapier~truth-social-profile-posts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-truth-social-profile-posts-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/scrapier~truth-social-profile-posts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-truth-social-profile-posts-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": [
                    "username"
                ],
                "properties": {
                    "username": {
                        "title": "🔎✨ Which profile?",
                        "minItems": 1,
                        "type": "array",
                        "description": "💬 Add one or more **handles** (example: *realDonaldTrump*). You can skip the **@** — we’ll figure it out!",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "📊 How many posts?",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "🧮 Cap the number of posts we save for you (pick what fits your project).",
                        "default": 20
                    },
                    "firstPostId": {
                        "title": "⏮️ Start older than this post",
                        "type": "string",
                        "description": "🪄 *Optional.* Paste a post **ID** only if you want to page **deeper** into older posts. Most runs leave this blank!"
                    },
                    "lastPostId": {
                        "title": "⏹️ Stop at this post",
                        "type": "string",
                        "description": "🪄 *Optional.* Stop when we reach posts at or **below** this ID. Leave empty to keep going until your cap."
                    },
                    "proxyConfiguration": {
                        "title": "🌍 Apify proxy (account / password)",
                        "type": "object",
                        "description": "🔐 Optional. This actor **always** uses the **RESIDENTIAL** proxy group; your selection here only affects credentials / Apify account settings, not the proxy type."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
