# Tiktok Ads Scraper (`scrapier/tiktok-ads-scraper`) Actor

This TikTok Ads Scraper extracts creatives, engagement numbers, ad metadata, landing pages, and campaign insights. Designed for marketers, researchers, and developers needing structured, actionable TikTok advertising data for analysis or automation.

- **URL**: https://apify.com/scrapier/tiktok-ads-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Automation, Lead generation
- **Stats:** 7 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$24.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

It extracts ad creatives, captions, engagement metrics, targeting hints, and advertiser details from the TikTok Ads Library. This tool helps marketers, agencies, and brands analyze competitor strategies, find viral ad examples, and understand TikTok ad specs and performance trends. Using a TikTok Ads Scraper (including solutions like Apify TikTok Ads Scraper) boosts your ability to perform detailed ad research, optimize campaigns, and stay ahead of competitors.

It also benefits SEO and social media campaign planning by giving you rich insights into trending content, ad requirements, and formats used by top advertisers. Whether you're studying TikTok ad prices, evaluating TikTok ads review data, or planning a new campaign, this scraper delivers everything in a clean, structured format. 🚀

* * *

### What TikTok Ads Scraper can I extract? 📊

Below is a complete overview of the data types you can extract using a professional TikTok Ads Scraper or TikTok Ads Library Scraper:

| Data Type Extracted | Description |
| --- | --- |
| Ad Creative | Video, images, thumbnails, and creatives used in ads |
| Ad Text / Captions | Description, CTA text, hashtags |
| Advertiser Info | Brand name, profile, landing page URLs |
| Engagement Metrics | Likes, views, shares, comments (if available) |
| Ad Format Details | TikTok ad size, specs, duration |
| Region & Language | Targeted countries, languages |
| Ad Start/End Dates | Campaign timing insights |
| Trending Examples | Viral TikTok ads examples for inspiration |
| Downloadable Media | Option for TikTok Ads Scraper download use cases |

* * *

#### ⭐ Key Features of TikTok Ads Scraper

*   🔍 Deep competitor insights – discover how top brands structure their ads, including creatives, captions, and CTAs.  
      
    
*   📥 Media downloads – many scrapers support TikTok advertise download, giving you the actual video ads for analysis.  
      
    
*   📊 Export-ready data – get structured outputs in JSON, CSV, Excel, or API formats.  
      
    
*   🚀 High-speed crawling – optimized performance allows scraping hundreds or thousands of ads with ease.  
      
    
*   🧠 NLP-friendly extraction – pulls clean text for AI analysis, research, and marketing automation workflows.  
      
    
*   🛠️ Developer-friendly – compatible with TikTok scraper Python, TikTok scraper GitHub, browser extensions, and automation tools.  
      
    
*   🔁 Automatic updates – fetch the latest ads from the TikTok Ads Library in real time.  
      
    
*   🌍 Global coverage – scrape ads from any available region including USA, UK, Canada, India, Bangladesh, and more.  
      
    
*   🔐 Safe & compliant – designed to follow legal and ethical data collection standards.  
      
    

* * *

### How to use TikTok Ads Scraper 🛠️

Follow this easy step-by-step guide to scrape ads efficiently using a tool like Apify TikTok Ads Scraper:

1.  Log in to Apify  
    Create a free account or sign in to your existing workspace.  
      
    
2.  Select the Actor  
    Search for “TikTok Ads Scraper” or “TikTok Ads Library Scraper” in the Apify Store.  
      
    
3.  Enter Input Data  
    Paste keywords, advertiser names, or TikTok ad URLs into the startUrls or query field.  
      
    
4.  Choose Options  
    Select whether you want:  
      
    

*   ad creative links  
      
    
*   targeting information  
      
    
*   timestamps  
      
    
*   downloadable video ads  
      
    

6.  Run the Actor  
    Hit Start and the scraper will automatically extract the ad data.  
      
    
7.  Download Results  
    Export in JSON, CSV, Excel, or connect the scraper to your API.  
      
    

This workflow works even if you're using a TikTok scraper Python script, browser extension, or the official Apify TikTok Ads Scraper.  
  

* * *

### 🎯 Use Cases

Here’s how businesses, marketers, and researchers use a TikTok Ads Scraper:

*   📈 Competitor analysis – See what ads your competitors run and uncover their marketing angles.  
      
    
*   🔥 Finding viral ads – Discover high-performing creatives to inspire your next campaign.  
      
    
*   💼 Agency support – Present data-backed strategies with exported TikTok ads examples.  
      
    
*   🧪 A/B testing research – Compare creatives, captions, CTA designs, and ad specs.  
      
    
*   🧠 AI & NLP training – Use extracted ad text for sentiment analysis, clustering, and model fine-tuning.  
      
    
*   🌍 Market research – Analyze region-specific ads, including markets like the USA, India, and Bangladesh.  
      
    
*   🛍️ E-commerce growth – Identify winning trends and angles used by top dropshippers.  
      
    
*   👨‍💻 Developer integrations – Connect with TikTok scraper GitHub tools or run via Python and APIs
    

