# Truth Social Scraper (`tri_angle/truth-scraper`) Actor

Scrape profile info, truths and replies from the Truth social media platform.

- **URL**: https://apify.com/tri\_angle/truth-scraper.md
- **Developed by:** [Tri⟁angle](https://apify.com/tri_angle) (Apify)
- **Categories:** Social media
- **Stats:** 369 total users, 28 monthly users, 99.9% runs succeeded, 6 bookmarks
- **User rating**: 4.98 out of 5 stars

## Pricing

from $1.15 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

### What does Truth Social Scraper do?
Truth Social Scraper will enable you to scrape profile info, truths, and replies from the Truth social media platform.

Truth Social Scraper can scrape:
**Profile details** - Scrape information about the profile itself, such as the description, avatar, followersCount and other profile-related details.
- **Posts**: Scrape the posts made by the profile, excluding replies to other posts.
- **Replies**: Scrape only the replies that the profile has made to other users posts.
- **Posts and replies**: Scrape both the main posts made by the profile and the replies to other users posts.,

### Why scrape Truth Social?
Truth Social has a growing number of users and is a valuable source of data for social media analysis, research, and monitoring.

Here are just some of the ways you could use that data:
- Analyze user engagement
- Monitor trending truths
- Research user sentiments
- Track conversations and replies

If you would like more inspiration on how scraping Truth Social could help your business or organization, check out our [industry pages](https://apify.com/industries).

### How to scrape Truth Social
It's easy to scrape Truth Social with Truth Social Scraper. Just follow these steps and you'll get your data in a few minutes.

1. Click on Try for free.
2. Enter username(s) with or without "@". Additionally you can provide profile URL(s) (e.g. https://truthsocial.com/@realDonaldTrump)
3. Click on Start.
4. When Truth Social Scraper has finished, preview or download your data from the Dataset tab.

### How much will it cost to scrape Truth Social?
Apify gives you $5 free usage credits every month on the [Apify Free plan](https://apify.com/pricing). 
But if you need to get more data regularly from Truth Social, you should consider an Apify subscription. We recommend our [$49/month Starter plan](https://apify.com/pricing)

### Output

#### Profile Details

```json
{
  "input":"https://truthsocial.com/@realDonaldTrump",
  "id":"107780257626128497",
  "url":"https://truthsocial.com/@realDonaldTrump",
  "username":"realDonaldTrump",
  "displayName":"Donald J. Trump",
  "description":"<p></p>",
  "website":"www.DonaldJTrump.com",
  "avatar":"https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/avatars/107/780/257/626/128/497/original/454286ac07a6f6e6.jpeg",
  "header":"https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/headers/107/780/257/626/128/497/original/ba3b910ba387bf4e.jpeg",
  "followersCount":8366535,
  "followingCount":71,
  "postsAndRepliesCount":24289,
  "createdAt":"2022-02-11T16:16:57.705Z",
  "verified":true
}
````

#### Post

```json
{
  "input":"https://truthsocial.com/@realDonaldTrump",
  "id":"113560838963769446",
  "type":"post",
  "accountId":"107780257626128497",
  "username":"realDonaldTrump",
  "createdAt":"2024-11-28T13:34:47.509Z",
  "inReplyToId":null,
  "inReplyToAccountId":null,
  "sensitive":false,
  "language":null,
  "url":"https://truthsocial.com/@realDonaldTrump/113560838963769446",
  "content":"<p></p>",
  "mediaAttachments":[
    {
      "id":"113560838939449294",
      "type":"image",
      "url":"https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/113/560/838/939/449/294/original/098be9d5bdb0c201.jpg",
      "previewUrl":"https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/113/560/838/939/449/294/small/098be9d5bdb0c201.jpg",
      "textUrl":null,
      "description":null
    }
  ],
  "mentions":[
    
  ],
  "muted":false,
  "pinned":false,
  "repliesCount":945,
  "reblogsCount":2040,
  "favouritesCount":9634
}
```

#### Reply

```json
{
  "input":"@realDonaldTrump",
  "id":"113478531114340760",
  "type":"reply",
  "accountId":"107780257626128497",
  "username":"realDonaldTrump",
  "createdAt":"2024-11-14T00:42:49.401Z",
  "inReplyToId":"113456516400315676",
  "inReplyToAccountId":"107842299876619984",
  "sensitive":false,
  "language":"en",
  "url":"https://truthsocial.com/@realDonaldTrump/113478531114340760",
  "content":"<p>Elon Musk is a great guy, loaded with personality and “brainpower.” He is definitely a high IQ person, which is the reason that his really strong Endorsement meant so much to me, and to MAGA. He’s at a beautiful Mar-a-Lago concert right now, and the crowd absolutely loves him. Thank you Elon for the great job you did in helping us WIN the “most consequential election in 129 years,” especially your hard work in the great Commonwealth of Pennsylvania. It will never be forgotten. MAKE AMERICA GREAT AGAIN!!!</p>",
  "mediaAttachments":[
    
  ],
  "mentions":[
    {
      "id":"107842299876619984",
      "username":"ilpresidento",
      "url":"https://truthsocial.com/@ilpresidento"
    }
  ],
  "muted":false,
  "pinned":false,
  "repliesCount":2385,
  "reblogsCount":8835,
  "favouritesCount":45960
}
```

### Incremental runs (detect + fetch pattern)

Combine `continueFromLastPostId` with `peek` to drive a cheap "is there anything new?" probe from your workflow tool (n8n, Zapier, etc.) without burning the cursor:

1. **Detect run** - `continueFromLastPostId: true`, `peek: true`, `maxPostsAndReplies: 1`. Returns 0 items if there's nothing new, 1 item if there is. The cursor is left untouched.
2. **Fetch run** - if step 1 returned an item, trigger a second run with `continueFromLastPostId: true`, `peek: false` (default), and a higher `maxPostsAndReplies`. It picks up every new post/reply since the previous fetch run and advances the cursor.

If you run without `peek` (the default), `continueFromLastPostId` works as before: every run advances the cursor over the items it pushed.

### Filtering by date

For ad-hoc backfills from a specific point in time, use `postsNewerThan` (ISO 8601 date or date-time, e.g. `2026-04-01` or `2026-04-01T00:00:00Z`). Only posts/replies with `createdAt` strictly newer than the value are returned. Pagination stops as soon as an older non-pinned post is encountered, so the filter is efficient on Truth Social's newest-first feed. For recurring incremental runs prefer `continueFromLastPostId` — it doesn't require knowing a date in advance.

### Why Can't Comments Be Scraped?

Truth Social enforces additional privacy measures for comments, requiring user authentication to access this data. This scraper respects these limitations to remain compliant with Truth Social's policies and maintain public-only scraping capabilities.

### Is it legal to scrape Truth Social?

Note that scraping social media platforms may have terms of service restrictions. Ensure you comply with Truth Social's terms of use and respect user privacy and data protection regulations in your jurisdiction. If you're unsure about the legality of scraping Truth Social, consult legal advice. We also recommend reading our blog post on [web scraping legality](https://blog.apify.com/is-web-scraping-legal/).

# Actor input Schema

## `profiles` (type: `array`):

Enter username(s) with or without "@". Additionally you can provide profile URL(s) (e.g. https://truthsocial.com/@realDonaldTrump).

## `resultsType` (type: `string`):

Type of content you want to scrape from the specified profiles:

- **Profile details**: Scrape information about the profile itself, such as the description, avatar, followersCount and other profile-related details.
- **Posts**: Scrape the posts made by the profile, excluding replies to other posts.
- **Replies**: Scrape only the replies that the profile has made to other users posts.
- **Posts and replies**: Scrape both the main posts made by the profile and the replies to other users posts.

## `maxPostsAndReplies` (type: `integer`):

The maximum number of posts/replies to scrape per profile.

## `includeMuted` (type: `boolean`):

If checked, muted posts/replies will also be included in the `postsAndReplies` output.

## `continueFromLastPostId` (type: `boolean`):

If checked, on each run only posts/replies newer than the last id seen for each profile/resultsType pair will be scraped. The newest id per `username:resultsType` is persisted to the named key-value store `store-truth-cursor` under key `LAST_POST_IDS`, so the cursor carries across runs. Useful for incremental runs.

## `peek` (type: `boolean`):

Only relevant when `continueFromLastPostId` is on. If checked, the run still uses the persisted cursor to filter results, but does NOT update the cursor at the end. Use this for cheap "is there at least one new post since last run?" probes: set `maxPostsAndReplies` to 1 and `peek` to true, then trigger a follow-up run with `peek` off (and a higher `maxPostsAndReplies`) to fetch every new post since the previous real run.

## `postsNewerThan` (type: `string`):

ISO 8601 date or date-time (e.g. `2026-04-01` or `2026-04-01T00:00:00Z`). Only posts/replies with `createdAt` strictly newer than this value are returned. Pagination stops as soon as an older non-pinned post is encountered, so the filter is efficient on Truth Social's newest-first feed. Useful for ad-hoc backfills (`continueFromLastPostId` handles the recurring case). Leave empty to disable.

## `onlyPostsWithMedia` (type: `boolean`):

If checked, only posts/replies that contain at least one media attachment (image, video, GIF) will be returned.

## `cleanContent` (type: `boolean`):

If checked, HTML tags are stripped from the `content` field and common HTML entities are decoded. Truth Social wraps post text in `<p>`, `<a>`, `<br>` etc. - turn this on to get plain text. Defaults to false to preserve the existing output shape.

## Actor input object example

```json
{
  "profiles": [
    "@realDonaldTrump"
  ],
  "resultsType": "profile-details",
  "maxPostsAndReplies": 100,
  "includeMuted": true,
  "continueFromLastPostId": false,
  "peek": false,
  "onlyPostsWithMedia": false,
  "cleanContent": false
}
```

# 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 = {
    "profiles": [
        "@realDonaldTrump"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tri_angle/truth-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 = { "profiles": ["@realDonaldTrump"] }

# Run the Actor and wait for it to finish
run = client.actor("tri_angle/truth-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 '{
  "profiles": [
    "@realDonaldTrump"
  ]
}' |
apify call tri_angle/truth-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Truth Social Scraper",
        "description": "Scrape profile info, truths and replies from the Truth social media platform.",
        "version": "0.0",
        "x-build-id": "AkgWSH6C94wawqEEL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tri_angle~truth-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tri_angle-truth-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/tri_angle~truth-scraper/runs": {
            "post": {
                "operationId": "runs-sync-tri_angle-truth-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/tri_angle~truth-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-tri_angle-truth-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": {
                    "profiles": {
                        "title": "Truth profile(s)",
                        "type": "array",
                        "description": "Enter username(s) with or without \"@\". Additionally you can provide profile URL(s) (e.g. https://truthsocial.com/@realDonaldTrump).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "resultsType": {
                        "title": "Content to scrape",
                        "enum": [
                            "profile-details",
                            "posts",
                            "replies",
                            "posts-and-replies"
                        ],
                        "type": "string",
                        "description": "Type of content you want to scrape from the specified profiles:\n- **Profile details**: Scrape information about the profile itself, such as the description, avatar, followersCount and other profile-related details.\n- **Posts**: Scrape the posts made by the profile, excluding replies to other posts.\n- **Replies**: Scrape only the replies that the profile has made to other users posts.\n- **Posts and replies**: Scrape both the main posts made by the profile and the replies to other users posts.",
                        "default": "profile-details"
                    },
                    "maxPostsAndReplies": {
                        "title": "Max posts/replies per profile",
                        "minimum": 0,
                        "type": "integer",
                        "description": "The maximum number of posts/replies to scrape per profile.",
                        "default": 100
                    },
                    "includeMuted": {
                        "title": "Include muted posts/replies",
                        "type": "boolean",
                        "description": "If checked, muted posts/replies will also be included in the `postsAndReplies` output.",
                        "default": true
                    },
                    "continueFromLastPostId": {
                        "title": "Continue from last post id",
                        "type": "boolean",
                        "description": "If checked, on each run only posts/replies newer than the last id seen for each profile/resultsType pair will be scraped. The newest id per `username:resultsType` is persisted to the named key-value store `store-truth-cursor` under key `LAST_POST_IDS`, so the cursor carries across runs. Useful for incremental runs.",
                        "default": false
                    },
                    "peek": {
                        "title": "Peek (don't persist cursor)",
                        "type": "boolean",
                        "description": "Only relevant when `continueFromLastPostId` is on. If checked, the run still uses the persisted cursor to filter results, but does NOT update the cursor at the end. Use this for cheap \"is there at least one new post since last run?\" probes: set `maxPostsAndReplies` to 1 and `peek` to true, then trigger a follow-up run with `peek` off (and a higher `maxPostsAndReplies`) to fetch every new post since the previous real run.",
                        "default": false
                    },
                    "postsNewerThan": {
                        "title": "Only posts/replies newer than (ISO date)",
                        "type": "string",
                        "description": "ISO 8601 date or date-time (e.g. `2026-04-01` or `2026-04-01T00:00:00Z`). Only posts/replies with `createdAt` strictly newer than this value are returned. Pagination stops as soon as an older non-pinned post is encountered, so the filter is efficient on Truth Social's newest-first feed. Useful for ad-hoc backfills (`continueFromLastPostId` handles the recurring case). Leave empty to disable."
                    },
                    "onlyPostsWithMedia": {
                        "title": "Only posts/replies with media",
                        "type": "boolean",
                        "description": "If checked, only posts/replies that contain at least one media attachment (image, video, GIF) will be returned.",
                        "default": false
                    },
                    "cleanContent": {
                        "title": "Clean content (strip HTML)",
                        "type": "boolean",
                        "description": "If checked, HTML tags are stripped from the `content` field and common HTML entities are decoded. Truth Social wraps post text in `<p>`, `<a>`, `<br>` etc. - turn this on to get plain text. Defaults to false to preserve the existing output shape.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
