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

🔍 Truth Social Scraper pulls public posts, profiles, hashtags & engagement (likes, reposts, replies) from Truth Social. 📊 Collect bios, timestamps, media & links; keyword/user filters; CSV/JSON export. 🚀 Ideal for research, monitoring, marketing & OSINT.

- **URL**: https://apify.com/scrapier/truth-social-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 0.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 Scraper

Truth Social Scraper is a fast, reliable Truth Social scraper that collects public posts from user timelines and individual post URLs/IDs, then streams full JSON objects to your Apify dataset. It solves the challenge of exporting clean, structured Truth Social data without manual copy-paste or fragile browser automation — a practical Truth Social API alternative for marketers, developers, data analysts, and researchers. With filters for replies and media, optional text cleaning, and incremental runs, this Truth Social scraping tool enables repeatable Truth Social data export and analytics at scale. 🚀

### What data / output can you get?

The actor pushes full status objects (same shape as Truth Social’s Mastodon-compatible API) to the dataset. Below are key fields you’ll see:

| Data field | Description | Example value |
| --- | --- | --- |
| id | Unique post identifier (string) | "113456789012345678" |
| created_at | ISO timestamp when the post was created | "2026-04-25T14:32:18.000Z" |
| content | Post body; HTML or cleaned plain text depending on cleanContent | "Big announcement today!" |
| url | Canonical URL of the post | "https://truthsocial.com/@user/posts/113456789012345678" |
| in_reply_to_id | Parent post ID if this is a reply; otherwise null | null |
| media_attachments | Array of attached media objects (images/videos) | [] |
| account | Object with the author’s public profile metadata | { } |
| reblog | Reblog/boosted post object if present; otherwise null | null |
| quote | Quoted post object if present; otherwise null | null |

Notes:
- Extra metadata and nested objects included by the Truth Social API (e.g., account details and media fields) are preserved in each row.
- You can download results from the Apify dataset in JSON, CSV, or Excel formats for further Truth Social data export, analytics, or pipelines.