### Why choose us? 🌟

*   ⚙️ High-performance scraping built for large-scale research.  
      
    
*   📡 Reliable data accuracy ensures all fields are extracted cleanly.  
      
    
*   🛠️ Flexible integrations with APIs, Python scripts, automation, and no-code tools.  
      
    
*   🤝 Trusted by agencies & brands worldwide.  
      
    
*   🔒 Ethical and compliant with industry regulations and platform rules.  
      
    
*   📞 Excellent support for technical and business questions.  
      
    
*   🌍 Global coverage including multi-language and multi-region support.  
      
    
*   💎 Affordable and transparent—ideal even for those researching TikTok ads charges, ad prices, and marketing budgets.  
      
    

* * *

### How many results can you scrape with TikTok Ads Scraper? 📦

A well-optimized TikTok Ads Scraper can extract anywhere from hundreds to hundreds of thousands of ads depending on your input and filtering. Whether you're studying TikTok ads review data or gathering examples across multiple regions, the scraper can scale effortlessly.

You can scrape:

*   Entire advertiser libraries  
      
    
*   Regional ad sets  
      
    
*   Keyword-based ads  
      
    
*   Multi-country comparisons  
      
    
*   High-volume trend datasets  
      
    

Scalability benefits include:

*   ⚡ High-speed extraction with parallel processing  
      
    
*   🗂️ Automatic pagination handling  
      
    
*   📁 Bulk exporting without limits  
      
    
*   🔄 Scheduled tasks for continuous updates  
      
    

This makes it perfect for agencies analyzing TikTok ad prices, brands monitoring new competitors, or analysts studying global advertising patterns.

* * *

### Is it legal to scrape TikTok Ads Library? ⚖️

Scraping the TikTok Ads Library is generally legal when done responsibly. The Ads Library is a public resource designed for transparency, and collecting publicly available information is typically allowed as long as you respect:

*   ✔️ Platform terms of service  
      
    
*   ✔️ Data privacy regulations  
      
    
*   ✔️ Ethical guidelines  
      
    

Avoid scraping private user data or bypassing security systems. Always use compliant tools such as Apify TikTok Ads Scraper, which is designed with ethical standards in mind.

* * *

### Input Parameters 🧩

