Search Creators
Search for TikTok creators using advanced filters such as displayName, follower count, content performance, and more. Supports fuzzy search, pagination, and multiple filter combinations with up to 10 filters per request. The creatorList is, by default, sorted by displayName. Custom sorting can be applied using the sortBy parameter.
Optionally pass fields to enrich each search result with data from other endpoints. Enrichment is billed per result returned, using each endpoint’s own pricing rules. Fractional calls must be enabled on your API key. For details, see Fractional Calls.
curl -X POST "https://apiv3.creatordb.app/tiktok/search" \
-H "Content-Type: application/json" \
-H "api-key: <YOUR_API-KEY_HERE>" \
-d '{
"filters": [
{"filterName": "avgVideosEngagementRate", "op": ">", "value": 0.03},
{"filterName": "totalContents", "op": ">", "value": 20},
{"filterName": "followerGrowthIn30d", "op": ">", "value": 1000},
{"filterName": "avgVideosLikes", "op": ">", "value": 500}
],
"sortBy": "avgVideosEngagementRate",
"desc": true,
"pageSize": 50,
"offset": 0
}'const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filters: [{filterName: '<string>', value: 123, isFuzzySearch: true}],
pageSize: 50,
offset: 1,
desc: true,
sortBy: '<string>',
fields: {
profile: ['<string>'],
performance: ['<string>'],
audience: ['<string>'],
contact: ['<string>'],
'content-detail': {}
}
})
};
fetch('https://apiv3.creatordb.app/tiktok/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://apiv3.creatordb.app/tiktok/search"
payload = {
"filters": [
{
"filterName": "<string>",
"value": 123,
"isFuzzySearch": True
}
],
"pageSize": 50,
"offset": 1,
"desc": True,
"sortBy": "<string>",
"fields": {
"profile": ["<string>"],
"performance": ["<string>"],
"audience": ["<string>"],
"contact": ["<string>"],
"content-detail": {}
}
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apiv3.creatordb.app/tiktok/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filters' => [
[
'filterName' => '<string>',
'value' => 123,
'isFuzzySearch' => true
]
],
'pageSize' => 50,
'offset' => 1,
'desc' => true,
'sortBy' => '<string>',
'fields' => [
'profile' => [
'<string>'
],
'performance' => [
'<string>'
],
'audience' => [
'<string>'
],
'contact' => [
'<string>'
],
'content-detail' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://apiv3.creatordb.app/tiktok/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apiv3.creatordb.app/tiktok/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apiv3.creatordb.app/tiktok/search")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}")
.asString();{
"data": {
"creatorList": [
{
"displayName": "Ty Myers",
"uniqueId": "tymyers",
"avatarUrl": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/95a314aa4befbecaa494aab7e5f6d0cb~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=e4f46e62&x-expires=1768428000&x-signature=Ms7U88fImoMAYs24EQrMEFjXFeY%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=sg1",
"totalFollowers": 779800
},
{
"displayName": "barbie",
"uniqueId": "barbiechicc",
"avatarUrl": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/30332117a44f5d110f8275983e3fb0fc~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=bb9952be&x-expires=1753714800&x-signature=zotHqzcGBpvhUi4mN1shxuXzMMU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"totalFollowers": 235500
},
{
"displayName": "Rory Bland",
"uniqueId": "rorybland",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/0de0d03ca26837b005fa4232e99d1e0e~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=352087cd&x-expires=1766962800&x-signature=xJmcAIYn2LqU1%2BDGvsbsMuRdHcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 238700
},
{
"displayName": "𝔽𝕚𝕘𝕙𝕥𝕚𝕟𝕘",
"uniqueId": "fightzoneofficial0",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/0af25589aced72808751ba4c919db3c6~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=8d117d67&x-expires=1768467600&x-signature=KT2F8H%2FjReky%2BnpWpIvzSVW1OSs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 22000
},
{
"displayName": "Vanessa Mai",
"uniqueId": "vanessa.mai",
"avatarUrl": "https://p19-common-sign-useastred.tiktokcdn-eu.com/tos-useast2a-avt-0068-euttp/712c5cb8b82a369c92cd5348ebacabc8~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=1b65e83f&x-expires=1768417200&x-signature=eXQtvZydJDiuHfYvZToJodLJjus%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 1700000
},
{
"displayName": "linatejeirofc",
"uniqueId": "linatejeirofc_",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/8ed9039524261f7d7cc699412c46d81a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=7311701b&x-expires=1758495600&x-signature=ygXyejZSadm8bCM5wBCjBZNB0MA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
"totalFollowers": 4791
},
{
"displayName": "Tecnologías BG",
"uniqueId": "tecnologiasbg",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/4a40b9a4d114d6e6856f61ead0d9ca83~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=9bf28d33&x-expires=1768230000&x-signature=Q%2FymfDk5JcT7EEjlNifmt5PBxfE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 3296
},
{
"displayName": "BHP",
"uniqueId": "bhp",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/7340142468840554517~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=a8a6e235&x-expires=1768370400&x-signature=v8x9UBvD%2Bih2NC%2BfuCfvw8D%2BqZc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
"totalFollowers": 134500
}
],
"hasNextPage": false,
"nextOffset": 0,
"creditsUsed": 1,
"creditsAvailable": -1
},
"traceId": "f790925aeaa82fa64b24c1400cbf5e3e",
"timestamp": 1768326490384,
"errorCode": "",
"errorDescription": "",
"success": true
}Authorizations
The valid CreatorDB API key for authentication.
Body
TikTok search request parameters.
Filter objects that include filterName, op, and value. For all accepted filterName values and their data types, see Configuring Custom Search Filters and Examples.
10Show child attributes
Show child attributes
Number of results per page. Maximum: 100.
1 <= x <= 100Number of records to skip before returning results.
x >= 0Sort order for results. true for descending, false for ascending order.
Field to sort creators by. For example, totalFollowers sorts by follower count.
Enrich each search result with data from other endpoints on the same platform (e.g. profile, contact). Enrichment is billed per result returned, using each endpoint's pricing rules. Each key is a bare endpoint name, and each key's value follows that endpoint's fractional shape. Per-field costs are not published yet.
Show child attributes
Show child attributes
{
"profile": ["country"],
"content-detail": { "recentVideos": 3 },
"performance-history": { "pastDayRange": 90 }
}
Response
TikTok search results returned successfully.
Search results containing TikTok creators and pagination information.
Show child attributes
Show child attributes
Number of API credits consumed by this request.
1
Number of API credits remaining.
-1
Unique trace ID for each request.
"f8e4a3b2c1d0e9f8a7b6c5d4e3f2a1b0"
Time the response was generated, represented as a Unix timestamp in milliseconds.
1750732453635
Error code returned if the request fails. Empty if the request is successful.
""
Description of the error. Empty if the request is successful.
""
true if the request is successful.
true
curl -X POST "https://apiv3.creatordb.app/tiktok/search" \
-H "Content-Type: application/json" \
-H "api-key: <YOUR_API-KEY_HERE>" \
-d '{
"filters": [
{"filterName": "avgVideosEngagementRate", "op": ">", "value": 0.03},
{"filterName": "totalContents", "op": ">", "value": 20},
{"filterName": "followerGrowthIn30d", "op": ">", "value": 1000},
{"filterName": "avgVideosLikes", "op": ">", "value": 500}
],
"sortBy": "avgVideosEngagementRate",
"desc": true,
"pageSize": 50,
"offset": 0
}'const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filters: [{filterName: '<string>', value: 123, isFuzzySearch: true}],
pageSize: 50,
offset: 1,
desc: true,
sortBy: '<string>',
fields: {
profile: ['<string>'],
performance: ['<string>'],
audience: ['<string>'],
contact: ['<string>'],
'content-detail': {}
}
})
};
fetch('https://apiv3.creatordb.app/tiktok/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://apiv3.creatordb.app/tiktok/search"
payload = {
"filters": [
{
"filterName": "<string>",
"value": 123,
"isFuzzySearch": True
}
],
"pageSize": 50,
"offset": 1,
"desc": True,
"sortBy": "<string>",
"fields": {
"profile": ["<string>"],
"performance": ["<string>"],
"audience": ["<string>"],
"contact": ["<string>"],
"content-detail": {}
}
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apiv3.creatordb.app/tiktok/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filters' => [
[
'filterName' => '<string>',
'value' => 123,
'isFuzzySearch' => true
]
],
'pageSize' => 50,
'offset' => 1,
'desc' => true,
'sortBy' => '<string>',
'fields' => [
'profile' => [
'<string>'
],
'performance' => [
'<string>'
],
'audience' => [
'<string>'
],
'contact' => [
'<string>'
],
'content-detail' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://apiv3.creatordb.app/tiktok/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apiv3.creatordb.app/tiktok/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apiv3.creatordb.app/tiktok/search")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"filterName\": \"<string>\",\n \"value\": 123,\n \"isFuzzySearch\": true\n }\n ],\n \"pageSize\": 50,\n \"offset\": 1,\n \"desc\": true,\n \"sortBy\": \"<string>\",\n \"fields\": {\n \"profile\": [\n \"<string>\"\n ],\n \"performance\": [\n \"<string>\"\n ],\n \"audience\": [\n \"<string>\"\n ],\n \"contact\": [\n \"<string>\"\n ],\n \"content-detail\": {}\n }\n}")
.asString();{
"data": {
"creatorList": [
{
"displayName": "Ty Myers",
"uniqueId": "tymyers",
"avatarUrl": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/95a314aa4befbecaa494aab7e5f6d0cb~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=e4f46e62&x-expires=1768428000&x-signature=Ms7U88fImoMAYs24EQrMEFjXFeY%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=sg1",
"totalFollowers": 779800
},
{
"displayName": "barbie",
"uniqueId": "barbiechicc",
"avatarUrl": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/30332117a44f5d110f8275983e3fb0fc~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=bb9952be&x-expires=1753714800&x-signature=zotHqzcGBpvhUi4mN1shxuXzMMU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"totalFollowers": 235500
},
{
"displayName": "Rory Bland",
"uniqueId": "rorybland",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/0de0d03ca26837b005fa4232e99d1e0e~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=352087cd&x-expires=1766962800&x-signature=xJmcAIYn2LqU1%2BDGvsbsMuRdHcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 238700
},
{
"displayName": "𝔽𝕚𝕘𝕙𝕥𝕚𝕟𝕘",
"uniqueId": "fightzoneofficial0",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/0af25589aced72808751ba4c919db3c6~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=8d117d67&x-expires=1768467600&x-signature=KT2F8H%2FjReky%2BnpWpIvzSVW1OSs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 22000
},
{
"displayName": "Vanessa Mai",
"uniqueId": "vanessa.mai",
"avatarUrl": "https://p19-common-sign-useastred.tiktokcdn-eu.com/tos-useast2a-avt-0068-euttp/712c5cb8b82a369c92cd5348ebacabc8~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=1b65e83f&x-expires=1768417200&x-signature=eXQtvZydJDiuHfYvZToJodLJjus%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 1700000
},
{
"displayName": "linatejeirofc",
"uniqueId": "linatejeirofc_",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/8ed9039524261f7d7cc699412c46d81a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=7311701b&x-expires=1758495600&x-signature=ygXyejZSadm8bCM5wBCjBZNB0MA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
"totalFollowers": 4791
},
{
"displayName": "Tecnologías BG",
"uniqueId": "tecnologiasbg",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/4a40b9a4d114d6e6856f61ead0d9ca83~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=9bf28d33&x-expires=1768230000&x-signature=Q%2FymfDk5JcT7EEjlNifmt5PBxfE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=maliva",
"totalFollowers": 3296
},
{
"displayName": "BHP",
"uniqueId": "bhp",
"avatarUrl": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/7340142468840554517~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=a8a6e235&x-expires=1768370400&x-signature=v8x9UBvD%2Bih2NC%2BfuCfvw8D%2BqZc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
"totalFollowers": 134500
}
],
"hasNextPage": false,
"nextOffset": 0,
"creditsUsed": 1,
"creditsAvailable": -1
},
"traceId": "f790925aeaa82fa64b24c1400cbf5e3e",
"timestamp": 1768326490384,
"errorCode": "",
"errorDescription": "",
"success": true
}