Example output item
```json
{
  "id": "113456789012345678",
  "created_at": "2026-04-25T14:32:18.000Z",
  "content": "Big announcement today!",
  "url": "https://truthsocial.com/@user/posts/113456789012345678",
  "in_reply_to_id": null,
  "media_attachments": [],
  "account": {},
  "reblog": null,
  "quote": null"
}
````

### Key features

- ⚡️ Powerful output, no compromises\
  Saves full status objects exactly as returned by the public API — ideal for a Truth Social data extractor, Truth Social posts scraper, or Truth Social analytics tool.

- 🧹 Clean, readable text (optional)\
  Enable cleanContent to strip HTML from content across posts and nested objects (reblog/quote), perfect for Truth Social sentiment analysis and text processing.

- 🎯 Precise filters for replies and media\
  Use onlyFetchReplies to focus on conversations or onlyFetchPostsWithMedia to retain posts with images or video — a focused Truth Social web scraper for specific workflows.

- 📌 Single-post mode by ID or URL\
  fetchSinglePostByIdOrUrl fetches exact posts you specify, making it a quick Truth Social post downloader for targeted monitoring and exports.

- 🔁 Incremental runs\
  continueFromLastPostId stores per-username progress in the key‑value store and only fetches newer posts on subsequent runs — efficient for Truth Social data mining over time.

- 🌐 Robust connection strategy\
  Smart HTTP layer with direct, auto-proxy, and residential proxy tiers (via Apify Proxy) plus adaptive retries and cooldowns to reduce 403/429 issues.

- 📡 Live dataset streaming\
  Each post is pushed to the dataset as soon as it’s fetched, enabling near‑real‑time Truth Social crawler pipelines and integrations.

- 🧑‍💻 Developer friendly\
  Works as a Truth Social scraping Python actor on Apify; export JSON/CSV via the dataset API and integrate with your systems or automation tools.

- 🔐 No login required\
  Collects publicly available content without credentials, cookies, or browser sessions — a stable Truth Social API alternative for research and monitoring.

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

1. Create or log in to your Apify account.
2. Open the Truth Social Scraper actor in the Apify Console.
3. Add input data:
   - For timelines, enter one or more profile handles under truthSocialUsername (e.g., realDonaldTrump).
   - For specific posts, expand Advanced and add IDs/URLs under fetchSinglePostByIdOrUrl.
4. Configure options:
   - maxPosts to control per‑profile limits (default 20).
   - Toggle onlyFetchReplies and/or onlyFetchPostsWithMedia for targeted extraction.
   - Leave cleanContent on for plain‑text content (recommended).
   - Use continueFromLastPostId for incremental runs, or set startFromPostId to begin “older than” a specific post.
5. (Optional) Expand Connection & privacy to set proxyConfiguration if needed (Apify Proxy).
6. Click Start to run. The actor will fetch each page, stream rows to the dataset, and log progress.
7. Download results from the Dataset tab in JSON, CSV, or Excel for downstream analysis and reporting.

Pro Tip: Use fetchSinglePostByIdOrUrl for precise post capture, or enable continueFromLastPostId to build automated Truth Social data export pipelines you can schedule and sync to BI tools.

### Use cases

| Use case | Description |
| --- | --- |
| Marketing campaign tracking | Monitor public profiles for new posts and media to inform campaign timing and creative. |
| Competitor monitoring | Track timelines of competitor accounts and export structured data for weekly reporting. |
| Sentiment & text analytics | Enable cleanContent and run NLP on post bodies to analyze sentiment, topics, and trends. |
| OSINT & research | Collect public timelines and specific posts for investigations, audits, and reproducible analysis. |
| Academic studies | Build datasets of public discourse and engagement for longitudinal studies and publications. |
| Data engineering pipeline | Automate JSON/CSV outputs via Apify datasets for ETL, dashboards, and internal APIs. |
| Content archiving | Save posts and associated media metadata for compliance, backups, or historical snapshots. |

### Why choose Truth Social Scraper?

This production‑ready Truth Social scraper is built for precision, automation, and reliability — not fragile browser hacks.

- ✅ Accurate, full‑fidelity data: Saves complete status objects as returned by the API.
- 🧹 Clean text option: Flip cleanContent on for immediate analytics‑ready content.
- 📈 Scalable & repeatable: Incremental mode and per‑run limits fit batch or scheduled jobs.
- 🧑‍💻 Developer‑first exports: JSON/CSV via datasets for pipelines and programmatic access.
- 🔐 No login required: Public endpoints only — a practical Truth Social API alternative.
- 🌐 Resilient networking: Direct → auto‑proxy → residential with retries and cooldowns.
- 💼 Works across teams: Useful for marketers, data analysts, researchers, and developers.

Bottom line: a stable Truth Social scraping tool that prioritizes data quality, exportability, and operational resilience.

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

Yes — when used responsibly. The actor collects publicly available content and does not access private or authenticated data.

Guidelines:

- Collect only public information you’re authorized to use.
- Respect platform terms and applicable laws (e.g., GDPR/CCPA).
- Avoid scraping personal or sensitive data beyond public posts.
- Consult your legal team for edge cases or regulatory questions.

You’re responsible for compliance with your jurisdiction and intended use.

### Input parameters & output format

Example input

```json
{
  "truthSocialUsername": ["realDonaldTrump"],
  "maxPosts": 20,
  "continueFromLastPostId": false,
  "onlyFetchReplies": false,
  "onlyFetchPostsWithMedia": false,
  "cleanContent": true,
  "startFromPostId": "",
  "fetchSinglePostByIdOrUrl": [],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

All input fields (from the schema):

- truthSocialUsername (array)\
  Description: Add one or more profile handles (example: realDonaldTrump). One entry per line. The @ symbol is optional — we’ll figure it out.\
  Default: Prefill \["realDonaldTrump"]\
  Required: No

- maxPosts (integer)\
  Description: Number of posts to collect from that profile’s feed (between 5 and 500). Not used when you only fetch single posts in Advanced.\
  Default: 20\
  Required: No

- continueFromLastPostId (boolean)\
  Description: On: only new posts since your last successful run for this profile. Off: fetch fresh from the top of the feed (within your limit).\
  Default: false\
  Required: No

- onlyFetchReplies (boolean)\
  Description: Off: normal posts (replies hidden). On: only reply posts.\
  Default: false\
  Required: No

- onlyFetchPostsWithMedia (boolean)\
  Description: On: keep posts that include images or video. Off: everything (text‑only included).\
  Default: false\
  Required: No

- cleanContent (boolean)\
  Description: On (recommended): plain text you can read at a glance. Off: keep original formatting.\
  Default: true\
  Required: No

- startFromPostId (string)\
  Description: Optional 18‑digit post ID — we’ll load posts older than this. Don’t use together with Pick up where you left off.\
  Default: none\
  Required: No

- fetchSinglePostByIdOrUrl (array)\
  Description: Add post IDs or full Truth post links — one per line. When this list has items, profile mode is skipped and only these posts are saved.\
  Default: none\
  Required: No

- proxyConfiguration (object)\
  Description: If the site is picky about traffic, Apify can route through proxies you’ve enabled on your account. Totally optional for many runs.\
  Default: Prefill {"useApifyProxy": true}\
  Required: No

Compatibility note (supported by the actor for convenience): legacy keys urls, singlePostId, useLastPostId, startFromId, onlyReplies, onlyMedia, username are accepted and mapped internally.

Example output item

```json
{
  "id": "113456789012345678",
  "created_at": "2026-04-25T14:32:18.000Z",
  "content": "Big announcement today!",
  "url": "https://truthsocial.com/@user/posts/113456789012345678",
  "in_reply_to_id": null,
  "media_attachments": [],
  "account": {},
  "reblog": null,
  "quote": null
}
```

Notes:

- When cleanContent is true, the actor converts HTML to plain text for content and nested content within reblog and quote.
- Dataset rows stream as they’re fetched, enabling immediate download in JSON, CSV, or Excel.

### FAQ

#### Do I need a Truth Social login or API key?

No. This Truth Social scraper collects publicly available data and does not require authentication. It works as a practical Truth Social API alternative for research and monitoring.

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

Set maxPosts to control your limit (default 20). The input schema enforces a minimum of 5; configure per your needs. For single-post mode, maxPosts is not used.

#### Can I fetch specific posts by URL or ID?

Yes. Add values to fetchSinglePostByIdOrUrl (one per line). When this list has entries, the actor skips profile timelines and saves only those posts.

#### Can I extract replies only or posts with media only?

Yes. Toggle onlyFetchReplies to focus on replies, and onlyFetchPostsWithMedia to keep posts that include images or video.

#### Does it support hashtags or keyword search?

Not in this version. The actor focuses on profile timelines and individual posts by ID/URL.

#### How is the data exported?

Results are pushed to your Apify dataset as full JSON objects. From there, you can download or programmatically access JSON, CSV, or Excel for your pipelines.

#### Is the output good for sentiment analysis and analytics?

Yes. With cleanContent enabled, the post body is plain text, making it ideal for downstream NLP, Truth Social sentiment analysis, and dashboards.

#### How does it handle blocks or rate limits?

The actor uses a tiered strategy (direct → auto‑proxy → residential) with adaptive retries and cooldowns to reduce 403/429 errors and keep runs stable.

### Final thoughts

Truth Social Scraper is built to export clean, structured public posts for analysis and automation. With full‑fidelity JSON output, optional text cleaning, precise filters, and resilient networking, it fits marketers, developers, data analysts, and researchers alike. Use it for ongoing monitoring, reporting, and data mining — and integrate via Apify datasets for API-driven workflows and automation. Start extracting smarter Truth Social insights today.

# Actor input Schema

## `truthSocialUsername` (type: `array`):

✏️ Add one or more profile handles (example: **realDonaldTrump**). One entry per line. The **@** symbol is optional — we’ll figure it out.

## `maxPosts` (type: `integer`):

🎯 Number of posts to collect from that profile’s feed (between **5** and **500**). Not used when you only fetch single posts in Advanced.

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

✅ **On:** only *new* posts since your last successful run for this profile.
⬜ **Off:** fetch fresh from the top of the feed (within your limit).

## `onlyFetchReplies` (type: `boolean`):

⬜ **Off:** normal posts (replies hidden).
✅ **On:** only reply posts.

## `onlyFetchPostsWithMedia` (type: `boolean`):

✅ **On:** keep posts that include images or video.
⬜ **Off:** everything (text-only included).

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

✅ **On (recommended):** plain text you can read at a glance.
⬜ **Off:** keep original formatting.

## `startFromPostId` (type: `string`):

📌 Optional **18-digit** post ID — we’ll load posts *older* than this. Don’t use together with **Pick up where you left off**.

## `fetchSinglePostByIdOrUrl` (type: `array`):

➕ Add post IDs or full Truth post links — one per line. When this list has items, **profile mode is skipped** and only these posts are saved.

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

🔐 If the site is picky about traffic, Apify can route through proxies you’ve enabled on your account. Totally optional for many runs.

## Actor input object example

```json
{
  "truthSocialUsername": [
    "realDonaldTrump"
  ],
  "maxPosts": 20,
  "continueFromLastPostId": false,
  "onlyFetchReplies": false,
  "onlyFetchPostsWithMedia": false,
  "cleanContent": true,
  "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 = {
    "truthSocialUsername": [
        "realDonaldTrump"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Truth Social Scraper",
        "description": "🔍 Truth Social Scraper pulls public posts, profiles, hashtags & engagement (likes, reposts, replies) from Truth Social. 📊 Collect bios, timestamps, media & links; keyword/user filters; CSV/JSON export. 🚀 Ideal for research, monitoring, marketing & OSINT.",
        "version": "1.0",
        "x-build-id": "8x7MMG5ya9QIfmNDF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~truth-social-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-truth-social-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-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-truth-social-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-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-truth-social-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": {
                    "truthSocialUsername": {
                        "title": "👤 Who should we scrape?",
                        "type": "array",
                        "description": "✏️ Add one or more profile handles (example: **realDonaldTrump**). One entry per line. The **@** symbol is optional — we’ll figure it out.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPosts": {
                        "title": "📚 How many posts?",
                        "minimum": 5,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "🎯 Number of posts to collect from that profile’s feed (between **5** and **500**). Not used when you only fetch single posts in Advanced.",
                        "default": 20
                    },
                    "continueFromLastPostId": {
                        "title": "⏭️ Pick up where you left off",
                        "type": "boolean",
                        "description": "✅ **On:** only *new* posts since your last successful run for this profile.\n⬜ **Off:** fetch fresh from the top of the feed (within your limit).",
                        "default": false
                    },
                    "onlyFetchReplies": {
                        "title": "💬 Replies only",
                        "type": "boolean",
                        "description": "⬜ **Off:** normal posts (replies hidden).\n✅ **On:** only reply posts.",
                        "default": false
                    },
                    "onlyFetchPostsWithMedia": {
                        "title": "🖼️ Posts with photos / video only",
                        "type": "boolean",
                        "description": "✅ **On:** keep posts that include images or video.\n⬜ **Off:** everything (text-only included).",
                        "default": false
                    },
                    "cleanContent": {
                        "title": "🧹 Clean, readable text",
                        "type": "boolean",
                        "description": "✅ **On (recommended):** plain text you can read at a glance.\n⬜ **Off:** keep original formatting.",
                        "default": true
                    },
                    "startFromPostId": {
                        "title": "🔢 Start older than this post",
                        "type": "string",
                        "description": "📌 Optional **18-digit** post ID — we’ll load posts *older* than this. Don’t use together with **Pick up where you left off**."
                    },
                    "fetchSinglePostByIdOrUrl": {
                        "title": "🔗 Fetch one or more posts (ID or URL)",
                        "type": "array",
                        "description": "➕ Add post IDs or full Truth post links — one per line. When this list has items, **profile mode is skipped** and only these posts are saved.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Backup connection (Apify proxy)",
                        "type": "object",
                        "description": "🔐 If the site is picky about traffic, Apify can route through proxies you’ve enabled on your account. Totally optional for many runs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