#### Example JSON

 ```json
{
  "startUrls": [
    "https://library.tiktok.com/ads?region=all&start_time=1735689600000&end_time=1763769600000&adv_name=NVIDIA%20GmbH&adv_biz_ids=6891503886842987266&query_type=2&sort_type=last_shown_date,desc",
    "nvidia",
    "gaming",
    "artificial intelligence"
  ],
  "sortOrder": "last_shown_date,desc",
  "maxAds": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

### Output Format 📤

#### Example JSON

```json
{
  "adId": "1820021743248386",
  "adName": "GAME DISTRICT",
  "advertiserId": "7164598436288020481",
  "advertiserName": "GAME DISTRICT",
  "impressions": {
    "lowerBound": 1000000,
    "upperBound": 10000000
  },
  "paidBy": "GAME DISTRICT",
  "regionStats": [
    {
      "regionCode": "NL",
      "impressions": 70000
    }
  ],
  "startUrl": "https://library.tiktok.com/ads?...",
  "targeting": {
    "audienceSize": {
      "lowerBound": 159000000,
      "upperBound": 195000000
    },
    "regions": [
      {
        "regionCode": "NL",
        "ageRanges": ["18-24", "25-34", "35-44", "45-54", "55+"],
        "genders": ["female", "male", "unknown"]
      }
    ]
  },
  "tiktokUser": {
    "username": "gamedistrict",
    "displayName": "Game District",
    "avatarUrl": "https://...",
    "followersCount": 15000,
    "profileUrl": "https://www.tiktok.com/..."
  },
  "videos": [
    {
      "url": "https://library.tiktok.com/api/v1/cdn/...",
      "coverImageUrl": "https://..."
    }
  ]
}
```

### FAQ ❓

#### 1. Is the TikTok Ads Scraper free?

Yes—some versions offer a TikTok ads scraper free tier with limitations.

#### 2. Can I download TikTok ad videos?

Yes, many tools support TikTok Ads Scraper download options.

#### 3. Is this the same as a TikTok video scraper Python script?

No, but both can extract TikTok content for research purposes.

#### 4. Can I scrape ads from TikTok Bangladesh?

Yes—regional scraping is supported.

#### 5. How do TikTok ads work?

TikTok ads run through interest, behavior, and demographic targeting.

#### 6. What are TikTok ad prices?

Costs vary—many advertisers research TikTok ads charges before launching.

#### 7. Does this break TikTok’s rules?

When used ethically and within public data limits, it remains compliant.

### 🔚 Conclusion

A TikTok Ads Scraper is an essential tool for marketers, agencies, and researchers who want fast, accurate insights into ad creatives, performance, and competitor strategies. With powerful features, scalability, and easy integration, it streamlines campaign optimization and helps you stay ahead in the ever-evolving world of TikTok advertising. 🚀

### What are other Tiktok scraping tools?

If you want to scrape specific Tiktok data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [Tiktok B2b Email Scraper](https://apify.com/scrapier/tiktok-b2b-email-scraper) | [Tiktok Profile Phone Number Scraper](https://apify.com/scrapier/tiktok-profile-phone-number-scraper) |
| [Tiktok B2b Lead Scraper](https://apify.com/scrapier/tiktok-b2b-lead-scraper) | [TikTok Profile Scraper](https://apify.com/scrapier/tiktok-profile-scraper) |
| [Tiktok B2b Phone Number Scraper](https://apify.com/scrapier/tiktok-b2b-phone-number-scraper) | [TikTok Profile Videos API Scraper](https://apify.com/scrapier/tiktok-profile-videos-api-scraper) |
| [Tiktok Comments Scraper](https://apify.com/scrapier/tiktok-comments-scraper) | [Tiktok Scraper](https://apify.com/scrapier/tiktok-scraper) |
| [Tiktok Data Extractor Scraper](https://apify.com/scrapier/tiktok-data-extractor-scraper) | [TikTok Trending Creator Insights Scraper](https://apify.com/scrapier/tiktok-trending-creator-insights-scraper) |
| [Tiktok Discover Scraper](https://apify.com/scrapier/tiktok-discover-scraper) | [Tiktok Trending Creator Scraper](https://apify.com/scrapier/tiktok-trending-creator-scraper) |
| [Tiktok Email Scraper](https://apify.com/scrapier/tiktok-email-scraper) | [TikTok Trending Hashtags Analytics Scraper](https://apify.com/scrapier/tiktok-trending-hashtags-analytics-scraper) |
| [TikTok Followers API Scraper](https://apify.com/scrapier/tiktok-followers-api-scraper) | [TikTok Trending Hashtags Scraper](https://apify.com/scrapier/tiktok-trending-hashtags-scraper) |
| [Tiktok Hashtag Scraper](https://apify.com/scrapier/tiktok-hashtag-scraper) | [Tiktok Trending Videos Insights](https://apify.com/scrapier/tiktok-trending-videos-insights) |
| [Tiktok Lead Scraper](https://apify.com/scrapier/tiktok-lead-scraper) | [TikTok Trending Videos Scraper](https://apify.com/scrapier/tiktok-trending-videos-scraper) |
| [Tiktok Phone Number Scraper](https://apify.com/scrapier/tiktok-phone-number-scraper) | [TikTok User Profile Scraper](https://apify.com/scrapier/tiktok-user-profile-scraper) |
| [Tiktok Profile Email Scraper](https://apify.com/scrapier/tiktok-profile-email-scraper) | [Tiktok Video Scraper](https://apify.com/scrapier/tiktok-video-scraper) |
| [Tiktok Profile Lead Scraper](https://apify.com/scrapier/tiktok-profile-lead-scraper) |  |

# Actor input Schema

## `startUrls` (type: `array`):

List one or more TikTok Library URLs (e.g., https://library.tiktok.com/ads?...), usernames (e.g., username), or keywords to search for ads.

## `sortOrder` (type: `string`):

Sort ads by date (last shown or first shown)

## `maxAds` (type: `integer`):

Maximum number of ads to scrape per input URL/username/keyword (1-1000)

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

Choose which proxies to use. The actor will start with no proxy and fallback to datacenter, then residential proxies if blocked.

## Actor input object example

```json
{
  "startUrls": [
    "nvidia",
    "gaming"
  ],
  "sortOrder": "last_shown_date,desc",
  "maxAds": 10,
  "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 = {
    "startUrls": [
        "nvidia",
        "gaming"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tiktok Ads Scraper",
        "description": "This TikTok Ads Scraper extracts creatives, engagement numbers, ad metadata, landing pages, and campaign insights. Designed for marketers, researchers, and developers needing structured, actionable TikTok advertising data for analysis or automation.",
        "version": "0.1",
        "x-build-id": "AFTNPr35xAcRLrhy9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~tiktok-ads-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-tiktok-ads-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapier~tiktok-ads-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-tiktok-ads-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapier~tiktok-ads-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-tiktok-ads-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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "TikTok Library URLs, Usernames, or Keywords",
                        "type": "array",
                        "description": "List one or more TikTok Library URLs (e.g., https://library.tiktok.com/ads?...), usernames (e.g., username), or keywords to search for ads.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortOrder": {
                        "title": "Sort Order",
                        "enum": [
                            "last_shown_date,desc",
                            "last_shown_date,asc",
                            "first_shown_date,desc"
                        ],
                        "type": "string",
                        "description": "Sort ads by date (last shown or first shown)",
                        "default": "last_shown_date,desc"
                    },
                    "maxAds": {
                        "title": "Maximum Ads to Scrape",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of ads to scrape per input URL/username/keyword (1-1000)",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Choose which proxies to use. The actor will start with no proxy and fallback to datacenter, then residential proxies if 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
