# Tiktok Profile Scraper (`scrapebase/tiktok-profile-scraper`) Actor

- **URL**: https://apify.com/scrapebase/tiktok-profile-scraper.md
- **Developed by:** [ScrapeBase](https://apify.com/scrapebase) (community)
- **Categories:** Automation, Lead generation, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### 🧠 TikTok Profile Scraper – Extract Complete TikTok User & Video Data Instantly

The TikTok Profile Scraper is a fast, reliable, and fully automated tool for extracting TikTok profile data, video details, and engagement analytics at scale. Whether you’re a marketer, data analyst, or researcher, this scraper helps you collect real-time TikTok profile and post information — no manual effort, no coding headaches.

Built using modern automation frameworks and available via Apify, Python, and GitHub, the TikTok Profile Scraper gives you instant access to structured data for influencer discovery, competitive research, trend analysis, and brand monitoring.

### 🚀 What Is TikTok Profile Scraper?

The TikTok Profile Scraper is a data extraction tool that collects public information from TikTok profiles and their posted videos. It scans and retrieves:

*   👤 User profile data — name, username, bio, follower/following count, region, and verification status  
      
    
*   🎥 Video information — captions, hashtags, engagement stats (likes, views, shares, comments)  
      
    
*   🎵 Music metadata — original sound info, artist name, track URL  
      
    
*   📅 Timestamp & analytics — post date, duration, and performance metrics  
      
    

Think of it as your personal TikTok profile scanner, delivering detailed datasets for influencer marketing, content insights, and trend monitoring — all while respecting TikTok’s scraping policy and public data terms.

### ⚙️ How TikTok Profile Scraper Works

You can scrape TikTok profiles using different platforms — including Apify, Python scripts, or GitHub open-source projects like tiktok-scraper.

Here’s how to use the Apify TikTok Profile Scraper online:

1.  Create a free Apify account  
      
    
2.  Open the TikTok Profile Scraper actor  
      
    
3.  Add usernames or profile URLs (e.g., @gordonramsayofficial)  
      
    
4.  Click “Start” to extract data  
      
    
5.  Download results as JSON, CSV, or Excel  
      
    

For developers, the tiktok profile scraper python script or GitHub version provides more flexibility to automate scraping and integrate with APIs or data pipelines.

### 🧩 Input Example (JSON):

```json
{
    "excludePinnedPosts": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "startUrls": [
        "https://www.tiktok.com/@mrbeast"
    ]
}
````

### 📦 Output Example

```json
{
    "text": "Cooking a pizza with powertools! ",
    "diggCount": 887300,
    "shareCount": 115100,
    "playCount": 17000000,
    "commentCount": 58900,
    "contentType": "video",
    "createTimeISO": "2025-09-23T16:49:52.000Z",
    "webVideoUrl": "https://www.tiktok.com/@mrbeast/video/7553327774983802143",
    "authorMeta.avatar": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/1e2348ca19d394037718e3b1d3fc2958~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=564c2f30&x-expires=1762513200&x-signature=ZN3mBCfYK2QkJU9gNq2HAYDN94A%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my3",
    "authorMeta.name": "mrbeast",
    "videoMeta.duration": 39,
    "musicMeta.musicName": "original sound",
    "musicMeta.musicAuthor": "MrBeast",
    "musicMeta.musicOriginal": true
  },
  {
    "text": "I just got punched by @Mike Tyson #CaneloCrawford #RiyadhSeason ",
    "diggCount": 998400,
    "shareCount": 78900,
    "playCount": 14800000,
    "commentCount": 37900,
    "contentType": "video",
    "createTimeISO": "2025-09-14T01:43:24.000Z",
    "webVideoUrl": "https://www.tiktok.com/@mrbeast/video/7549754449489595679",
    "authorMeta.avatar": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/1e2348ca19d394037718e3b1d3fc2958~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=564c2f30&x-expires=1762513200&x-signature=ZN3mBCfYK2QkJU9gNq2HAYDN94A%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my3",
    "authorMeta.name": "mrbeast",
    "videoMeta.duration": 22,
    "musicMeta.musicName": "original sound",
    "musicMeta.musicAuthor": "MrBeast",
    "musicMeta.musicOriginal": true
  },
```

### 💡 Features of TikTok Profile Scraper

| ⚙️ Feature | 🧾 Description |
| --- | --- |
| Profile Data Extraction | Get complete TikTok profile details (bio, region, verification, followers). |
| Video Analytics | Extract likes, views, shares, and comments for each video. |
| Hashtag & Sound Tracking | Collect hashtags and original sound info for trend research. |
| Batch Processing | Scrape multiple TikTok profiles at once. |
| JSON / CSV Output | Export structured datasets ready for automation tools and dashboards. |
| Python & API Integration | Works with tiktok-scraper libraries, REST APIs, or Apify actors. |
| No Proxy Setup | Runs smoothly online with built-in configuration. |
| 100% Public Data | Complies with TikTok’s public scraping policy — no private data extracted. |

***

### 🧠 Use Cases

#### 🎯 Influencer Marketing

Use the Apify TikTok Profile Scraper or Clockworks TikTok Profile Scraper to discover and evaluate influencers based on engagement metrics, niche, and follower growth.

#### 📈 Competitive Analysis

Compare multiple brand or creator accounts using the TikTok Profile Scraper GitHub version to track performance and posting frequency.

#### 🧬 Data Science & Trend Research

Extract profile datasets using the TikTok Video Scraper Python library to power analytics, sentiment analysis, and AI-driven influencer ranking.

#### 💼 Lead Generation

Find business profiles that include websites or emails in their bios — perfect for B2B outreach or PR campaigns.

***

### 🔍 Technical Details

| Parameter | Type | Description |
| --- | --- | --- |
| usernames | Array | TikTok usernames (without @ symbol) |
| startUrls | Array | Direct TikTok profile URLs |
| maxItems | Number | Limit the number of videos scraped per profile |
| since / until | Date | Filter videos within a time range |
| downloadVideos | Boolean | Optionally download video files |

✅ Tip: For better stability, scrape public profiles with at least 10 videos. Empty or private accounts won’t return data.

***

### ⚙️ Integration Options

- Apify: Use apify-client (Node.js or Python) to automate TikTok scraping workflows

- Python: Use the open-source tiktok-scraper library for full control over scripts

- GitHub: Fork and modify the TikTok Profile Scraper GitHub repository for custom automation

- Zapier / Make / Airbyte: Connect Apify datasets directly to your marketing or analytics stack

***

### ⚡ Comparison: TikTok Profile Scraper Tools

| Tool | Platform | Proxy-Free | Price / 1k Posts | Highlight |
| --- | --- | --- | --- | --- |
| Apify TikTok Profile Scraper | Apify Cloud | ✅ | $0.30 | Scalable, structured JSON export |
| Clockworks TikTok Profile Scraper | Clockworks | ❌ | Variable | Slower but customizable |
| Phantombuster TikTok Profile Scraper | Web App | ✅ | Subscription | Best for browser-based automation |
| TikTok-Scraper (GitHub) | Python / CLI | ✅ | Free | Open-source alternative |

***

### 🧠 TikTok Profile Settings & Scraping Policy

Before scraping, make sure the TikTok profiles are public and adhere to TikTok’s scraping policy.\
This scraper does not collect private information, hidden profile data, or anything behind login restrictions.

TikTok allows programmatic access to publicly visible content — such as bios, usernames, and engagement metrics — when used responsibly for research or marketing analytics.

***

### 🛠 Common Questions (FAQ)

#### 🟣 Can I use TikTok Profile Scraper for free?

Yes! You can use the TikTok Profile Scraper online free via the Apify platform with monthly free credits.

#### 🟣 Can I scrape TikTok profiles without login?

Absolutely. The scraper extracts public data without needing to log in to TikTok.

#### 🟣 Does it work with TikTok Shop or business profiles?

Yes, you can extract all public business or shop profiles, including bio links and product-related content.

#### 🟣 Can I automate scraping daily?

Yes — schedule runs with Apify or use a Python cron job for continuous monitoring.

#### 🟣 What about TikTok profile size or image?

Profile images and video thumbnails are included in the dataset. You can also extract profile picture URLs.

#### 🟣 Can you see if someone screenshots your TikTok profile?

No — TikTok doesn’t notify users if someone takes a screenshot of their profile.\
(Surprising? You’re safe during analysis 😉)

### 🧩 Related TikTok Scrapers

| 🧠 Scraper Type | Description |
| --- | --- |
| TikTok Video Scraper Python | Extracts TikTok videos with captions, likes, and hashtags |
| TikTok Hashtag Scraper | Scrapes videos by hashtag for trend tracking |
| TikTok Comments Scraper | Gathers comments for sentiment analysis |
| TikTok Data Extractor | All-in-one scraper for multi-profile research |

### 🧾 Legal & Ethical Notice

The TikTok Profile Scraper only extracts public data.\
It complies with GDPR and global data ethics standards — no private, restricted, or user-sensitive data is collected.

Always use TikTok scraping responsibly for research, analytics, or marketing purposes within ethical and legal boundaries.

### 💬 Final Thoughts

The TikTok Profile Scraper is your complete solution for extracting TikTok profile and video data — fast, structured, and scalable.\
Whether through Apify, Python, or GitHub, it helps creators, brands, and analysts turn public TikTok data into actionable insights.

# Actor input Schema

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

📝 Add TikTok usernames you want to scrape (one per line). Examples: mrbeast\nkhaby.lame\ncharlidamelio

## `profileScrapeSections` (type: `array`):

🎯 Choose which content to scrape: Videos (original posts) or Reposts. Select 'Reposts' to include reposted content from profiles.

## `profileSorting` (type: `string`):

📊 Choose how videos are sorted: Latest (newest first) 🆕 | Popular (most liked) 🔥 | Oldest (oldest first) 📜

⚠️ Note: Date filters work only with Latest and Oldest. Sorting applies to Videos section only.

## `resultsPerPage` (type: `integer`):

🎯 Set the maximum number of posts to scrape from each profile. Higher numbers = more data but longer processing time.

## `oldestPostDateUnified` (type: `string`):

🗓️ Set the earliest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 7 = last 7 days)

## `newestPostDate` (type: `string`):

🗓️ Set the latest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 0 = today)

## `mostDiggs` (type: `integer`):

🎯 Scrape only videos with fewer hearts than this number. Perfect for finding less popular content.

⚠️ Note: This filter doesn't work when date filters are enabled.

## `leastDiggs` (type: `integer`):

🔥 Scrape only videos with at least this many hearts. Great for finding viral or popular content.

⚠️ Note: This filter doesn't work when date filters are enabled.

## `excludePinnedPosts` (type: `boolean`):

✅ Enable this to skip pinned posts (usually the first videos displayed on a profile). Useful for avoiding duplicate or promotional content.

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

🛡️ Configure proxy settings for secure scraping. Automatically falls back to residential proxies if requests are blocked.

## Actor input object example

```json
{
  "profiles": [
    "mrbeast"
  ],
  "profileScrapeSections": [
    "videos"
  ],
  "profileSorting": "latest",
  "resultsPerPage": 20,
  "excludePinnedPosts": false,
  "proxyConfiguration": {
    "useApifyProxy": 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": [
        "mrbeast"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapebase/tiktok-profile-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": ["mrbeast"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapebase/tiktok-profile-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": [
    "mrbeast"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapebase/tiktok-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tiktok Profile Scraper",
        "version": "0.1",
        "x-build-id": "6yLmVXfHg3LTeIIWj"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapebase~tiktok-profile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapebase-tiktok-profile-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/scrapebase~tiktok-profile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapebase-tiktok-profile-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/scrapebase~tiktok-profile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapebase-tiktok-profile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "profiles"
                ],
                "properties": {
                    "profiles": {
                        "title": "👤 TikTok Profile(s) to Scrape",
                        "type": "array",
                        "description": "📝 Add TikTok usernames you want to scrape (one per line). Examples: mrbeast\\nkhaby.lame\\ncharlidamelio",
                        "items": {
                            "type": "string"
                        }
                    },
                    "profileScrapeSections": {
                        "title": "📂 Content Sections to Scrape",
                        "type": "array",
                        "description": "🎯 Choose which content to scrape: Videos (original posts) or Reposts. Select 'Reposts' to include reposted content from profiles.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "videos",
                                "reposts"
                            ]
                        },
                        "default": [
                            "videos"
                        ]
                    },
                    "profileSorting": {
                        "title": "🔀 Video Sorting Order",
                        "enum": [
                            "latest",
                            "popular",
                            "oldest"
                        ],
                        "type": "string",
                        "description": "📊 Choose how videos are sorted: Latest (newest first) 🆕 | Popular (most liked) 🔥 | Oldest (oldest first) 📜\n\n⚠️ Note: Date filters work only with Latest and Oldest. Sorting applies to Videos section only.",
                        "default": "latest"
                    },
                    "resultsPerPage": {
                        "title": "📊 Maximum Posts per Profile",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🎯 Set the maximum number of posts to scrape from each profile. Higher numbers = more data but longer processing time.",
                        "default": 20
                    },
                    "oldestPostDateUnified": {
                        "title": "📅 Start Date - Videos Published After",
                        "type": "string",
                        "description": "🗓️ Set the earliest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 7 = last 7 days)"
                    },
                    "newestPostDate": {
                        "title": "📅 End Date - Videos Published Before",
                        "type": "string",
                        "description": "🗓️ Set the latest date for videos to scrape. Use Absolute tab for specific dates (YYYY-MM-DD) or Relative tab for days ago (e.g., 0 = today)"
                    },
                    "mostDiggs": {
                        "title": "❤️ Maximum Hearts Filter (<)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🎯 Scrape only videos with fewer hearts than this number. Perfect for finding less popular content.\n\n⚠️ Note: This filter doesn't work when date filters are enabled."
                    },
                    "leastDiggs": {
                        "title": "❤️ Minimum Hearts Filter (≥)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔥 Scrape only videos with at least this many hearts. Great for finding viral or popular content.\n\n⚠️ Note: This filter doesn't work when date filters are enabled."
                    },
                    "excludePinnedPosts": {
                        "title": "📌 Exclude Pinned Posts",
                        "type": "boolean",
                        "description": "✅ Enable this to skip pinned posts (usually the first videos displayed on a profile). Useful for avoiding duplicate or promotional content.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "🔒 Proxy & Security Settings",
                        "type": "object",
                        "description": "🛡️ Configure proxy settings for secure scraping. Automatically falls back to residential proxies if requests are blocked."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
