Create negative keywords
POST/search_ad/negative_keyword/add/Via 360: POST https://partner.quantri360.com/v1/tiktok_business/search_ad/negative_keyword/add/
Write endpoint — changes data on TikTok Business. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description
Use this endpoint to create negative keywords for Search Ads. If the user's search term matches a negative keyword, your ad in the campaign or ad group won't be shown.
You can either configure negative keywords for an ad group or a campaign:
- If you want to configure negative keywords for an ad group, you need to ensure Automatic Search Placement has been enabled for the ad group.
- If you want to configure negative keywords for a campaign, you need to ensure Automatic Search Placement has been enabled for at least one ad group within the campaign.
To learn about how to enable Automatic Search Placement for an ad group, refer to Create Search Ads.
Request
Endpoint
POST https://partner.quantri360.com/v1/tiktok_business/search_ad/negative_keyword/add/
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 |
|---|---|---|---|---|---|
| object_type | body | string | Yes | Object type. Use this field to specify whether you want to create negative keywords for a campaign or ad group.
Enum values:
- CAMPAIGN: campaign.
- ADGROUP: ad group. | |
| object_ids | body | string[] | Yes | Object IDs. Use this field to pass in campaign IDs or ad group IDs that you want to create negative keywords for.
Max size: 50.
Specify this field according to object_type:
- If object_type is CAMPAIGN, assign campaign IDs to this field.
- If object_type is ADGROUP, assign ad group IDs to this field. | |
| replace | body | boolean | No | Whether to replace all the existing negative keywords for the campaign or ad group with the keywords that you specify via keywords.
Enum values:
- true: To replace all the existing negative keywords.
- false: To add new negative keywords.
Default value: false. | |
| keywords | body | object[] | Yes | The list of negative keywords you want to create. Max size: 1,000. Note: For each ad group, you can configure a maximum of 10,000 negative keywords. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok_business/search_ad/negative_keyword/add/" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"object_type":"","object_ids":[],"keywords":[{"name":""}]}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok_business/search_ad/negative_keyword/add/",
params={},
json={
"object_type": "",
"object_ids": [],
"keywords": [
{
"name": ""
}
]
},
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/search_ad/negative_keyword/add/');
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: 'POST',
headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({"object_type":"","object_ids":[],"keywords":[{"name":""}]}),
});
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/search_ad/negative_keyword/add/' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"object_type":"","object_ids":[],"keywords":[{"name":""}]}');
$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 | Response code. For the complete list of response codes and descriptions, see Appendix-Return Code. | |
| message | string | Response 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. |
Response sample
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {}
}
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