{
  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}