Search for additional interest categories
Use this endpoint to search for additional interest categories. You need to specify one or more seed keywords and the seed keyword or keywords will be used to search for related additional interest categories.
The returned additional interest categories (keyword_id) with status as EFFECTIVE can be passed to the interest_keyword_ids field when calling /adgroup/create/. Then the additional interest categories will be used in the ad group to target audience.
> Note
> We recommend that you use the Consolidated Interest and Behavior API (/targeting/search/) to search for or list targeting categories and hashtags for interests and behaviors. This API provides a consolidated and efficient approach to access the necessary targeting information.
Request
Endpoint
Authentication & shop
| Name | In | Type | Sample | Description |
|---|---|---|---|---|
| Authorization | header | header | Bearer q360_live_ab12cd34_… | Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand. |
| platform_shop_id | query | string | 7000000000000000001 | Tài sản TikTok Business đã kết nối — "Mã tài sản" ở trang Nền tảng hoặc GET /v1/platforms (tài khoản quảng cáo cho Marketing API, tài khoản TikTok cho Organic / Messaging). Có thể bỏ khi chỉ kết nối một tài sản. |
Request parameters
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| keywords | query | string[] | No | - Either keywords or keyword has to be set.
- If keywords and keyword are passed simultaneously, keyword will be ignored.
A list of seed keywords that you provide to search for additional interest categories.
Each seed keyword will be used separately to generate corresponding additional interest categories.
Max size: 10. | |
| keyword | query | string | No | - Either keywords or keyword has to be set.
- If keywords and keyword are passed simultaneously, keyword will be ignored.
One seed keyword that you provide to search for additional interest categories. | |
| mode | query | string | No | Search mode.
Enum values: FUZZ_MATCH, SEMANTIC_RECOMMEND.
Default value: FUZZ_MATCH. | |
| language | query | string | No | Keyword language.
Enum values: fr, id, it, ja, ms, ar, vi, en, ru, es, th, tr, hi, zh, de, ko.
Default value: en.
Note that target audience languages are not limited by keyword languages. You can use English categories to target audience that do not speak English. | |
| limit | query | number | No | Number of additional interest categories you want to get. Default value: 50. Value range: 1-50. | |
| audience_type | query | string | No | Audience type.
Enum values:
- GENERAL_INTEREST: General interest. The audiences have a general, long-term interest in a video category.
- PURCHASE_INTENTION (deprecated): Purchase intent. The audiences' recent behavior suggests they may buy something related to a content category.
Default value: GENERAL_INTEREST. |
Request examples
curl -s "https://partner.quantri360.com/v1/tiktok_business/tool/interest_keyword/recommend/" \ -H "Authorization: Bearer $KEY"
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.get(
"https://partner.quantri360.com/v1/tiktok_business/tool/interest_keyword/recommend/",
params={},
headers={"Authorization": f"Bearer {KEY}"},
timeout=60,
)
print(r.status_code)
print(r.json())Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/tiktok_business/tool/interest_keyword/recommend/');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
method: 'GET',
headers: { Authorization: `Bearer ${KEY}` },
});
console.log(r.status, await r.json());PHP
<?php $key = 'q360_live_...'; // khóa API của brand $url = 'https://partner.quantri360.com/v1/tiktok_business/tool/interest_keyword/recommend/' . '?' . http_build_query([]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]); $res = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status, "\n", $res;
Response
Response fields (as returned by TikTok Business)
| Name | Type | Sample | Description |
|---|---|---|---|
| code | number | The return code. For the complete list of error codes and descriptions, see Appendix - Return Codes. | |
| message | string | The return message. For details, see Appendix - Return Codes. | |
| request_id | string | The log ID of a request, which uniquely identifies the request. | |
| data | object | Returned data. | |
| recommended_keywords | object[] | A list of additional interest categories. | |
| input_keyword | string | Returned only when `keywords` is included in the request and contains more than one keyword. The specific seed keyword for which the additional interest category is generated. For instance, if the additional interest category "Tester" is generated for the seed keyword "test", the returned `input_keyword` will be `"test"`, and `keyword` will be `"Tester"`. | |
| keyword | string | Additional interest category. | |
| keyword_id | string | ID of the additional interest category. | |
| language | string | Language of the additional interest category. Enum values: `fr`, `id`, `it`, `ja`, `ms`, `ar`, `vi`, `en`, `ru`, `es`, `th`, `tr`, `hi`, `zh`, `de`, `ko`. | |
| status | string | Whether the additional interest category will be effective. Enum values: - `EFFECTIVE`: effective. An additional interest category is effective if using it can reach a reasonable number of people. - `INEFFECTIVE`: ineffective. An additional interest category is ineffective if the estimated audience size is too small. Note: Only effective additional interest categories can be used in ad groups to target audiences. |
Response sample
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "202207011538040102452421060C18B592",
"data": {
"recommended_keywords": [
{
"status": "EFFECTIVE",
"language": "1",
"keyword": "Testament",
"keyword_id": "1915651459"
},
{
"status": "EFFECTIVE",
"language": "1",
"keyword": "Tester",
"keyword_id": "1916254642"
},
{
"status": "EFFECTIVE",
"language": "1",
"keyword": "Brain test",
"keyword_id": "2027741302"
},
{
"status": "EFFECTIVE",
"language": "1",
"keyword": "Test",
"keyword_id": "2027749623"
},
{
"status": "EFFECTIVE",
"language": "1",
"keyword": "Test drive",
"keyword_id": "2027768725"
},
...
]
}
}
(/code);
Get started
- Sign up for Partner
- Enable a data type of the Ads (Marketing API) group on the platform page
- Create an API key (tick the TikTok Business channel)
- Call it as in the examples above