TikTok for Developers

开发者文档

上次更新时间:2026年9月1日

快速入门 - 研究 API 参考

本指南介绍如何使用研究 API。以下示例展示如何使用研究 API 查询视频数据和获取公开的 TikTok 账号数据。

查看你的客户端注册信息

你的申请通过审核后,系统将为你的项目生成一个研究客户端。可在【研究项目】页面查看已通过审核的项目。从列表中选择一个项目,查看对应的研究客户端的详细信息。

连接研究 API 端点时,需要使用 TikTok 提供的 Client Key 和 Client Secret。Client Key 和 Client Secret 默认隐藏,可点击【显示】按钮(眼睛图标)查看。

警告:Client Secret 是连接 TikTok API 时的身份验证凭证。请勿向任何人透露。

获取客户端访问令牌

获取到项目的 Client Key 和 Client Secret 后,即可生成客户端访问令牌。将生成的访问令牌添加到 HTTP 请求的授权标头 (Authorization) 中,以连接研究 API 端点。

查询 TikTok 公开内容数据

以下 cURL 命令示例展示如何查询视频描述中包含关键词“hello world”且创建地为美国或加拿大的视频的 TikTok ID 和获赞数。

curl --location 'https://open.tiktokapis.com/v2/research/video/query/?fields=id%2Clike_count' \
--header 'authorization: bearer abcdefg' \
--header 'Content-Type: application/json' \
--data '{
  "query": {
              "and": [
                   { "operation": "IN", "field_name": "region_code", "field_values": ["US", "CA"] },
                   { "operation": "EQ", "field_name": "keyword", "field_values": ["hello world"] }
               ]
          }, 
  "max_count": 100,
    "cursor": 0,
    "start_date": "20181207",
    "end_date": "20181207",
    "is_random": false}
'

查询条件

与 SQL 中的 WHERE 子句类似,条件 (Condition) 语句可用于筛选查询 (Query) 操作返回的数据。上述请求等同于以下 SQL 查询:

 SELECT id,like_count FROM video_table WHERE region_code IN ["US", "CA"] AND create_date > 20220615

Key

类型

描述

示例

是否必填

field_name

字符串 (String)

被此条件限制的字段名。

"region_code"

是

operation

字符串 (String)

此条件的比较逻辑。以下任一:“EQ”、“IN”、“GT”、“GTE”、“LT”、“LTE”。

"GT"

是

field_values

list[string]

用于比较的值列表。

["US", "IN"]

是

注意:系统使用近似字符串匹配(或模糊字符串搜索)来匹配条件。

field_name

field_name 的可选值:

  • keyword
  • create_date
  • username
  • region_code
  • video_id
  • hashtag_name
  • music_id
  • effect_id
  • video_length

operation

operation 的可选值:

  • IN:测试表达式是否匹配列表中的任意值。
  • EQ:测试表达式是否与指定值匹配。
  • GT:测试表达式的值是否大于指定值。
  • GTE:测试表达式的值是否大于或等于指定值。
  • LT:测试表达式的值是否小于指定值。
  • LTE:测试表达式的值是否小于或等于指定值。

AND、OR 或 NOT

使用以下布尔运算符创建条件组:

  • AND:如果由 AND 连接的所有条件都为 TRUE,则显示记录。
  • OR:如果由 OR 连接的任一条件为 TRUE,则显示记录。
  • NOT:如果由 NOT 连接的所有条件都为 FALSE,则显示记录。

分页

如果符合查询条件的视频总数超过了单次请求可返回的最大数量,响应数据将通过多次请求返回。

字段

类型

描述

示例

是否必填

max_count

数值 (Number)

响应中 TikTok 视频的最大数量。默认值为 10,最大值为 100。

12

否


cursor

数值 (Number)

响应中返回的 TikTok 视频的起始索引。默认值:0。

100

否

search_id

字符串 (String)

上次查询的 search_id。分页查询时,按顺序继续获取上次查询的结果。

“7167072234702738478”

否

查询首页结果

发送第一个请求时,无需在请求体中设置 search_id 或 cursor。HTTP 响应中会返回 cursor 和 search_id,可用于后续请求。请求示例:

curl --location 'https://open.tiktokapis.com/v2/research/video/query/?fields=id%2Clike_count' \
--header 'authorization: bearer abcdefg' \
--header 'Content-Type: application/json' \
--data '{
  "query": {
              "and": [
                   { "operation": "IN", "field_name": "region_code", "field_values": ["US", "CA"] },
                   { "operation": "EQ", "field_name": "keyword", "field_values": ["hello world"] }
               ]
          }, 
  "max_count": 100,
    "cursor": 0,
    "start_date": "20181207",
    "end_date": "20181207",
    "is_random": false}
'

返回数据示例:

{
    "data": {
        "cursor": 10,
        "has_more": true,
        "search_id": "7160776277492814854",
        "videos": [
            ...
        ]
    },
    "error": {
        ...
    }
 }

获取下一页结果

你可以使用以下 cURL 命令获取下一页的查询结果。

curl --location 'https://open.tiktokapis.com/v2/research/video/query/?fields=id%2Clike_count' \
--header 'authorization: bearer abcdefg' \
--header 'Content-Type: application/json' \
--data '{
  "query": {
              "and": [
                   { "operation": "IN", "field_name": "region_code", "field_values": ["US", "CA"] },
                   { "operation": "EQ", "field_name": "keyword", "field_values": ["hello world"] }
               ]
          }, 
  "max_count": 10,
          "cursor": 10,
          "start_date": "20220615",
          "end_date": "20220628",
          "search_id": "7160776277492814854"
}
'

返回数据示例:

{
    "data": {
        "cursor": 20,
        "has_more": true,
        "search_id": "7160776277492814854",
        "videos": [
            ...
        ]
    },
    "error": {
        ...
    } 
}

查询 TikTok 公开账号信息

你可以使用以下 cURL 命令,通过 TikTok 用户名查询 TikTok 公开账号信息。

curl --location --request POST 'https://open.tiktokapis.com/v2/research/user/info/?fields=display_name,bio_description,avatar_url,is_verified,follower_count,following_count,likes_count,video_count' \
--header 'Authorization: bearer {{access_token}}' \
--header 'Content-Type: text/plain' \
--data-raw '{
    "username": "example_username"
}'

Key

类型

描述

示例

是否必填

username

字符串 (String)

TikTok 用户的用户名。

“example_username”

否


返回数据示例:


{
    "data": {
        "username": "example_username",
        "video_count": 64,
        "avatar_url": "https://my-awesome-avatar",
        "display_name": "joe 1234567",
        "follower_count": 111,
        "likes_count": 4146,
        "bio_description": "joe joe",
        "following_count": 103,
        "is_verified": false
    },
    "error": {
        ...
    }
}


TikTok for Developers