# Threads Profile & Post Scraper (`headlessagent/thread-profile-post-scraper`) Actor

Scrape Thread profiles and posts. Get clean JSON with profile stats, media URLs, and more.

- **URL**: https://apify.com/headlessagent/thread-profile-post-scraper.md
- **Developed by:** [Headless Agent](https://apify.com/headlessagent) (community)
- **Categories:** Social media, Videos, Developer tools
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.90 / 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.

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

## Threads Profile & Post Scraper

Scrape Threads (threads.com) **user profiles** and **posts** — no API key or login required. Get clean, formatted JSON with only the important fields. Supports usernames and post URLs as input.

### 🤔 What can Threads Profile & Post Scraper do?

This Actor lets you **extract public data from Threads profiles and posts** in one place. Just provide usernames or post URLs and get structured results:

👤 Scrape **any public Threads profile** — bio, followers, verification status, profile tags, and more

📝 Extract **post data** — text, images, videos, carousels, engagement stats

📊 Get **full statistics** — likes, replies, reposts, quotes, reshares

🧵 Get **thread chains** — multi-post self-reply threads are grouped together

🔗 Get **related posts** — when scraping a single post, get algorithmically related posts

🎠 Get **carousel media** — all images and videos in carousel posts with direct URLs

📦 Download results in **JSON, CSV, XML, or Excel** from the Apify Dataset

🦾 Integrate via **API, webhooks, SDKs** (Python & Node.js), or connect with tools like Zapier, n8n, Make, and more

### ✅ What data can I scrape from Threads?

#### From profiles:

- 👤 Username, full name, biography
- 🖼️ Profile picture URL (highest resolution)
- 📊 Follower count
- ✅ Verification status, private account status
- 🏷️ Profile tags (e.g. "AI Threads", "UFC Threads", "MMA")
- 🔗 Bio links
- 📝 All recent posts (text, image, video, carousel)

#### From posts:

- 🆔 Post ID, shortcode, URL
- 📝 Text content
- 🎬 Media type (text, image, video, carousel)
- 📊 Engagement stats — likes, replies, reposts, quotes, reshares
- 🖼️ Image URLs, video URLs (direct CDN links)
- 🎠 Carousel items with individual media
- 👤 Author info
- 💬 Reply metadata (is_reply, reply_to_author)
- 🔗 Related/recommended posts

### 🔧 How to scrape data from Threads

1. [Create](https://console.apify.com/sign-up) a free Apify account.
2. Open Threads Profile & Post Scraper.
3. Add **usernames** and/or **post URLs** — use any combination.
4. Optionally set a **proxy URL** to avoid rate limiting.
5. Click **Save & Start** and wait for the data to be extracted.
6. Download your data in JSON, CSV, XML, Excel, or access it via API.

### ⬇️ Input

All fields are optional, but **at least one must be provided**. You can use them independently or together in a single run.

| Field | Type | Description |
|-------|------|-------------|
| `usernames` | `string[]` | Threads usernames or profile URLs (e.g. `zuck`, `@zuck`, or `https://www.threads.com/@zuck`) |
| `postUrls` | `string[]` | Threads post URLs (e.g. `https://www.threads.com/@zuck/post/DQEmdfkkSNE`) |
| `proxy` | `string` | Optional proxy URL (`http://` or `socks5://` format) |

#### Example input

```json
{
    "usernames": ["zuck"],
    "postUrls": [
        "https://www.threads.com/@zuck/post/DQEmdfkkSNE"
    ],
    "proxy": "http://user:pass@host:port"
}
````

### ⬆️ Output

Results are pushed to the Apify Dataset. Each item has a `type` field (`"profile"` or `"post"`) so you can easily filter and process them. You can export data in JSON, CSV, XML, Excel, or access it programmatically via the Apify API.

- **Profile results**: 1 dataset item per username, containing the profile info and all scraped posts.
- **Post results**: 1 dataset item per post URL, containing the post and related/recommended posts.

#### 👤 Profile data sample

```json
{
    "type": "profile",
    "profile": {
        "id": "63055343223",
        "username": "zuck",
        "full_name": "Mark Zuckerberg",
        "biography": "Mostly superintelligence and MMA takes",
        "profile_pic_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-19/..._n.jpg?...",
        "is_verified": true,
        "is_private": false,
        "follower_count": 5454312,
        "profile_tags": [
            {
                "name": "aithreads",
                "display_name": "AI Threads",
                "is_community": false
            },
            {
                "name": "ufcthreads",
                "display_name": "UFC Threads",
                "is_community": false
            }
        ]
    },
    "posts": [
        {
            "id": "3870872187813562164",
            "code": "DW4Gb79kQc0",
            "url": "https://www.threads.com/@zuck/post/DW4Gb79kQc0",
            "user": {
                "id": "63055343223",
                "username": "zuck",
                "full_name": "Mark Zuckerberg",
                "profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
                "is_verified": true,
                "is_private": false
            },
            "text": "Today we're sharing our new model family, Muse, and releasing our first model, Spark. You can try them in Meta AI.",
            "media_type": "text",
            "created_at": "2026-04-08T15:59:05+00:00",
            "taken_at": 1775663945,
            "like_count": 2632,
            "reply_count": 481,
            "repost_count": 190,
            "quote_count": 55,
            "reshare_count": 338,
            "original_width": 612,
            "original_height": 612,
            "is_reply": false,
            "reply_control": "everyone",
            "self_thread_count": 0,
            "is_pinned": false,
            "caption_is_edited": false,
            "like_and_view_counts_disabled": false
        },
        {
            "id": "3849384441660167347",
            "code": "DVrwsE5EdSz",
            "url": "https://www.threads.com/@zuck/post/DVrwsE5EdSz",
            "user": {
                "id": "63055343223",
                "username": "zuck",
                "full_name": "Mark Zuckerberg",
                "profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
                "is_verified": true,
                "is_private": false
            },
            "text": "Meanwhile at Meta HQ",
            "media_type": "image",
            "created_at": "2026-03-10T00:26:46+00:00",
            "taken_at": 1773102406,
            "like_count": 7137,
            "reply_count": 1057,
            "repost_count": 209,
            "quote_count": 53,
            "reshare_count": 509,
            "image_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-15/..._n.webp?...",
            "original_width": 1200,
            "original_height": 1600,
            "alt_text": "May be a selfie of text that says \"BOA\"",
            "is_reply": false,
            "reply_control": "everyone",
            "self_thread_count": 0,
            "is_pinned": false,
            "caption_is_edited": false,
            "like_and_view_counts_disabled": false
        },
        {
            "thread_chain": [
                {
                    "id": "3808602590024938729",
                    "code": "DTa3-B1EbTp",
                    "url": "https://www.threads.com/@zuck/post/DTa3-B1EbTp",
                    "text": "Today we're establishing a new top-level initiative called Meta Compute...",
                    "media_type": "text",
                    "is_reply": false,
                    "like_count": 2835,
                    "...": "..."
                },
                {
                    "id": "3808602587877435385",
                    "code": "DTa39_1EWf5",
                    "url": "https://www.threads.com/@zuck/post/DTa39_1EWf5",
                    "text": "Santosh will continue to lead our technical architecture...",
                    "media_type": "text",
                    "is_reply": true,
                    "reply_to_author": {
                        "username": "zuck",
                        "id": "63055343223"
                    },
                    "like_count": 943,
                    "...": "..."
                }
            ]
        }
    ]
}
```

#### 📝 Post data sample

```json
{
    "type": "post",
    "post": {
        "id": "3748289942410830660",
        "code": "DQEmdfkkSNE",
        "url": "https://www.threads.com/@zuck/post/DQEmdfkkSNE",
        "user": {
            "id": "63055343223",
            "username": "zuck",
            "full_name": "Mark Zuckerberg",
            "profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
            "is_verified": true,
            "is_private": false
        },
        "text": "Oakley Meta Vanguard glasses just landed. Available now -- let's go! \ud83d\udd25",
        "media_type": "carousel",
        "created_at": "2025-10-21T12:50:02+00:00",
        "taken_at": 1761051002,
        "like_count": 9149,
        "reply_count": 1328,
        "repost_count": 281,
        "quote_count": 56,
        "reshare_count": 401,
        "image_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-15/..._n.webp?...",
        "original_width": 1365,
        "original_height": 2048,
        "alt_text": "No photo description available.",
        "carousel": [
            {
                "media_type": "image",
                "image_url": "https://instagram.f...n.fbcdn.net/..._n.webp?...",
                "original_width": 1365,
                "original_height": 2048,
                "alt_text": "No photo description available."
            },
            {
                "media_type": "image",
                "image_url": "https://instagram.f...n.fbcdn.net/..._n.webp?...",
                "original_width": 1561,
                "original_height": 1249,
                "alt_text": "No photo description available."
            },
            {
                "media_type": "video",
                "image_url": "https://instagram.f...n.fbcdn.net/..._n.jpg?...",
                "original_width": 1076,
                "original_height": 1348,
                "video_url": "https://instagram.f...n.fbcdn.net/o1/v/t16/f2/m69/...mp4?...",
                "has_audio": true
            }
        ],
        "is_reply": false,
        "reply_control": "everyone",
        "self_thread_count": 0,
        "is_pinned": false,
        "caption_is_edited": false,
        "like_and_view_counts_disabled": false
    },
    "related_posts": [
        {
            "id": "3865049044132824548",
            "code": "DWjaaCzAAXk",
            "url": "https://www.threads.com/@oakleymeta/post/DWjaaCzAAXk",
            "user": {
                "username": "oakleymeta",
                "full_name": "Oakley | Meta",
                "is_verified": true
            },
            "text": "JUST ANNOUNCED: New Oakley Meta HSTN and Vanguard colorways and lenses...",
            "media_type": "carousel",
            "like_count": 101,
            "reply_count": 10,
            "...": "..."
        },
        {
            "id": "3860522526116939146",
            "code": "DWTVMiYmAWK",
            "url": "https://www.threads.com/@thetriworld/post/DWTVMiYmAWK",
            "user": {
                "username": "thetriworld",
                "full_name": "TriWorld Sports",
                "is_verified": false
            },
            "text": "Oakley Neoforma - Matte Carbon with Prizm 24K Polarized Lens...",
            "media_type": "video",
            "like_count": 0,
            "...": "..."
        }
    ]
}
```

#### 📋 Output fields explained

**Profile fields:**

| Field | Description |
|-------|-------------|
| `profile.username` | Threads username |
| `profile.full_name` | Display name |
| `profile.biography` | Bio text |
| `profile.profile_pic_url` | Highest resolution profile picture URL |
| `profile.is_verified` | Whether the account has a verification badge |
| `profile.is_private` | Whether the account is private |
| `profile.follower_count` | Number of followers |
| `profile.profile_tags` | Tags shown on the profile (e.g. "AI Threads", "MMA") |
| `posts` | Array of posts — single posts are flat objects, self-reply threads are `{ "thread_chain": [...] }` |

**Post fields:**

| Field | Description |
|-------|-------------|
| `id` | Internal post ID |
| `code` | Post shortcode (used in URL) |
| `url` | Direct link to the post |
| `user` | Author info (username, full\_name, profile\_pic\_url, is\_verified, is\_private) |
| `text` | Post text content |
| `media_type` | One of: `text`, `image`, `video`, `carousel` |
| `created_at` | ISO 8601 timestamp |
| `taken_at` | Unix timestamp |
| `like_count` | Number of likes |
| `reply_count` | Number of replies |
| `repost_count` | Number of reposts |
| `quote_count` | Number of quote posts |
| `reshare_count` | Number of reshares |
| `image_url` | Direct image CDN URL (for image/carousel posts) |
| `video_url` | Direct video CDN URL (for video posts) |
| `carousel` | Array of carousel items, each with `media_type`, `image_url`, `video_url` |
| `is_reply` | Whether this post is a reply |
| `reply_to_author` | Author of the post being replied to (if `is_reply` is true) |

### 🔗 Integrations

You can connect Threads Profile & Post Scraper with almost any cloud service or web app through [Apify integrations](https://apify.com/integrations). Connect with **Zapier, n8n, Make, Slack, Google Sheets, Google Drive, Airbyte, GitHub**, and many more.

You can also use [webhooks](https://docs.apify.com/integrations/webhooks) to trigger actions whenever a run finishes — for example, getting a notification or automatically processing the scraped data.

### 🦾 Using the Apify API

The Apify [API](https://docs.apify.com/api/v2) gives you programmatic access to Threads Profile & Post Scraper. You can start runs, fetch datasets, monitor execution, and integrate the scraper into your own workflows.

- **Python**: Use the [`apify-client`](https://pypi.org/project/apify-client/) PyPI package
- **Node.js**: Use the [`apify-client`](https://www.npmjs.com/package/apify-client) NPM package

### ❓ FAQ

#### Can I scrape multiple profiles and posts in one run?

Yes. Both input fields (`usernames`, `postUrls`) accept arrays. You can provide multiple items in each field, and even use both fields together in a single run. Each result will have a `type` field so you can tell them apart.

#### What are thread chains?

When a user replies to their own post (a self-reply thread), the scraper groups these posts together as a `thread_chain` array within the `posts` output. Single posts that aren't part of a thread are returned as flat objects.

#### What format is the `created_at` timestamp?

`created_at` is an ISO 8601 formatted string (e.g. `"2026-04-08T15:59:05+00:00"`). The `taken_at` field contains the same timestamp as a Unix timestamp (seconds since epoch).

#### What media types are supported?

The scraper detects four media types based on actual post content:

- `text` — text-only posts (no media)
- `image` — posts with a single image
- `video` — posts with a video
- `carousel` — posts with multiple images/videos

#### Does the scraper work with private accounts?

No. The scraper can only extract data from **public Threads accounts**. Private profiles will not return profile data, and posts from private accounts are not accessible.

#### Can I use a proxy?

Yes. The optional `proxy` input field accepts HTTP and SOCKS5 proxy URLs. This is useful to avoid rate limiting or IP blocks when scraping at higher volumes.

#### What username formats are accepted?

All of the following formats work:

- `zuck`
- `@zuck`
- `https://www.threads.com/@zuck`

#### Is it legal to scrape Threads?

This scraper only extracts publicly available data. It does not access private accounts, login credentials, or any data behind authentication. However, scraped results could contain personal data protected by [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) and other regulations. Ensure you have a legitimate reason for scraping and consult legal counsel if unsure. See also Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

# Actor input Schema

## `usernames` (type: `array`):

List of Threads usernames or profile URLs to scrape.

## `postUrls` (type: `array`):

List of Threads post URLs (e.g. https://www.threads.com/@zuck/post/DQEmdfkkSNE).

## `proxy` (type: `string`):

Optional proxy URL (e.g. http://user:pass@host:port or socks5://user:pass@host:port). Useful to avoid rate limiting.

## Actor input object example

```json
{
  "usernames": [
    "zuck"
  ],
  "postUrls": [
    "https://www.threads.com/@zuck/post/DQEmdfkkSNE"
  ]
}
```

# 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 = {
    "usernames": [
        "zuck"
    ],
    "postUrls": [
        "https://www.threads.com/@zuck/post/DQEmdfkkSNE"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("headlessagent/thread-profile-post-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 = {
    "usernames": ["zuck"],
    "postUrls": ["https://www.threads.com/@zuck/post/DQEmdfkkSNE"],
}

# Run the Actor and wait for it to finish
run = client.actor("headlessagent/thread-profile-post-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 '{
  "usernames": [
    "zuck"
  ],
  "postUrls": [
    "https://www.threads.com/@zuck/post/DQEmdfkkSNE"
  ]
}' |
apify call headlessagent/thread-profile-post-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Threads Profile & Post Scraper",
        "description": "Scrape Thread profiles and posts. Get clean JSON with profile stats, media URLs, and more.",
        "version": "1.0",
        "x-build-id": "HwiOwXECxMq34sSBb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/headlessagent~thread-profile-post-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-headlessagent-thread-profile-post-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/headlessagent~thread-profile-post-scraper/runs": {
            "post": {
                "operationId": "runs-sync-headlessagent-thread-profile-post-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/headlessagent~thread-profile-post-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-headlessagent-thread-profile-post-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": {
                    "usernames": {
                        "title": "Usernames",
                        "type": "array",
                        "description": "List of Threads usernames or profile URLs to scrape.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "postUrls": {
                        "title": "Post URLs",
                        "type": "array",
                        "description": "List of Threads post URLs (e.g. https://www.threads.com/@zuck/post/DQEmdfkkSNE).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxy": {
                        "title": "Proxy URL",
                        "type": "string",
                        "description": "Optional proxy URL (e.g. http://user:pass@host:port or socks5://user:pass@host:port). Useful to avoid rate limiting."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
