Skip to content

抖音 API - 用户搜索 (V2)

prod-global
GET
/api/douyin/search-user/v2

支持通过关键词搜索抖音用户,返回包含昵称、头像、粉丝数及其他元数据的用户资料。

典型应用场景:

  • 识别创作者和影响力用户
  • 竞品分析和创作者发现

请求参数

参数名位置类型必填说明
tokenquerystring此 API 服务的访问令牌。
keywordquerystring搜索关键词。
pagequeryinteger页码(从1开始)。
userTypequerystring按用户类型筛选。

可用值:
- common_user: 普通用户
- enterprise_user: 企业用户
- personal_user: 已认证个人用户

代码示例

💡 环境说明

默认示例使用 https://api.justoneapi.com (prod-global)。中国大陆地区建议替换为 http://47.117.133.51:30015 (prod-cn) 以获得更好的访问体验。详见 环境选择

bash
# 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
curl -X GET "https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE"
text
我想使用 Just One API 提供的“用户搜索 (V2)”接口。
接口地址: https://api.justoneapi.com/api/douyin/search-user/v2
HTTP 方法: GET
身份验证: 在 URL 后添加查询参数“?token=您的API密钥”。
OpenAPI 定义: https://docs.justoneapi.com/openapi/douyin-apis/user-search-v2-zh.json

请求参数说明:
- token (query): 此 API 服务的访问令牌。 (必填)
- keyword (query): 搜索关键词。 (必填)
- page (query): 页码(从1开始)。
- userType (query): 按用户类型筛选。

可用值:
- `common_user`: 普通用户
- `enterprise_user`: 企业用户
- `personal_user`: 已认证个人用户

返回格式: JSON

响应处理与错误码:
1. 需通过返回体中的 "code" 字段判断业务结果(code 为 0 表示成功)。
2. 超时建议:建议将请求超时时间设置为至少 60 秒。
3. 业务码说明:
   - 0: 成功
   - 100: Token 无效或已失效
   - 301: 采集失败,请重试
   - 302: 超出速率限制
   - 303: 超出每日配额
   - 400: 参数错误
   - 500: 内部服务器错误
   - 600: 权限不足
   - 601: 余额不足

请帮我用我擅长的编程语言写一个脚本来调用这个接口,并处理返回结果。
python
# 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
import requests

url = "https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE"
response = requests.get(url)
print(response.json())
js
// 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
const response = await fetch("https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE", {
  method: "GET"
});
const data = await response.json();
console.log(data);
java
// 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE"))
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
go
// 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	client := &http.Client{}
	url := "https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE"
	req, _ := http.NewRequest("GET", url, nil)
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
php
// 提示: 中国大陆地区建议将 https://api.justoneapi.com 替换为 http://47.117.133.51:30015
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.justoneapi.com/api/douyin/search-user/v2?token=YOUR_API_KEY&keyword=VALUE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
curl_close($ch);
echo $response;

响应结果

json
{
  "code": 0,
  "data": {
    "business_data": [
      {
        "data_id": "0",
        "type": 999,
        "data": {
          "tab": null,
          "debug_data": {
            "filter_debug_info_list": null
          },
          "card_type": 4,
          "type": 999,
          "schema": "aweme://lynxview/?channel=morphling_high&bundle=channel_user%2Findex%2Ftemplate.js&group=morphling_h...",
          "log_data": {
            "dcm": "search.natural.discover.105246634576.20260309224145DCBF940783D6EB76DF04"
          },
          "ecom_goods_list": null,
          "music_info_list": null,
          "ops": null,
          "height": 80,
          "doc_type": 150,
          "provider_doc_id_str": "105246634576",
          "aweme_list": null,
          "card_style_type": 4,
          "card_protocal_struct": {
            "render_type": 1,
            "render_extra": {
              "type": 999,
              "card_type_name": "channel_user",
              "schema": "aweme://lynxview/?channel=morphling_high&bundle=channel_user%2Findex%2Ftemplate.js&group=morphling_h...",
              "height": 80
            }
          },
          "qishui_music_list": null,
          "shoot_position_list": null,
          "origin_type": 4,
          "provider_doc_id": 105246634576,
          "show_tab": null,
          "debug_diff_info": {},
          "send_back": "",
          "sub_card_list": null,
          "card_id": "douyin.doctype_aweme_user",
          "raw_data": "{\"is_red_uniqueid\":false,\"is_private_letter\":null,\"is_red_phone_number\":null,\"phone_number_encrypted...",
          "card_type_name": "channel_user"
        },
        "log": {
          "dcm": "search.natural.discover.105246634576.20260309224145DCBF940783D6EB76DF04"
        },
        "card_id": "douyin.doctype_aweme_user"
      }
    ],
    "render_info": [
      {
        "render_id": "0",
        "render_type": 1,
        "render_extra": {
          "card_type_name": "channel_user",
          "type": 999,
          "schema": "aweme://lynxview/?channel=morphling_high&bundle=channel_user%2Findex%2Ftemplate.js&group=morphling_h...",
          "height": 80
        },
        "ui_info": null
      }
    ],
    "struct": {
      "id": "00",
      "layout_type": 1,
      "children": [
        {
          "id": "0",
          "data_id": "0",
          "render_id": "0",
          "fp": ""
        }
      ],
      "fp": ""
    },
    "business_config": {
      "keyword": "小德MOMO",
      "has_more": 1,
      "is_filter_search": 1,
      "search_nil_info": null,
      "next_page": {
        "keyword": "小德MOMO",
        "search_request_id": "20260309224145DCBF940783D6EB76DF04",
        "search_id": "20260309224145DCBF940783D6EB76DF04",
        "cursor": 20,
        "poi_search_info": ""
      },
      "card_count": 19,
      "extra_fresh_struct": null,
      "ad_info": null,
      "filter_bar": null,
      "extra": {
        "hidden_filter": false,
        "req_start_ts": 1773067305361,
        "is_filter_search": 1
      },
      "feedback": {
        "url": "aweme://webview/?url=https%3A%2F%2Faweme.snssdk.com%2Ffalcon%2Ffe_app_react%2Fquestionnaire%2Findex....",
        "text_first": "找不到想找的帐号?",
        "text_second": "告诉我们"
      },
      "pre_loadmore_config": null,
      "poi_search_info": ""
    },
    "global_config": {
      "hidden_filter": false
    },
    "status_code": 0,
    "log_pb": {
      "impr_id": "20260309224145DCBF940783D6EB76DF04"
    },
    "extra": {
      "now": 1773067306000,
      "logid": "20260309224145DCBF940783D6EB76DF04",
      "fatal_item_ids": [],
      "search_request_id": "",
      "device_score": 0,
      "scenes": null
    },
    "log": {
      "search_id": "20260309224145DCBF940783D6EB76DF04",
      "impr_id": "20260309224145DCBF940783D6EB76DF04",
      "search_keyword": "小德MOMO"
    },
    "time_cost": {
      "stream_inner": 694
    },
    "path": "/aweme/v2/search/discover/",
    "mock_recall_path": "/aweme/v2/search/discover/",
    "success": true
  }
}

💡 提示:为简化展示,列表类数据样例仅保留 1-2 条记录,实际返回条数以接口响应为准。