# Tiktok Trends Scraper (`eunit/tiktok-trends-scraper`) Actor

TikTok Trends Scraper extracts real-time trending data directly from the TikTok Creative Center, giving marketers, content creators, and researchers structured, actionable intelligence on what's going viral — without needing a TikTok API key.

- **URL**: https://apify.com/eunit/tiktok-trends-scraper.md
- **Developed by:** [Emmanuel Uchenna](https://apify.com/eunit) (community)
- **Categories:** Social media, Automation, Developer tools
- **Stats:** 19 total users, 11 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.00 / 1,000 per result extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## TikTok Trends Scraper

**Scrape trending hashtags, sounds, creators, and videos from [TikTok Creative Center](https://ads.tiktok.com/business/creativecenter/) — no login required.**

Get real-time trend data for any country and time period (7, 30, or 120 days). Use the data for content strategy, influencer research, music licensing decisions, or competitive analysis. Runs on [Apify](https://apify.com) with scheduling, proxy rotation, and API access built-in.

### What does TikTok Trends Scraper do?

TikTok Trends Scraper connects to the TikTok Creative Center's public trend intelligence platform and extracts structured data on the **top trending hashtags, sounds (songs), creators, and videos** across 47 countries. You can filter by industry, follower range, audio type, and sort order to get exactly the signals you need.

Data is delivered as a clean JSON dataset downloadable in JSON, CSV, Excel, or HTML — or consumed via the Apify API.

### Why use TikTok Trends Scraper?

- **Content marketing** — Identify trending hashtags and sounds before they peak so your content rides the wave early
- **Influencer discovery** — Find trending micro- and macro-creators in specific niches and regions
- **Music & sound intelligence** — Track which commercial tracks are going viral for ad campaign selection
- **Competitor benchmarking** — See which brands' content is trending and what sounds/hashtags they use
- **Market research** — Measure content consumption trends across different geographies and industries
- **Social listening** — Monitor emerging topics relevant to your brand or industry

### How to use TikTok Trends Scraper

1. Go to the Actor page on the Apify Store and click **Try for free**
2. Select which **Trend Types** to collect (hashtags, sounds, creators, videos)
3. Choose one or more **Regions** (country codes like US, GB, JP)
4. Set the **Time Period** — 7 days (fastest trends), 30 days (sustained), or 120 days (long-term)
5. Optionally narrow results with **Industry**, sort order, or follower-range filters
6. Click **Start** and wait a few minutes for results in the **Output** tab
7. Download the dataset in your preferred format or connect via the Apify API

### Input

All input fields are optional — sensible defaults are set for every parameter.

| Field | Type | Default | Description |
| ------- | ------ | --------- | ------------- |
| `trendTypes` | array | all four | Which trend types: `hashtags`, `sounds`, `creators`, `videos` |
| `regions` | array | `["US"]` | ISO country codes (47 supported) |
| `period` | integer | `7` | Lookback window in days: `7`, `30`, or `120` |
| `maxItems` | integer | `100` | Max results per trend type per region (1–200) |
| `industry` | string | `""` (all) | Filter hashtags by industry category ID |
| `hashtagSortBy` | string | `"popular"` | Sort hashtags: `popular` or `new` |
| `soundAudioType` | string | `""` (all) | Filter sounds: `""` all, `"1"` commercial, `"2"` original |
| `soundChartType` | string | `"popular"` | Sound chart: `popular`, `breakout`, or `viral` |
| `creatorSortBy` | string | `"popular"` | Sort creators: `popular`, `followers`, or `engagementRate` |
| `creatorFollowerRange` | string | `""` (all) | Follower bracket: `0-9999`, `10000-99999`, `100000-999999`, `1000000-` |
| `videoSortBy` | string | `"popular"` | Sort videos: `popular`, `likes`, `comments`, or `shares` |
| `proxyConfiguration` | object | Apify Residential | Proxy settings — residential proxies recommended |

Example input JSON:

```json
{
  "trendTypes": ["hashtags", "sounds"],
  "regions": ["US", "GB"],
  "period": 7,
  "maxItems": 50,
  "industry": "3",
  "soundChartType": "breakout",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

### Output

Results are stored in the Apify dataset and downloadable as **JSON, CSV, Excel, or HTML**.

Each item has a `type` field (`hashtag`, `sound`, `creator`, or `video`) for easy filtering.

#### Hashtag output example

```json
{
  "type": "hashtag",
  "id": "1686858772679682",
  "name": "BeautyTips",
  "url": "https://www.tiktok.com/tag/BeautyTips",
  "countryCode": "US",
  "rank": 1,
  "rankDiff": 2,
  "industryName": "Beauty & Personal Care",
  "videoCount": 14870,
  "viewCount": 89312400,
  "markedAsNew": false,
  "isPromoted": false,
  "scrapedAt": "2025-07-15T08:30:00Z"
}
```

#### Sound output example

```json
{
  "type": "sound",
  "id": "7203903012345678",
  "name": "Espresso",
  "authorName": "Sabrina Carpenter",
  "url": "https://www.tiktok.com/music/7203903012345678",
  "duration": 175,
  "countryCode": "US",
  "rank": 1,
  "rankDiff": 0,
  "usageCount": 1240000,
  "markedAsNew": false,
  "isPromoted": false,
  "scrapedAt": "2025-07-15T08:30:00Z"
}
```

#### Creator output example

```json
{
  "type": "creator",
  "id": "7023912345678901",
  "name": "Jane Doe",
  "username": "janedoe",
  "url": "https://www.tiktok.com/@janedoe",
  "countryCode": "US",
  "rank": 5,
  "followerCount": 1200000,
  "engagementRate": 0.087,
  "followerRange": "1000000-",
  "likeCount": 9800000,
  "scrapedAt": "2025-07-15T08:30:00Z"
}
```

#### Video output example

```json
{
  "type": "video",
  "id": "7301234567890123456",
  "desc": "Summer skincare routine #skincare #beauty",
  "url": "https://www.tiktok.com/@janedoe/video/7301234567890123456",
  "countryCode": "US",
  "rank": 2,
  "likeCount": 3450000,
  "commentCount": 18200,
  "shareCount": 94000,
  "viewCount": 28000000,
  "duration": 47,
  "authorName": "Jane Doe",
  "authorUsername": "janedoe",
  "soundName": "Espresso",
  "isPromoted": false,
  "scrapedAt": "2025-07-15T08:30:00Z"
}
```

### Data table — all output fields

| Field | Types | Description |
| ------- | ------- | ------------- |
| `type` | all | `hashtag` / `sound` / `creator` / `video` |
| `id` | all | TikTok internal item ID |
| `name` | all | Display name |
| `url` | all | Direct link on TikTok.com |
| `countryCode` | all | ISO 3166-1 alpha-2 country code |
| `rank` | all | Trend rank (lower = more trending) |
| `rankDiff` | hashtag, sound | Rank change from previous period |
| `scrapedAt` | all | UTC timestamp of collection |
| `markedAsNew` | hashtag, sound | Newly trending flag |
| `isPromoted` | hashtag, sound, video | Paid/promoted placement flag |
| `industryName` | hashtag | Industry category |
| `videoCount` | hashtag | Videos using this hashtag |
| `viewCount` | hashtag | Aggregate views across all hashtag videos |
| `authorName` | sound, video | Artist / creator display name |
| `audioLink` | sound | Direct audio file URL |
| `coverUrl` | sound, video | Thumbnail / cover art URL |
| `duration` | sound, video | Duration in seconds |
| `usageCount` | sound | Videos using this sound |
| `commercialType` | sound | Commercial licensing type |
| `username` | creator | @username (without the @) |
| `avatarUrl` | creator, video | Profile picture URL |
| `followerCount` | creator | Follower count |
| `engagementRate` | creator | Engagement rate (decimal) |
| `followerRange` | creator | Bucketed follower range |
| `likeCount` | creator, video | Total likes |
| `ttSeller` | creator | TikTok Shop seller flag |
| `desc` | video | Video caption |
| `commentCount` | video | Comment count |
| `shareCount` | video | Share count |
| `soundName` | video | Background sound name |
| `soundId` | video | Background sound ID |
| `authorUrl` | video | Creator's profile URL |

### Pricing / cost estimation

This Actor uses a **headless Chromium browser** (Playwright), which consumes more compute than plain HTTP scrapers.

| Run scope | Estimated compute units |
| ----------- | ------------------------ |
| 1 region × 1 trend type × 50 items | ~0.02 CU |
| 1 region × all 4 types × 100 items | ~0.10 CU |
| 5 regions × all 4 types × 100 items | ~0.50 CU |
| 10 regions × all 4 types × 200 items | ~1.50 CU |

Apify's **Free plan** includes $5 of monthly compute — enough for many full runs. Residential proxy bandwidth is billed separately.

Tip: Reduce costs by selecting only the trend types and regions you need, and keeping `maxItems` ≤ 50 for quick queries.

### Tips and advanced options

- **Residential proxies** — TikTok rate-limits data-center IPs. Keep the default `RESIDENTIAL` proxy group.
- **Schedule regular runs** — Capture daily/weekly snapshots and build a trend time-series in your own data warehouse.
- **Multi-region in one run** — Add multiple country codes to `regions` and compare markets in one dataset.
- **Industry filtering** — Pass an industry ID (e.g. `"3"` for Beauty & Personal Care) to narrow hashtag results.
- **Breakout sounds** — `soundChartType: "breakout"` surfaces the fastest-accelerating sounds before they go mainstream.
- **Webhook output** — Configure a webhook in Actor run settings to push results to Slack, an S3 bucket, or your own API endpoint.

### FAQ, disclaimers, and support

**Is scraping TikTok Creative Center legal?**
TikTok Creative Center is a publicly accessible platform (no login required) built for advertisers and creators. This scraper accesses only public information visible to any website visitor. Always verify compliance with TikTok's Terms of Service and applicable data regulations before using data commercially.

**Will I always get the full maxItems count?**
Not necessarily. TikTok Creative Center may return fewer results for less-active regions or time periods. The scraper fetches all items the API provides up to your limit.

**Why use a browser instead of direct HTTP requests?**
TikTok uses JS-based anti-bot protections including session cookies and CSRF tokens. A real Chromium browser handles these automatically without requiring reverse engineering.

**Some fields are missing or zero — why?**
Field availability varies by region, trend type, and API response. The scraper uses safe fallbacks (`""` or `0`) for any field the API omits.

**Found a bug or incorrect data?**
Open an issue in the Issues tab with your input JSON and the unexpected output. All reports are reviewed promptly.

**Need a custom solution?**
For custom pipelines, scheduled delivery, or data warehouse integration, contact us via the Actor page.

# Actor input Schema

## `trendTypes` (type: `array`):

Which trend categories to scrape. Valid values: "hashtags", "sounds", "creators", "videos". Defaults to all four.

## `regions` (type: `array`):

One or more ISO 3166-1 alpha-2 country codes. Supported values: AR, AT, AU, BE, BR, CA, CH, CL, CO, CZ, DE, DK, EG, ES, FI, FR, GB, GR, HK, HU, ID, IE, IL, IN, IT, JP, KR, MX, MY, NL, NO, NZ, PH, PL, PT, RO, RU, SA, SE, SG, TH, TR, TW, UA, US, VN, ZA. Defaults to US.

## `period` (type: `string`):

Trending window in days: 7 = last week, 30 = last month, 120 = last quarter.

## `maxItems` (type: `integer`):

Maximum number of results to collect for each (trend type, region) combination. Range: 1–200.

## `industry` (type: `string`):

Filter hashtag trends by industry ID. Leave blank for all industries.

## `hashtagSortBy` (type: `string`):

Sort trending hashtags by popularity or recency.

## `soundAudioType` (type: `string`):

Filter sounds by licensing type.

## `soundChartType` (type: `string`):

Which sound chart to use.

## `creatorSortBy` (type: `string`):

Ranking metric used when sorting trending creators.

## `creatorFollowerRange` (type: `string`):

Filter creators by follower count range.

## `videoSortBy` (type: `string`):

Ranking metric used for trending videos.

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

Proxy settings. Residential proxies are strongly recommended for bypassing TikTok anti-bot measures.

## Actor input object example

```json
{
  "trendTypes": [
    "hashtags",
    "sounds",
    "creators",
    "videos"
  ],
  "regions": [
    "US"
  ],
  "period": "7",
  "maxItems": 100,
  "industry": "",
  "hashtagSortBy": "popular",
  "soundAudioType": "",
  "soundChartType": "popular",
  "creatorSortBy": "popular",
  "creatorFollowerRange": "",
  "videoSortBy": "popular",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "trendTypes": [
        "hashtags",
        "sounds",
        "creators",
        "videos"
    ],
    "regions": [
        "US"
    ],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("eunit/tiktok-trends-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 = {
    "trendTypes": [
        "hashtags",
        "sounds",
        "creators",
        "videos",
    ],
    "regions": ["US"],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("eunit/tiktok-trends-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 '{
  "trendTypes": [
    "hashtags",
    "sounds",
    "creators",
    "videos"
  ],
  "regions": [
    "US"
  ],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call eunit/tiktok-trends-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tiktok Trends Scraper",
        "description": "TikTok Trends Scraper extracts real-time trending data directly from the TikTok Creative Center, giving marketers, content creators, and researchers structured, actionable intelligence on what's going viral — without needing a TikTok API key.",
        "version": "0.0",
        "x-build-id": "E4zt9NSt5v1VQPoYC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/eunit~tiktok-trends-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-eunit-tiktok-trends-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/eunit~tiktok-trends-scraper/runs": {
            "post": {
                "operationId": "runs-sync-eunit-tiktok-trends-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/eunit~tiktok-trends-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-eunit-tiktok-trends-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": {
                    "trendTypes": {
                        "title": "Trend Types",
                        "type": "array",
                        "description": "Which trend categories to scrape. Valid values: \"hashtags\", \"sounds\", \"creators\", \"videos\". Defaults to all four.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "hashtags",
                            "sounds",
                            "creators",
                            "videos"
                        ]
                    },
                    "regions": {
                        "title": "Regions (Country Codes)",
                        "type": "array",
                        "description": "One or more ISO 3166-1 alpha-2 country codes. Supported values: AR, AT, AU, BE, BR, CA, CH, CL, CO, CZ, DE, DK, EG, ES, FI, FR, GB, GR, HK, HU, ID, IE, IL, IN, IT, JP, KR, MX, MY, NL, NO, NZ, PH, PL, PT, RO, RU, SA, SE, SG, TH, TR, TW, UA, US, VN, ZA. Defaults to US.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "US"
                        ]
                    },
                    "period": {
                        "title": "Time Period (days)",
                        "enum": [
                            "7",
                            "30",
                            "120"
                        ],
                        "type": "string",
                        "description": "Trending window in days: 7 = last week, 30 = last month, 120 = last quarter.",
                        "default": "7"
                    },
                    "maxItems": {
                        "title": "Max Items per Type / Region",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum number of results to collect for each (trend type, region) combination. Range: 1–200.",
                        "default": 100
                    },
                    "industry": {
                        "title": "Industry (hashtags only)",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "9",
                            "10",
                            "11",
                            "12",
                            "13",
                            "14",
                            "15",
                            "16",
                            "17",
                            "18",
                            "19",
                            "20",
                            "21",
                            "22",
                            "23",
                            "24",
                            "25",
                            "26",
                            "29"
                        ],
                        "type": "string",
                        "description": "Filter hashtag trends by industry ID. Leave blank for all industries.",
                        "default": ""
                    },
                    "hashtagSortBy": {
                        "title": "Sort Hashtags By",
                        "enum": [
                            "popular",
                            "new"
                        ],
                        "type": "string",
                        "description": "Sort trending hashtags by popularity or recency.",
                        "default": "popular"
                    },
                    "soundAudioType": {
                        "title": "Sound Audio Type",
                        "enum": [
                            "",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Filter sounds by licensing type.",
                        "default": ""
                    },
                    "soundChartType": {
                        "title": "Sound Chart Type",
                        "enum": [
                            "popular",
                            "breakout",
                            "viral"
                        ],
                        "type": "string",
                        "description": "Which sound chart to use.",
                        "default": "popular"
                    },
                    "creatorSortBy": {
                        "title": "Sort Creators By",
                        "enum": [
                            "popular",
                            "followers",
                            "engagementRate"
                        ],
                        "type": "string",
                        "description": "Ranking metric used when sorting trending creators.",
                        "default": "popular"
                    },
                    "creatorFollowerRange": {
                        "title": "Creator Follower Range",
                        "enum": [
                            "",
                            "0-9999",
                            "10000-99999",
                            "100000-999999",
                            "1000000-"
                        ],
                        "type": "string",
                        "description": "Filter creators by follower count range.",
                        "default": ""
                    },
                    "videoSortBy": {
                        "title": "Sort Videos By",
                        "enum": [
                            "popular",
                            "likes",
                            "comments",
                            "shares"
                        ],
                        "type": "string",
                        "description": "Ranking metric used for trending videos.",
                        "default": "popular"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies are strongly recommended for bypassing TikTok anti-bot measures.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
