# TikTok Profile Scraper (`opportunity-biz/tt-inspector`) Actor

Scrape TikTok profiles: 30+ fields, engagement metrics, video feed, AI analysis (OpenAI/DeepSeek/Groq). FAST: 0.4s/profile, 256MB. FREE: 5 profiles. PRO: unlimited from €0.002/profile. Beats browser-based scrapers (4GB, 30s/profile).

- **URL**: https://apify.com/opportunity-biz/tt-inspector.md
- **Developed by:** [opportunity-biz](https://apify.com/opportunity-biz) (community)
- **Categories:** Social media, AI, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 — The Most Complete TikTok Data Extractor

### What it does

Extract **30+ data points** from any public TikTok profile — no login, no cookies, no account needed. Get profile stats, engagement metrics, video feed analysis, and optional **AI-powered content intelligence** (BYOK — you bring your own API key, we never charge for AI).

Built for influencer marketers, brand managers, researchers, and AI developers who need comprehensive TikTok profile data at scale.

### Why this Actor?

| Feature | Other Scrapers | **This Actor** |
|---|---|---|
| **Profile data** | 8-10 fields | **30+ fields** |
| **Video feed scraping** | ❌ | ✅ Recent videos with stats |
| **Engagement analytics** | ❌ | ✅ Avg likes, comments, shares |
| **AI Content Analysis** | ❌ | ✅ GPT-4o-mini (BYOK) |
| **BIO/LLM-ready output** | ❌ | ✅ clean.json → dataset/AI |
| **No login required** | ✅ | ✅ |
| **Freemium model** | ❌ | ✅ FREE + PRO |

### 🧠 AI Analysis — What You Can Do With It

The PRO plan includes optional AI-powered profile analysis. **You never pay us for AI calls.** You bring your own API key from your preferred provider (OpenAI, DeepSeek, Groq, or any OpenAI-compatible API).

#### Real-world examples of AI in action

**Example 1 — Agency vetting 50 creators for a campaign**
> Input: 50 TikTok profiles → Output: each profile gets an AI-generated summary like *"Emma Creates produces beauty and lifestyle content with high engagement (8.2% rate). Sentiment is 92/100 — very positive. Content categories: beauty, fashion, skincare. Suitable for cosmetics brand partnership."*
>
> You save hours of manual research and get data-driven recommendations.

**Example 2 — Competitor brand monitoring**
> Input: your brand's profile + 5 competitor profiles → Output: AI compares content strategies, identifies gaps, and suggests opportunities like *"Competitors are posting 3× more educational content. Your audience might respond well to tutorial-style videos in your niche."*

**Example 3 — Research dataset with AI classification**
> Input: 1,000 creator profiles → Output: structured dataset with AI-generated tags (categories, sentiment scores, content strategy summaries) ready for ML training or market analysis.

#### What the AI generates for each profile

| AI Feature | What it tells you | Real example output |
|---|---|---|
| **Content Strategy Summary** | 2-3 sentence analysis of what they post and why it works | *"National Geographic produces high-quality educational content about nature, science, and exploration, with strong visual storytelling that drives high engagement."* |
| **Content Categories** | Which niches the creator operates in | `["education", "nature", "science", "travel"]` |
| **Sentiment Score** | Overall tone (0=negative, 100=positive) | `85` — highly positive, inspirational |

#### Supported AI Providers

| Provider | Default Model | Cost per profile | How to get a key |
|----------|--------------|-----------------|-----------------|
| **OpenAI** | `gpt-4o-mini` | ~$0.001 | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) |
| **DeepSeek** | `deepseek-chat` | ~$0.0003 (3× cheaper!) | [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys) |
| **Groq** (free tier) | `llama-3.3-70b-versatile` | **Free** (30 req/min) | [groq.com](https://groq.com) |
| **OpenAI-compatible** | Custom | Varies | Provider-specific |

> 💡 **Tip:** Start with **Groq** (free) to test. Switch to **DeepSeek** for production (cheap). Use **OpenAI** if you already have a key.

#### Quick-start JSON examples

**Test with Groq (free — no cost):**
```json
{
  "usernames": ["natgeo"],
  "plan": "pro",
  "aiProvider": "openai-compatible",
  "aiApiKey": "gsk-your-groq-key",
  "aiModel": "llama-3.3-70b-versatile",
  "aiBaseUrl": "https://api.groq.com/openai/v1"
}
````

**Production with DeepSeek (cheapest):**

```json
{
  "usernames": ["natgeo", "nike", "nasa", "bbc", "cnn"],
  "plan": "pro",
  "aiProvider": "deepseek",
  "aiApiKey": "sk-your-deepseek-key-here"
}
```

**Production with OpenAI (most compatible):**

```json
{
  "usernames": ["natgeo", "nike"],
  "plan": "pro",
  "aiProvider": "openai",
  "aiApiKey": "sk-your-openai-key-here"
}
```

#### Why BYOK (Bring Your Own Key)?

- **You control costs** — choose the provider that fits your budget (from $0 to ~$0.001/profile)
- **No markup** — we don't charge for AI, ever
- **Your key, your data** — nothing stored on our side
- **Provider flexibility** — switch between OpenAI, DeepSeek, Groq, or any OpenAI-compatible API
- **Transparent pricing** — you see exactly what you pay your AI provider

### 🏆 tt-inspector vs Other TikTok Scrapers

| Fields | tt-inspector (PRO) | Other scrapers |
|--------|-------------------|----------------|
| Total data fields | **30+** | ~10-12 |
| Follower, Following, Heart count | ✅ | ✅ |
| Bio / Description | ✅ | ✅ |
| Verified badge | ✅ | ✅ |
| **Private account detection** | ✅ | ❌ |
| **Friend count** | ✅ | ❌ |
| **Engagement Rate** | ✅ | ❌ |
| **Avg Likes/Comments/Shares** | ✅ | ❌ |
| **Top Video views & likes** | ✅ | ❌ |
| **Recent Videos list** (12 videos) | ✅ | Limited |
| **Video durations & dimensions** | ✅ | ❌ |
| **AI Content Analysis** (BYOK GPT-4o-mini) | ✅ | ❌ |
| **Content Categories** | ✅ | ❌ |
| **Sentiment Score** (0-100) | ✅ | ❌ |
| **Freemium with upgrade prompt** | ✅ | ❌ |
| Speed | **5x faster** (no browser) | Browser-based |
| Operating cost | **10x cheaper** | High (browser overhead) |

### 🚀 Why tt-inspector beats "free" TikTok scrapers

Most free TikTok scrapers on Apify Store use a **full headless browser** (Playwright/Puppeteer). That means:

| Factor | Free browser-based scrapers | **tt-inspector** |
|--------|---------------------------|-------------------|
| Memory required | **4,096 MB** (4 GB) | **256 MB** — 16× less |
| Time per profile | **20-30 seconds** | **0.4-4 seconds** — 50× faster |
| Technology | Full Chrome browser | Lightweight HTTP engine |
| Data fields | 10-12 basic fields | **30+ fields** |
| AI analysis | ❌ | ✅ GPT-4o-mini (BYOK) |
| Pricing | "Free" (but costly to run) | **€0.002/profile PRO** |

**Why are they free?** Because their operating cost is too high to monetize profitably. A single run with a browser costs ~$0.01-0.02 in Apify compute units. With tt-inspector's lightweight engine, a run costs **~$0.0003** — 50× less. This efficiency is what makes affordable PRO pricing possible.

**Bottom line:** "Free" doesn't mean better. It often means slower, more limited, and unsustainable. tt-inspector gives you 3× more data, 50× faster results, and AI-powered insights — all at a fair price.

### Pricing

| Plan | Price | What you get |
|------|-------|-------------|
| **FREE** | **€0** | 5 profiles/run, 12 base fields |
| **PRO Base** | **€0.002/profile** | Unlimited profiles, all 30+ fields, engagement metrics, video feed |
| **PRO + AI** | **€0.003/profile** | Everything in PRO + GPT-4o-mini AI analysis (BYOK) |

> Your cost: ~$0.00026/profile for us to run. Compare with SocialData ($0.003/profile) and browser-based scrapers.

### FREE vs PRO

| Feature | FREE | PRO |
|---|---|---|
| **Profiles per run** | Up to 5 | Unlimited |
| **Profile data** (followers, bio, etc.) | ✅ | ✅ |
| **Digg/like count** | ✅ | ✅ |
| **Friend count** | ✅ | ✅ |
| **Private account detection** | ✅ | ✅ |
| **Average likes per video** | ❌ | ✅ |
| **Average comments per video** | ❌ | ✅ |
| **Average shares per video** | ❌ | ✅ |
| **Top video views & likes** | ❌ | ✅ |
| **Top video URL** | ❌ | ✅ |
| **Engagement rate (%)** | ❌ | ✅ |
| **Recent video feed data** (up to 12 videos) | ❌ | ✅ |
| **Video durations & dimensions** | ❌ | ✅ |
| **AI-powered content analysis** | ❌ | ✅ (BYOK) |
| **Content categories** | ❌ | ✅ (BYOK) |
| **Sentiment score** (0-100) | ❌ | ✅ (BYOK) |
| **Upgrade prompt** | Shows link | — |

### ALL Output Fields

#### Profile Fields (FREE + PRO)

| Field | Type | Description |
|---|---|---|
| `username` | string | TikTok handle |
| `nickname` | string | Display name |
| `avatar` | string | Profile picture URL (high resolution) |
| `bio` | string | Profile description / signature |
| `verified` | boolean | Blue checkmark |
| `private` | boolean | Private account |
| `followerCount` | integer | Total followers |
| `followingCount` | integer | Accounts they follow |
| `heartCount` | integer | Total hearts / likes received |
| `videoCount` | integer | Total videos posted |
| `diggCount` | integer | Total likes on content |
| `friendCount` | integer | Mutual friends count |
| `url` | string | Direct link to profile |

#### Engagement Fields (PRO only)

| Field | Type | Description |
|---|---|---|
| `engagementRate` | float | (avgLikes / followers) ×100 |
| `avgLikes` | float | Average likes per recent video |
| `avgComments` | float | Average comments per recent video |
| `avgShares` | float | Average shares per recent video |
| `topVideoViews` | integer | Views on best-performing video |
| `topVideoLikes` | integer | Likes on best-performing video |
| `topVideoUrl` | string | URL to best-performing video |

#### Recent Video Fields (PRO only, up to 12 videos)

| Field | Type | Description |
|---|---|---|
| `recentVideos` | array | List of recent videos with: |
| ↳ `videoId` | string | TikTok video ID |
| ↳ `videoUrl` | string | Direct URL to video |
| ↳ `description` | string | Video caption |
| ↳ `createTime` | integer | Unix timestamp |
| ↳ `duration` | integer | Video length in seconds |
| ↳ `playCount` | integer | Total views |
| ↳ `diggCount` | integer | Total likes |
| ↳ `commentCount` | integer | Total comments |
| ↳ `shareCount` | integer | Total shares |
| ↳ `collectCount` | integer | Total saves |
| ↳ `musicTitle` | string | Audio track name |
| ↳ `musicAuthor` | string | Audio creator |

#### AI Analysis Fields (PRO only — BYOK)

| Field | Type | Description |
|---|---|---|
| `aiAnalysis` | string | GPT-4o-mini generated profile summary |
| `contentCategories` | array | AI-detected content types |
| `sentimentScore` | integer | 0-100 sentiment from bio & content |

### Use cases

1. **Influencer marketing agencies** — Vet creators at scale. Check real engagement rates, not just follower counts.

2. **Brand monitoring** — Track competitor profiles. Monitor growth trends and content strategy shifts.

3. **Content researchers** — Analyze top creators in any niche. Understand what drives engagement.

4. **AI/ML training** — Build datasets of TikTok profiles with rich metadata and AI-generated classifications.

5. **Recruitment scouting** — Find rising creators before they blow up, using engagement signals.

# Actor input Schema

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

List of TikTok usernames to scrape (without @ symbol, e.g. \['natgeo', 'nike'])

## `plan` (type: `string`):

Use 'free' for top 5 profiles with base fields. Use 'pro' for unlimited profiles with all fields including AI analysis.

## `aiProvider` (type: `string`):

Select your preferred AI provider for profile analysis. 'OpenAI-compatible' lets you use any API that follows the OpenAI format (e.g. Groq, Together, OpenRouter).

## `aiApiKey` (type: `string`):

Your API key for the selected AI provider. Used for AI-powered profile analysis (sentiment, content categorization, engagement quality). Only used if plan is 'pro'. You bring your own key — we never charge for AI.

## `aiModel` (type: `string`):

Model name when using 'OpenAI-compatible' provider. Examples: llama-3.3-70b-versatile (Groq), google/gemini-2.0-flash-001 (OpenRouter). Leave empty for defaults.

## `aiBaseUrl` (type: `string`):

Custom API base URL for 'OpenAI-compatible' provider. Must end with /v1. Examples: https://api.groq.com/openai/v1, https://openrouter.ai/api/v1

## Actor input object example

```json
{
  "usernames": [
    "natgeo",
    "nike"
  ],
  "plan": "free",
  "aiProvider": "openai"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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": [
        "natgeo",
        "nike"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("opportunity-biz/tt-inspector").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": [
        "natgeo",
        "nike",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("opportunity-biz/tt-inspector").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": [
    "natgeo",
    "nike"
  ]
}' |
apify call opportunity-biz/tt-inspector --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Profile Scraper",
        "description": "Scrape TikTok profiles: 30+ fields, engagement metrics, video feed, AI analysis (OpenAI/DeepSeek/Groq). FAST: 0.4s/profile, 256MB. FREE: 5 profiles. PRO: unlimited from €0.002/profile. Beats browser-based scrapers (4GB, 30s/profile).",
        "version": "0.0",
        "x-build-id": "t9qfCozXCiyPB1sU5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/opportunity-biz~tt-inspector/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-opportunity-biz-tt-inspector",
                "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/opportunity-biz~tt-inspector/runs": {
            "post": {
                "operationId": "runs-sync-opportunity-biz-tt-inspector",
                "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/opportunity-biz~tt-inspector/run-sync": {
            "post": {
                "operationId": "run-sync-opportunity-biz-tt-inspector",
                "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": [
                    "usernames"
                ],
                "properties": {
                    "usernames": {
                        "title": "TikTok Usernames",
                        "type": "array",
                        "description": "List of TikTok usernames to scrape (without @ symbol, e.g. ['natgeo', 'nike'])",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "natgeo",
                            "nike"
                        ]
                    },
                    "plan": {
                        "title": "Plan",
                        "enum": [
                            "free",
                            "pro"
                        ],
                        "type": "string",
                        "description": "Use 'free' for top 5 profiles with base fields. Use 'pro' for unlimited profiles with all fields including AI analysis.",
                        "default": "free"
                    },
                    "aiProvider": {
                        "title": "AI Provider",
                        "enum": [
                            "openai",
                            "deepseek",
                            "openai-compatible"
                        ],
                        "type": "string",
                        "description": "Select your preferred AI provider for profile analysis. 'OpenAI-compatible' lets you use any API that follows the OpenAI format (e.g. Groq, Together, OpenRouter).",
                        "default": "openai"
                    },
                    "aiApiKey": {
                        "title": "AI API Key (optional — PRO only)",
                        "type": "string",
                        "description": "Your API key for the selected AI provider. Used for AI-powered profile analysis (sentiment, content categorization, engagement quality). Only used if plan is 'pro'. You bring your own key — we never charge for AI."
                    },
                    "aiModel": {
                        "title": "AI Model (optional — for 'OpenAI-compatible' provider)",
                        "type": "string",
                        "description": "Model name when using 'OpenAI-compatible' provider. Examples: llama-3.3-70b-versatile (Groq), google/gemini-2.0-flash-001 (OpenRouter). Leave empty for defaults."
                    },
                    "aiBaseUrl": {
                        "title": "AI Base URL (optional — for 'OpenAI-compatible' provider)",
                        "type": "string",
                        "description": "Custom API base URL for 'OpenAI-compatible' provider. Must end with /v1. Examples: https://api.groq.com/openai/v1, https://openrouter.ai/api/v1"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
