# TikTok Video Scraper 🎵 (`premiumscraper/tiktok-video-scraper`) Actor

🎵 TikTok Video Scraper extracts watermark-free & watermarked video download URLs, photo slideshow carousels, audio tracks, post text, author profiles, follower stats, engagement counts, hashtags, closed caption transcriptions, and technical media metadata with permanent Key-Value download links.

- **URL**: https://apify.com/premiumscraper/tiktok-video-scraper.md
- **Developed by:** [Premium Scraper](https://apify.com/premiumscraper) (community)
- **Categories:** Social media, Videos, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 post scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Video Scraper - Complete Media & Metadata Extraction ⚡

The **TikTok Video Scraper** is the ultimate solution for extracting complete post data, downloading HD media files, and analyzing technical media parameters directly from TikTok links. Designed for creators, researchers, brand analysts, and automation developers, this **TikTok Video Scraper** operates seamlessly without requiring a TikTok account, user login, or browser setup.

Whether you need a reliable **TikTok Video Scraper** for trend analysis, content archival, or bulk media downloading, this Actor delivers industry-leading speed, accuracy, and data depth.

---

### 🌟 Why Choose This TikTok Video Scraper?

Compared to basic scrapers that return expiring temporary links, this **TikTok Video Scraper** stands out with premium features:

* 💾 **Permanent Non-Expiring Download URLs:** TikTok CDN links expire within hours. This **TikTok Video Scraper** saves media directly to Apify Key-Value Storage, generating permanent public download links via the Apify API.
* 🎥 **Dual Video Download Support:** The **TikTok Video Scraper** extracts both **Watermark-Free HD Video** (`kvs_video_url_no_watermark`) and **Watermarked Video** (`kvs_video_url_watermarked`) in a single run.
* 📸 **Full Photo Slideshow Carousel Extraction:** For photo posts, this **TikTok Video Scraper** downloads every individual high-resolution image in the carousel (`photo_1.jpg`, `photo_2.jpg`, etc.) with permanent download URLs.
* 🎵 **Background Music Track Extraction:** Download original audio tracks (`music.mp3`) directly into storage with permanent download links using this **TikTok Video Scraper**.
* 🗣️ **Closed Caption & Video Transcription Support:** When captions are available, this **TikTok Video Scraper** extracts complete video transcriptions (`subtitleInfos`), including language codes, WebVTT subtitle links, and auto-generated speech recognition data.
* 🔬 **Ultra-Deep Technical Media Metadata:** Turn on technical analysis in the **TikTok Video Scraper** to extract video resolution, FPS, bitrate, pixel format, audio sample rates, channel layouts, bit depths, stream disposition flags, and embedded ID3 tags.
* 🌐 **Smart Country Proxy Routing:** This **TikTok Video Scraper** automatically routes requests through residential proxies with custom exit country selection (US, UK, CA, DE, FR, JP, and more) plus self-healing failover.
* 💸 **Fair & Unified Billing Architecture:** The **TikTok Video Scraper** features transparent Pay Per Event (PPE) charging—never double-charging for dual video metadata extraction.

---

### 🎛️ Input Parameters & Filter Buttons

The **TikTok Video Scraper** provides flexible, user-friendly control options to customize your scrape:

| Input Control | Type | Description |
| :--- | :--- | :--- |
| **Target URLs (`urls`)** | Array | List of TikTok post links, video URLs, slideshow links, or short redirect URLs processed by the **TikTok Video Scraper**. |
| **Key-Value Store Name (`keyValueStorePrefix`)** | String | Set a custom name for your storage bucket in the **TikTok Video Scraper** (e.g. `Cristiano`). Only letters, numbers, hyphens, and underscores allowed (max 63 chars). |
| **Store Video (`storeVideo`)** | Boolean | Toggle ON in the **TikTok Video Scraper** to save Watermark-Free & Watermarked videos into storage with permanent download URLs. |
| **Store Music (`storeMusic`)** | Boolean | Toggle ON in the **TikTok Video Scraper** to save background audio tracks into storage with permanent download URLs. |
| **Store Photos (`storePhotos`)** | Boolean | Toggle ON in the **TikTok Video Scraper** to save slideshow carousel photos into storage with permanent download URLs. |
| **Video Technical Metadata (`includeVideoMetadata`)** | Boolean | Toggle ON in the **TikTok Video Scraper** to extract technical video parameters (resolution, FPS, codec, bitrate). |
| **Music Technical Metadata (`includeMusicMetadata`)** | Boolean | Toggle ON in the **TikTok Video Scraper** to extract technical audio parameters (sample rate, bit depth, channel layout, ID3 tags). |
| **Proxy Exit Country (`proxyCountry`)** | Select | Choose proxy location (CA, US, GB, DE, FR, JP, AU, etc.) for localized scraping in the **TikTok Video Scraper**. |

---

### 📊 Comprehensive Data Fields Extracted by TikTok Video Scraper

Every dataset record produced by the **TikTok Video Scraper** contains rich, structured information across multiple data layers:

#### 1. 📌 Post Overview & Metadata
* `serial`: Processed item index.
* `input_url`: Original link supplied to the **TikTok Video Scraper**.
* `id`: Unique TikTok post ID.
* `title` / `description`: Full caption and text content of the post.
* `clean_url`: Normalized canonical post link.
* `content_type`: Identifies `video` vs `photo` slideshow content.
* `created` & `created_timestamp`: Human-readable UTC timestamp and UNIX timestamp.
* `location`: Regional origin code (e.g. `US`, `BD`, `CA`).

#### 2. 👤 Author Profile Information
* `id` & `secUid`: Unique author identifier tokens.
* `uniqueId` & `nickname`: TikTok handle (e.g. `@username`) and display nickname.
* `avatarLarger`, `avatarMedium`, `avatarThumb`: Profile picture links in multiple resolutions.
* `signature`: Creator's profile bio text.
* `verified`: Verification status boolean.
* `followerCount`, `followingCount`, `heartCount`, `videoCount`: Complete creator profile statistics.

#### 3. 📈 Engagement & Performance Statistics
* `likes` (`diggCount`): Total like count.
* `comments` (`commentCount`): Total comment count.
* `shares` (`shareCount`): Total share count.
* `plays` (`playCount`): Total video view count.
* `saves` (`collectCount`): Total bookmark/save count.

#### 4. 📁 Permanent Media Download Links
* `kvs_video_url_no_watermark`: Permanent download link for Watermark-Free HD Video.
* `kvs_video_url_watermarked`: Permanent download link for Watermarked Video.
* `kvs_download_url` (Photos): Permanent download link for each individual photo image in slideshow carousels.
* `kvs_download_url` (Music): Permanent download link for the background audio track.

#### 5. 🗣️ Subtitles & Video Transcriptions (`subtitleInfos`)
* `LanguageID` & `LanguageCodeName`: Caption language code (e.g. `eng-US`, `ben-BD`).
* `Url`: Direct WebVTT subtitle transcription file link.
* `Format`: Subtitle format (`webvtt`).
* `Source`: Caption generation engine type (`ASR` auto-speech recognition or `MT` machine translation).
* `Size` & `Version`: Transcription payload size and model version.

#### 6. 🔬 Technical Video & Audio Metadata
* **Video Technical Parameters (`video_no_watermark_additional_metadata`, `video_watermarked_additional_metadata`):** File size (`file_size_mb`, `file_size_bytes`), format name, duration, total bitrate, video resolution (`width` x `height`), frame rate (`fps`), aspect ratio, pixel format (`yuv420p`), codec name (`h264`), profile, and audio stream parameters.
* **Audio Technical Parameters (`music_additional_metadata`):** Audio sample rate (`sample_rate_hz`), sample format (`fltp`), bit depth (`bits_per_sample`), channel count (`channels`), channel layout (`stereo`), bitrate (`bit_rate_kbps`), encoder name, stream disposition flags, and embedded ID3 tags (`title`, `artist`, `album`, `date`).

---

### 🚀 Get Started with TikTok Video Scraper

Automate your TikTok data collection with the fastest and most comprehensive **TikTok Video Scraper** on Apify. Enter your target TikTok links, choose your storage preferences, and extract rich data effortlessly!

# Actor input Schema

## `urls` (type: `array`):

Enter TikTok URLs (one per line). Supports both redirect mobile URLs and full post links.
## `proxyCountry` (type: `string`):

Choose the residential proxy exit country for public requests.
## `keyValueStorePrefix` (type: `string`):

Enter a custom Key-Value Store Name (e.g. `Cristiano` or `my-store_1`). ⚠️ RULES: Only letters (a-z, A-Z), numbers (0-9), hyphens (-), and underscores (_) allowed (max 63 chars). Spaces and special characters (!@#$) are NOT allowed. Unsupported names log a warning and fall back to default unnamed storage.
## `storeVideo` (type: `boolean`):

If ON, downloads both Watermark-Free and Watermarked videos to Apify Key-Value Storage and returns permanent, non-expiring public download URLs (`kvs_video_url_no_watermark`, `kvs_video_url_watermarked`). Original expiring TikTok CDN video links are excluded. If OFF, media is not saved to storage, keeping raw expiring CDN links in output.
## `storeMusic` (type: `boolean`):

If ON, downloads the background music track to Apify Key-Value Storage and returns a permanent, non-expiring public download URL (`kvs_download_url`). Original expiring audio CDN playUrl is excluded. If OFF, audio is not saved to storage.
## `storePhotos` (type: `boolean`):

If ON, downloads all photo slideshow carousel images to Apify Key-Value Storage and returns permanent, non-expiring public download URLs for every photo. Original expiring image CDN links are excluded. If OFF, photos are not saved.
## `includeVideoMetadata` (type: `boolean`):

Extract advanced video parameters (codec name, width, height, resolution, fps, bitrate, container format) and save under `video_additional_metadata`. ⚠️ Only works when 'Store Video in Storage' is ON.
## `includeMusicMetadata` (type: `boolean`):

Extract advanced audio parameters (codec name, sample rate, audio channels, bitrate, duration) and save under `music_additional_metadata`. ⚠️ Only works when 'Store Music in Storage' is ON.

## Actor input object example

```json
{
  "urls": [
    "https://www.tiktok.com/@pabeluddin12/video/7659612890391055636?q=cr7&t=1783930806642",
    "https://www.tiktok.com/@hridoyahmedno.1/video/7659349345678019861?q=cr7",
    "https://www.tiktok.com/@mr.tauheed00/photo/7661845637473783047?lang=en-GB"
  ],
  "proxyCountry": "CA",
  "storeVideo": true,
  "storeMusic": true,
  "storePhotos": true,
  "includeVideoMetadata": false,
  "includeMusicMetadata": 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 = {
    "urls": [
        "https://www.tiktok.com/@pabeluddin12/video/7659612890391055636?q=cr7&t=1783930806642",
        "https://www.tiktok.com/@hridoyahmedno.1/video/7659349345678019861?q=cr7",
        "https://www.tiktok.com/@mr.tauheed00/photo/7661845637473783047?lang=en-GB"
    ],
    "proxyCountry": "CA",
    "keyValueStorePrefix": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("premiumscraper/tiktok-video-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 = {
    "urls": [
        "https://www.tiktok.com/@pabeluddin12/video/7659612890391055636?q=cr7&t=1783930806642",
        "https://www.tiktok.com/@hridoyahmedno.1/video/7659349345678019861?q=cr7",
        "https://www.tiktok.com/@mr.tauheed00/photo/7661845637473783047?lang=en-GB",
    ],
    "proxyCountry": "CA",
    "keyValueStorePrefix": "",
}

# Run the Actor and wait for it to finish
run = client.actor("premiumscraper/tiktok-video-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 '{
  "urls": [
    "https://www.tiktok.com/@pabeluddin12/video/7659612890391055636?q=cr7&t=1783930806642",
    "https://www.tiktok.com/@hridoyahmedno.1/video/7659349345678019861?q=cr7",
    "https://www.tiktok.com/@mr.tauheed00/photo/7661845637473783047?lang=en-GB"
  ],
  "proxyCountry": "CA",
  "keyValueStorePrefix": ""
}' |
apify call premiumscraper/tiktok-video-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Video Scraper 🎵",
        "description": "🎵 TikTok Video Scraper extracts watermark-free & watermarked video download URLs, photo slideshow carousels, audio tracks, post text, author profiles, follower stats, engagement counts, hashtags, closed caption transcriptions, and technical media metadata with permanent Key-Value download links.",
        "version": "1.0",
        "x-build-id": "a2ArK29FXU6g0hcSD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/premiumscraper~tiktok-video-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-premiumscraper-tiktok-video-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/premiumscraper~tiktok-video-scraper/runs": {
            "post": {
                "operationId": "runs-sync-premiumscraper-tiktok-video-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/premiumscraper~tiktok-video-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-premiumscraper-tiktok-video-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": {
                    "urls": {
                        "title": "TikTok Video / Photo URLs",
                        "type": "array",
                        "description": "Enter TikTok URLs (one per line). Supports both redirect mobile URLs and full post links.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyCountry": {
                        "title": "🌍 Proxy Exit Country",
                        "enum": [
                            "US",
                            "GB",
                            "AU",
                            "CA",
                            "DE",
                            "FR",
                            "NL",
                            "IT",
                            "ES",
                            "SE",
                            "NO",
                            "DK",
                            "FI",
                            "BE",
                            "AT",
                            "CH",
                            "IE",
                            "PL",
                            "PT",
                            "CZ",
                            "HU",
                            "RO",
                            "GR",
                            "JP",
                            "KR",
                            "SG",
                            "IN",
                            "BD",
                            "PK",
                            "ID",
                            "PH",
                            "VN",
                            "TH",
                            "MY",
                            "AE",
                            "SA",
                            "EG",
                            "ZA",
                            "NG",
                            "BR",
                            "MX",
                            "AR",
                            "CL",
                            "CO",
                            "PE",
                            "NZ",
                            "TR"
                        ],
                        "type": "string",
                        "description": "Choose the residential proxy exit country for public requests.",
                        "default": "CA"
                    },
                    "keyValueStorePrefix": {
                        "title": "🏷️ Key-Value Store Name / Prefix",
                        "type": "string",
                        "description": "Enter a custom Key-Value Store Name (e.g. `Cristiano` or `my-store_1`). ⚠️ RULES: Only letters (a-z, A-Z), numbers (0-9), hyphens (-), and underscores (_) allowed (max 63 chars). Spaces and special characters (!@#$) are NOT allowed. Unsupported names log a warning and fall back to default unnamed storage."
                    },
                    "storeVideo": {
                        "title": "💾 Store Video in Storage (Permanent Download Links)",
                        "type": "boolean",
                        "description": "If ON, downloads both Watermark-Free and Watermarked videos to Apify Key-Value Storage and returns permanent, non-expiring public download URLs (`kvs_video_url_no_watermark`, `kvs_video_url_watermarked`). Original expiring TikTok CDN video links are excluded. If OFF, media is not saved to storage, keeping raw expiring CDN links in output.",
                        "default": true
                    },
                    "storeMusic": {
                        "title": "🎵 Store Music in Storage (Permanent Audio Link)",
                        "type": "boolean",
                        "description": "If ON, downloads the background music track to Apify Key-Value Storage and returns a permanent, non-expiring public download URL (`kvs_download_url`). Original expiring audio CDN playUrl is excluded. If OFF, audio is not saved to storage.",
                        "default": true
                    },
                    "storePhotos": {
                        "title": "📸 Store Slideshow Photos in Storage (Permanent Image Links)",
                        "type": "boolean",
                        "description": "If ON, downloads all photo slideshow carousel images to Apify Key-Value Storage and returns permanent, non-expiring public download URLs for every photo. Original expiring image CDN links are excluded. If OFF, photos are not saved.",
                        "default": true
                    },
                    "includeVideoMetadata": {
                        "title": "📊 Include Video Technical Metadata",
                        "type": "boolean",
                        "description": "Extract advanced video parameters (codec name, width, height, resolution, fps, bitrate, container format) and save under `video_additional_metadata`. ⚠️ Only works when 'Store Video in Storage' is ON.",
                        "default": false
                    },
                    "includeMusicMetadata": {
                        "title": "📊 Include Music Technical Metadata",
                        "type": "boolean",
                        "description": "Extract advanced audio parameters (codec name, sample rate, audio channels, bitrate, duration) and save under `music_additional_metadata`. ⚠️ Only works when 'Store Music in Storage' is ON.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
