# Full TikTok API Scraper (`scraptik/tiktok-api`) Actor

Apify’s LOWEST-COST TikTok Scraper. Access the TikTok mobile API for user, posts, sounds, search, comments, followers, and more. Unlock TikTok data at scale. Have custom needs? Visit scraptik.com to get in touch.

- **URL**: https://apify.com/scraptik/tiktok-api.md
- **Developed by:** [ScrapTik](https://apify.com/scraptik) (community)
- **Categories:** Social media, Videos
- **Stats:** 3,559 total users, 631 monthly users, 100.0% runs succeeded, 86 bookmarks
- **User rating**: 4.82 out of 5 stars

## Pricing

$2.00 / 1,000 requests

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

## The Simplest & Most Comprehensive TikTok API/Scraper

We're the most popular unofficial TikTok API since 2021 (as seen on other platforms). 
We provide Marketing Agencies, Freelancers, and SaaS Companies with a TikTok API wrapper. 
Always-maintained, up-to-date, and scale-friendly. 
Our TikTok scraper helps you get the data you need with comprehensive endpoints (including mobile), proxies managed for you, and flat pricing ($.002/request). More than 95% cheaper than the other providers that price per result on average.

Interested in a custom plan beyond what's listed (e.g. more requests per second)? Fill out our form at [https://scraptik.com](https://scraptik.com)

---

### Quickstart

Use the input GUI directly above, watch the [video](https://youtu.be/Jb9nY6oU09k) below, or use us as an API (step-by-step written tutorial [here](https://medium.com/@scraptik/how-to-get-tiktok-videos-using-an-unofficial-tiktok-api-with-apify-and-node-js-e8d8b79a0c75))

#### Retrieve a TikTok user profile in seconds

**cURL Example:**

```bash
curl "https://api.apify.com/v2/acts/scraptik~tiktok-api/runs?token=$API_TOKEN" \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{"profile_username": "katyperry"}'

## user {
##   nickname:"Katy Perry"
##   bio_url:"https://linktr.ee/katyperry"
##   follower_count: 8714340
##   aweme_count: 177
## ...
## }
````

**Video tutorial**

[![Watch the video](https://img.youtube.com/vi/Jb9nY6oU09k/default.jpg)](https://youtu.be/Jb9nY6oU09k?cc_load_policy=1\&cc_lang_pref=en)

**GUI Input example**

![Input GUI entering Katyperry](https://i.postimg.cc/sD7W1nt3/st-gui-input.png)

**Example JSON data output**

![JSON Results](https://i.postimg.cc/1zq1Zq87/st-json-output.png)

### Why ScrapTik?

- **Flat per-request pricing, least expensive on a per-request basis** – more than 95% cheaper than the current most popular provider on Apify (when priced per result)
- **Most comprehensive in terms of API endpoints and tools**
- **The most popular TikTok data solution on other platforms**
- **Proxies all managed for you**
- **Responsive support & frequent updates**

### Key Features & Endpoints

- 🔍 **User Profiles** – fetch TikTok user info, stats, bios, videos, followers, and following
- 🎥 **Video Metadata** – retrieve video details, captions, music, play count, and engagement
- 📥 **Video Download URLs** – get direct links for downloads for videos without watermarks
- 🔎 **Search** – search TikTok users, videos, hashtags, and music
- 💬 **Comments** – fetch comments and replies

### Simple, Transparent Pricing

- **$0.002 per request. That’s it.**

### ScrapTik vs. The Most Popular Provider

| | **ScrapTik** | **Most Popular Provider** |
| --- | --- | --- |
| **Pricing Model** | Per request (flat) | Per result (variable) |
| **Cost predictability** | ✅ Always clear | ❌ Varies by result count |
| **Average request cost (based on Starter plan with 20 results returned)** | $0.002 | $0.065 |
| **Endpoints covered** | Users, videos, followers, search, comments, download links  | Limited |
| **Proxies managed for you** | ✅ | ❌ |

### Comprehensive API Endpoints

Our TikTok API provides **18 powerful endpoints** for easy integration and comprehensive data access.

#### 👥 **User & Profile Management**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **Get User Profile** | `/get-user` | Retrieve comprehensive user information | Follower count, bio, verified status, avatar URLs, engagement metrics |
| **Username to ID** | `/username-to-id` | Convert username to user ID | Essential for other API calls, supports all username formats |
| **List Followers** | `/list-followers` | Get user's follower list | Pagination support, detailed user info, customizable count |
| **List Following** | `/list-following` | Get accounts user follows | Pagination support, relationship insights, user discovery |
| **User Likes** | `/user-likes` | Get videos user has liked | Content preferences, engagement patterns, pagination support |

#### 📹 **Video & Content Management**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **Get Post** | `/get-post` | Retrieve video details | Full metadata, engagement stats, creator info, music details |
| **User Posts** | `/user-posts` | Get all videos from user | Complete video history, engagement metrics |
| **Video Without Watermark** | `/video-without-watermark` | No TikTok branding on videos | Direct download URLs, high quality |

#### 🎵 **Music & Audio Discovery**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **Get Music** | `/get-music` | Retrieve music track details | Title, artist, duration, usage statistics, cover images |
| **Music Posts** | `/music-posts` | Find videos using specific music | Content discovery, viral sound tracking |

#### 🏷️ **Hashtag & Challenge Analysis**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **Hashtag Posts** | `/hashtag-posts` | Get challenge participation videos | Trend analysis, content discovery, engagement metrics |

#### 💬 **Comment & Engagement Analysis**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **List Comments** | `/list-comments` | Get video comments | Top-level comments, user engagement |
| **List Comment Replies** | `/list-comments-reply` | Get comment replies | Threaded conversations, nested engagement |

#### 🔍 **Advanced Search Capabilities**

| Endpoint | Path | Description | Key Features |
|----------|------|-------------|--------------|
| **Search Users** | `/search-users` | Find users by keyword | Username/display name search, user discovery |
| **Search Posts** | `/search-posts` | Find videos by keyword | Content search, time filters, sort options (relevance/likes/date) |
| **Search Sounds** | `/search-sounds` | Find music by keyword | Audio discove ry, type filtering, sort by usage/relevance |
| **Search Hashtags** | `/search-hashtags` | Find hashtags by keyword | Trend discovery, challenge identification, usage statistics |
| **Search Lives** | `/search-lives` | Find active live streams | Live engagement, stream discovery |

### Example Use Cases

- Build a **TikTok trend tracker** in minutes
- Enrich your **Creator database** with detailed user data
- Monitor **Top hashtags and videos in real-time**
- Build a **TikTok top video performance tracker**

### Common pitfalls/limitations

- Since we make live requests to TikTok, occasional errors may occur - simply retry your request if this happens. For persistent issues, contact support@scraptik.com
- For high-volume needs (many requests per second), please contact us to discuss alternative solutions. You can fill out a form [here](https://scraptik.com).

### Integrations & Scheduling

Easily send any results directly to GDrive, Make, Zapier, etc. Check out the "Integrations" tab above to choose any you'd like to use.

Need to schedule a check to run everyday? For example, checking whats trending every hour, or every day? Simply go to top right of your screen and click the schedule option.

![Schedule your actor runs](https://i.postimg.cc/85vJSRsc/schedule-actor-bg.png)

### Additional Actors

[Comments Scraper](https://apify.com/scraptik/tiktok-comments-scraper-api)

### FAQ

**How much does it cost to use the TikTok API (unofficial)?**
Our pricing is simple: $0.002 per request, regardless of how many results are returned. This makes us over 95% cheaper than other providers who charge per result.

**How can I use the TikTok API with the Apify API?**
You can access our API through Apify's platform using your API token. See the Quickstart section above for code examples using cURL. If you need an in-depth tutorial you can view one [here](https://medium.com/@scraptik/how-to-get-tiktok-videos-using-an-unofficial-tiktok-api-with-apify-and-node-js-e8d8b79a0c75).

**Where do I submit questions or feedback?**
Fill out our form at https://scraptik.com or email us directly at support@scraptik.com. We aim to respond within 24 hours.

**What if I need more requests/limits?**
We offer custom plans for higher volume needs. Contact us through https://scraptik.com to discuss your requirements for increased requests per second or monthly limits.

**Can I use this beyond just code?**
Yes! We integrate seamlessly with no-code tools like Make and Zapier. Check out the Integrations section above for details on connecting to your preferred platform.

**Can I scrape private videos from private TikTok accounts?**
No, we can only access publicly available content. Private videos and accounts require authentication and explicit permission from the account owner.

**Can this extract comments?**
Yes, our API includes comprehensive comment extraction capabilities. You can retrieve comments, replies, and associated metadata for any public TikTok video.

### Questions? Feedback & Support

Found a bug or need a new endpoint? Interested in a custom plan beyond what's listed (# of requests per month or more requests per second)? Fill out our form at <https://scraptik.com>.

# Actor input Schema

## `profile_username` (type: `string`):

Enter one TikTok username (without the @ symbol). Example: 'katyperry'

## `profile_userId` (type: `string`):

User ID used for identifying a TikTok account. Example: 131256363632148480

## `profile_secUserId` (type: `string`):

Secondary user ID used by TikTok for user identification. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH\_vz1qkDZYo1apxgzaxdBSeIuPiM

## `profile_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `usernameToId_username` (type: `string`):

Get the user ID from the username. You'll use this ID for most requests. Example: 'katyperry'

## `followers_userId` (type: `string`):

User ID to fetch followers for. Example: 131256363632148480

## `followers_secUserId` (type: `string`):

Secondary user ID used by TikTok for user identification. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH\_vz1qkDZYo1apxgzaxdBSeIuPiM

## `followers_count` (type: `integer`):

Number of followers to retrieve. Default is 10.

## `followers_maxTime` (type: `integer`):

Pagination cursor. Use the 'min\_time' value from the previous response to fetch more results.

## `following_userId` (type: `string`):

User ID to fetch followings for. Example: 131256363632148480

## `following_secUserId` (type: `string`):

Optional secondary user ID. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH\_vz1qkDZYo1apxgzaxdBSeIuPiM

## `following_count` (type: `integer`):

Number of followings to retrieve. Default is 10.

## `following_maxTime` (type: `integer`):

Pagination cursor. Use the 'min\_time' value from the previous response to fetch more results.

## `post_awemeId` (type: `string`):

The ID of the TikTok video post to retrieve. Example: 6811123699203329285

## `post_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `userPosts_userId` (type: `string`):

User ID whose posts should be retrieved. Example: 6546356850533602319

## `userPosts_secUserId` (type: `string`):

Optional secondary user ID. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH\_vz1qkDZYo1apxgzaxdBSeIuPiM

## `userPosts_count` (type: `integer`):

Number of posts to retrieve. Default is 10.

## `userPosts_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `userPosts_maxCursor` (type: `string`):

Pagination cursor for fetching next set of posts.

## `music_id` (type: `string`):

The ID of the TikTok music track to retrieve. Example: 6873491642666469377

## `musicPosts_musicId` (type: `string`):

ID of the music to fetch associated video posts. Example: 7047667719411370758

## `musicPosts_count` (type: `integer`):

Number of posts to retrieve. Default is 18.

## `musicPosts_cursor` (type: `integer`):

Pagination cursor for loading additional results.

## `challengePosts_cid` (type: `string`):

Hashtag/Challenge ID used to fetch associated posts. Example: 1592380847102982

## `challengePosts_count` (type: `integer`):

Number of challenge posts to fetch. Default is 20.

## `challengePosts_cursor` (type: `integer`):

Pagination cursor to retrieve more results for a challenge.

## `commentReplies_commentId` (type: `string`):

ID of the parent comment to fetch replies for. Example: 6999860547420766982

## `commentReplies_awemeId` (type: `string`):

ID of the TikTok post containing the comment. Example: 6996617408010112262

## `commentReplies_count` (type: `integer`):

Number of replies to fetch. Default is 10.

## `commentReplies_cursor` (type: `integer`):

Pagination cursor to retrieve more comment replies.

## `listComments_awemeId` (type: `string`):

ID of the TikTok post to fetch top-level comments for. Example: 6944028931875949829

## `listComments_count` (type: `integer`):

Number of top-level comments to fetch. Default is 10.

## `listComments_cursor` (type: `integer`):

Pagination cursor to retrieve more top-level comments.

## `userLikes_userId` (type: `string`):

User ID whose liked posts should be retrieved. Example: 6546356850533602319

## `userLikes_count` (type: `integer`):

Number of liked posts to retrieve. Default is 10.

## `userLikes_maxCursor` (type: `string`):

Pagination cursor for fetching additional liked posts.

## `searchUsers_keyword` (type: `string`):

Search for users by keyword. Example: 'japan'

## `searchUsers_count` (type: `integer`):

Number of users to retrieve. Default is 20.

## `searchUsers_cursor` (type: `integer`):

Pagination cursor to retrieve more users.

## `searchPosts_keyword` (type: `string`):

Search for posts by keyword. Example: 'nike'

## `searchPosts_count` (type: `integer`):

Number of posts to retrieve. Default is 10.

## `searchPosts_offset` (type: `integer`):

Offset for pagination. Default is 0.

## `searchPosts_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `searchPosts_publishTime` (type: `integer`):

Publish time for filtering posts. Default is 0. 0 = All Time, 1 = Yesterday, 7 = This Week, 30 = This Month, 90 = Last 3 Months, 180 = Last 6 Months

## `searchPosts_sortType` (type: `integer`):

Sort type for filtering posts. Default is 0. 0 = Relevance, 1 = Most Liked, 3 = Date

## `searchSounds_keyword` (type: `string`):

Search for sounds by keyword. Example: 'japan'

## `searchSounds_count` (type: `integer`):

Number of sounds to retrieve. Default is 10.

## `searchSounds_cursor` (type: `integer`):

Pagination cursor to retrieve more sounds.

## `searchSounds_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `searchSounds_useFilters` (type: `boolean`):

Whether to use filters. Default is false. 0 is no, 1 is yes.

## `searchSounds_filterBy` (type: `integer`):

Filter by. Default is 0. 0 = All, 1 = Title, 2 = Creators

## `searchSounds_sortType` (type: `integer`):

Sort type for filtering sounds. Default is 0. 0 = Relevance, 1 = Most used, 2 = Most recent, 3 = Shortest, 4 = Longest

## `searchHashtags_keyword` (type: `string`):

Search for hashtags by keyword. Example: 'japan'

## `searchHashtags_count` (type: `integer`):

Number of hashtags to retrieve. Default is 20.

## `searchHashtags_region` (type: `string`):

Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'

## `searchHashtags_cursor` (type: `integer`):

Pagination cursor to retrieve more hashtags.

## `searchLives_keyword` (type: `string`):

Search for lives by keyword. Example: 'tiktok'

## `searchLives_count` (type: `integer`):

Number of lives to retrieve. Default is 20.

## `searchLives_offset` (type: `integer`):

Offset for pagination. Default is 0.

## `videoWithoutWatermark_awemeId` (type: `string`):

Get the video without watermark. Example: 6811123699203329285

## Actor input object example

```json
{
  "profile_username": "",
  "profile_userId": "",
  "profile_secUserId": "",
  "profile_region": "GB",
  "usernameToId_username": "",
  "followers_userId": "",
  "followers_secUserId": "",
  "followers_count": 10,
  "followers_maxTime": 0,
  "following_userId": "",
  "following_secUserId": "",
  "following_count": 10,
  "following_maxTime": 0,
  "post_awemeId": "",
  "post_region": "GB",
  "userPosts_userId": "",
  "userPosts_secUserId": "",
  "userPosts_count": 10,
  "userPosts_region": "GB",
  "userPosts_maxCursor": "0",
  "music_id": "",
  "musicPosts_musicId": "",
  "musicPosts_count": 18,
  "musicPosts_cursor": 0,
  "challengePosts_cid": "",
  "challengePosts_count": 20,
  "challengePosts_cursor": 0,
  "commentReplies_commentId": "",
  "commentReplies_awemeId": "",
  "commentReplies_count": 10,
  "commentReplies_cursor": 0,
  "listComments_awemeId": "",
  "listComments_count": 10,
  "listComments_cursor": 0,
  "userLikes_userId": "",
  "userLikes_count": 10,
  "userLikes_maxCursor": "0",
  "searchUsers_keyword": "",
  "searchUsers_count": 20,
  "searchUsers_cursor": 0,
  "searchPosts_keyword": "",
  "searchPosts_count": 10,
  "searchPosts_offset": 0,
  "searchPosts_region": "GB",
  "searchPosts_publishTime": 0,
  "searchPosts_sortType": 0,
  "searchSounds_keyword": "",
  "searchSounds_count": 10,
  "searchSounds_cursor": 0,
  "searchSounds_region": "GB",
  "searchSounds_useFilters": false,
  "searchSounds_filterBy": 0,
  "searchSounds_sortType": 0,
  "searchHashtags_keyword": "",
  "searchHashtags_count": 20,
  "searchHashtags_region": "GB",
  "searchHashtags_cursor": 0,
  "searchLives_keyword": "",
  "searchLives_count": 20,
  "searchLives_offset": 0,
  "videoWithoutWatermark_awemeId": ""
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scraptik/tiktok-api").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("scraptik/tiktok-api").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 '{}' |
apify call scraptik/tiktok-api --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Full TikTok API Scraper",
        "description": "Apify’s LOWEST-COST TikTok Scraper. Access the TikTok mobile API for user, posts, sounds, search, comments, followers, and more. Unlock TikTok data at scale. Have custom needs? Visit scraptik.com to get in touch.",
        "version": "0.0",
        "x-build-id": "jt4yqGP5PNgIXaAwv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraptik~tiktok-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraptik-tiktok-api",
                "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/scraptik~tiktok-api/runs": {
            "post": {
                "operationId": "runs-sync-scraptik-tiktok-api",
                "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/scraptik~tiktok-api/run-sync": {
            "post": {
                "operationId": "run-sync-scraptik-tiktok-api",
                "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": {
                    "profile_username": {
                        "title": "username",
                        "type": "string",
                        "description": "Enter one TikTok username (without the @ symbol). Example: 'katyperry'",
                        "default": ""
                    },
                    "profile_userId": {
                        "title": "user_id",
                        "type": "string",
                        "description": "User ID used for identifying a TikTok account. Example: 131256363632148480",
                        "default": ""
                    },
                    "profile_secUserId": {
                        "title": "sec_user_id",
                        "type": "string",
                        "description": "Secondary user ID used by TikTok for user identification. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                        "default": ""
                    },
                    "profile_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "usernameToId_username": {
                        "title": "username",
                        "type": "string",
                        "description": "Get the user ID from the username. You'll use this ID for most requests. Example: 'katyperry'",
                        "default": ""
                    },
                    "followers_userId": {
                        "title": "user_id",
                        "type": "string",
                        "description": "User ID to fetch followers for. Example: 131256363632148480",
                        "default": ""
                    },
                    "followers_secUserId": {
                        "title": "sec_user_id",
                        "type": "string",
                        "description": "Secondary user ID used by TikTok for user identification. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                        "default": ""
                    },
                    "followers_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of followers to retrieve. Default is 10.",
                        "default": 10
                    },
                    "followers_maxTime": {
                        "title": "max_time",
                        "type": "integer",
                        "description": "Pagination cursor. Use the 'min_time' value from the previous response to fetch more results.",
                        "default": 0
                    },
                    "following_userId": {
                        "title": "user_id",
                        "type": "string",
                        "description": "User ID to fetch followings for. Example: 131256363632148480",
                        "default": ""
                    },
                    "following_secUserId": {
                        "title": "sec_user_id",
                        "type": "string",
                        "description": "Optional secondary user ID. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                        "default": ""
                    },
                    "following_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of followings to retrieve. Default is 10.",
                        "default": 10
                    },
                    "following_maxTime": {
                        "title": "max_time",
                        "type": "integer",
                        "description": "Pagination cursor. Use the 'min_time' value from the previous response to fetch more results.",
                        "default": 0
                    },
                    "post_awemeId": {
                        "title": "aweme_id",
                        "type": "string",
                        "description": "The ID of the TikTok video post to retrieve. Example: 6811123699203329285",
                        "default": ""
                    },
                    "post_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "userPosts_userId": {
                        "title": "user_id",
                        "type": "string",
                        "description": "User ID whose posts should be retrieved. Example: 6546356850533602319",
                        "default": ""
                    },
                    "userPosts_secUserId": {
                        "title": "sec_user_id",
                        "type": "string",
                        "description": "Optional secondary user ID. Example: MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                        "default": ""
                    },
                    "userPosts_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of posts to retrieve. Default is 10.",
                        "default": 10
                    },
                    "userPosts_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "userPosts_maxCursor": {
                        "title": "max_cursor",
                        "type": "string",
                        "description": "Pagination cursor for fetching next set of posts.",
                        "default": "0"
                    },
                    "music_id": {
                        "title": "music_id",
                        "type": "string",
                        "description": "The ID of the TikTok music track to retrieve. Example: 6873491642666469377",
                        "default": ""
                    },
                    "musicPosts_musicId": {
                        "title": "music_id",
                        "type": "string",
                        "description": "ID of the music to fetch associated video posts. Example: 7047667719411370758",
                        "default": ""
                    },
                    "musicPosts_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of posts to retrieve. Default is 18.",
                        "default": 18
                    },
                    "musicPosts_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor for loading additional results.",
                        "default": 0
                    },
                    "challengePosts_cid": {
                        "title": "cid",
                        "type": "string",
                        "description": "Hashtag/Challenge ID used to fetch associated posts. Example: 1592380847102982",
                        "default": ""
                    },
                    "challengePosts_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of challenge posts to fetch. Default is 20.",
                        "default": 20
                    },
                    "challengePosts_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more results for a challenge.",
                        "default": 0
                    },
                    "commentReplies_commentId": {
                        "title": "comment_id",
                        "type": "string",
                        "description": "ID of the parent comment to fetch replies for. Example: 6999860547420766982",
                        "default": ""
                    },
                    "commentReplies_awemeId": {
                        "title": "aweme_id",
                        "type": "string",
                        "description": "ID of the TikTok post containing the comment. Example: 6996617408010112262",
                        "default": ""
                    },
                    "commentReplies_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of replies to fetch. Default is 10.",
                        "default": 10
                    },
                    "commentReplies_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more comment replies.",
                        "default": 0
                    },
                    "listComments_awemeId": {
                        "title": "aweme_id",
                        "type": "string",
                        "description": "ID of the TikTok post to fetch top-level comments for. Example: 6944028931875949829",
                        "default": ""
                    },
                    "listComments_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of top-level comments to fetch. Default is 10.",
                        "default": 10
                    },
                    "listComments_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more top-level comments.",
                        "default": 0
                    },
                    "userLikes_userId": {
                        "title": "user_id",
                        "type": "string",
                        "description": "User ID whose liked posts should be retrieved. Example: 6546356850533602319",
                        "default": ""
                    },
                    "userLikes_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of liked posts to retrieve. Default is 10.",
                        "default": 10
                    },
                    "userLikes_maxCursor": {
                        "title": "max_cursor",
                        "type": "string",
                        "description": "Pagination cursor for fetching additional liked posts.",
                        "default": "0"
                    },
                    "searchUsers_keyword": {
                        "title": "keyword",
                        "type": "string",
                        "description": "Search for users by keyword. Example: 'japan'",
                        "default": ""
                    },
                    "searchUsers_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of users to retrieve. Default is 20.",
                        "default": 20
                    },
                    "searchUsers_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more users.",
                        "default": 0
                    },
                    "searchPosts_keyword": {
                        "title": "keyword",
                        "type": "string",
                        "description": "Search for posts by keyword. Example: 'nike'",
                        "default": ""
                    },
                    "searchPosts_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of posts to retrieve. Default is 10.",
                        "default": 10
                    },
                    "searchPosts_offset": {
                        "title": "offset",
                        "type": "integer",
                        "description": "Offset for pagination. Default is 0.",
                        "default": 0
                    },
                    "searchPosts_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "searchPosts_publishTime": {
                        "title": "publish_time",
                        "type": "integer",
                        "description": "Publish time for filtering posts. Default is 0. 0 = All Time, 1 = Yesterday, 7 = This Week, 30 = This Month, 90 = Last 3 Months, 180 = Last 6 Months",
                        "default": 0
                    },
                    "searchPosts_sortType": {
                        "title": "sort_type",
                        "type": "integer",
                        "description": "Sort type for filtering posts. Default is 0. 0 = Relevance, 1 = Most Liked, 3 = Date",
                        "default": 0
                    },
                    "searchSounds_keyword": {
                        "title": "keyword",
                        "type": "string",
                        "description": "Search for sounds by keyword. Example: 'japan'",
                        "default": ""
                    },
                    "searchSounds_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of sounds to retrieve. Default is 10.",
                        "default": 10
                    },
                    "searchSounds_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more sounds.",
                        "default": 0
                    },
                    "searchSounds_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "searchSounds_useFilters": {
                        "title": "use_filters",
                        "type": "boolean",
                        "description": "Whether to use filters. Default is false. 0 is no, 1 is yes.",
                        "default": false
                    },
                    "searchSounds_filterBy": {
                        "title": "filter_by",
                        "type": "integer",
                        "description": "Filter by. Default is 0. 0 = All, 1 = Title, 2 = Creators",
                        "default": 0
                    },
                    "searchSounds_sortType": {
                        "title": "sort_type",
                        "type": "integer",
                        "description": "Sort type for filtering sounds. Default is 0. 0 = Relevance, 1 = Most used, 2 = Most recent, 3 = Shortest, 4 = Longest",
                        "default": 0
                    },
                    "searchHashtags_keyword": {
                        "title": "keyword",
                        "type": "string",
                        "description": "Search for hashtags by keyword. Example: 'japan'",
                        "default": ""
                    },
                    "searchHashtags_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of hashtags to retrieve. Default is 20.",
                        "default": 20
                    },
                    "searchHashtags_region": {
                        "title": "region",
                        "type": "string",
                        "description": "Optional 2-letter code for region (which might affect the data that appears). Defaults to 'GB'",
                        "default": "GB"
                    },
                    "searchHashtags_cursor": {
                        "title": "cursor",
                        "type": "integer",
                        "description": "Pagination cursor to retrieve more hashtags.",
                        "default": 0
                    },
                    "searchLives_keyword": {
                        "title": "keyword",
                        "type": "string",
                        "description": "Search for lives by keyword. Example: 'tiktok'",
                        "default": ""
                    },
                    "searchLives_count": {
                        "title": "count",
                        "type": "integer",
                        "description": "Number of lives to retrieve. Default is 20.",
                        "default": 20
                    },
                    "searchLives_offset": {
                        "title": "offset",
                        "type": "integer",
                        "description": "Offset for pagination. Default is 0.",
                        "default": 0
                    },
                    "videoWithoutWatermark_awemeId": {
                        "title": "aweme_id",
                        "type": "string",
                        "description": "Get the video without watermark. Example: 6811123699203329285",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
