curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"objective": 123,
"like": 123,
"period": 180,
"industry": "<string>",
"keyword": "<string>",
"page": 1,
"limit": 20,
"order_by": "for_you",
"country_code": "US",
"ad_format": 123,
"ad_language": "<string>",
"duration": 123,
"pattern_label": "<string>",
"search_id": "<string>",
"cookie": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads"
payload = {
"objective": 123,
"like": 123,
"period": 180,
"industry": "<string>",
"keyword": "<string>",
"page": 1,
"limit": 20,
"order_by": "for_you",
"country_code": "US",
"ad_format": 123,
"ad_language": "<string>",
"duration": 123,
"pattern_label": "<string>",
"search_id": "<string>",
"cookie": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
objective: 123,
like: 123,
period: 180,
industry: '<string>',
keyword: '<string>',
page: 1,
limit: 20,
order_by: 'for_you',
country_code: 'US',
ad_format: 123,
ad_language: '<string>',
duration: 123,
pattern_label: '<string>',
search_id: '<string>',
cookie: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads",
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([
'objective' => 123,
'like' => 123,
'period' => 180,
'industry' => '<string>',
'keyword' => '<string>',
'page' => 1,
'limit' => 20,
'order_by' => 'for_you',
'country_code' => 'US',
'ad_format' => 123,
'ad_language' => '<string>',
'duration' => 123,
'pattern_label' => '<string>',
'search_id' => '<string>',
'cookie' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads"
payload := strings.NewReader("{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"request_id": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "Request successful; this request will be billed.",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles",
"docs": "<string>",
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "This response has been cached and can be viewed directly via the URL below; it is valid for 24 hours and accessing the cached link incurs no additional charge. The cache is for request tracing only and does not affect the freshness of the API data, nor will it be returned again through the API.",
"cache_url": "<string>",
"router": "",
"params": {},
"data": "<unknown>"
}Search ads
Search ads
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"objective": 123,
"like": 123,
"period": 180,
"industry": "<string>",
"keyword": "<string>",
"page": 1,
"limit": 20,
"order_by": "for_you",
"country_code": "US",
"ad_format": 123,
"ad_language": "<string>",
"duration": 123,
"pattern_label": "<string>",
"search_id": "<string>",
"cookie": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads"
payload = {
"objective": 123,
"like": 123,
"period": 180,
"industry": "<string>",
"keyword": "<string>",
"page": 1,
"limit": 20,
"order_by": "for_you",
"country_code": "US",
"ad_format": 123,
"ad_language": "<string>",
"duration": 123,
"pattern_label": "<string>",
"search_id": "<string>",
"cookie": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
objective: 123,
like: 123,
period: 180,
industry: '<string>',
keyword: '<string>',
page: 1,
limit: 20,
order_by: 'for_you',
country_code: 'US',
ad_format: 123,
ad_language: '<string>',
duration: 123,
pattern_label: '<string>',
search_id: '<string>',
cookie: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads",
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([
'objective' => 123,
'like' => 123,
'period' => 180,
'industry' => '<string>',
'keyword' => '<string>',
'page' => 1,
'limit' => 20,
'order_by' => 'for_you',
'country_code' => 'US',
'ad_format' => 123,
'ad_language' => '<string>',
'duration' => 123,
'pattern_label' => '<string>',
'search_id' => '<string>',
'cookie' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads"
payload := strings.NewReader("{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"objective\": 123,\n \"like\": 123,\n \"period\": 180,\n \"industry\": \"<string>\",\n \"keyword\": \"<string>\",\n \"page\": 1,\n \"limit\": 20,\n \"order_by\": \"for_you\",\n \"country_code\": \"US\",\n \"ad_format\": 123,\n \"ad_language\": \"<string>\",\n \"duration\": 123,\n \"pattern_label\": \"<string>\",\n \"search_id\": \"<string>\",\n \"cookie\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"request_id": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "Request successful; this request will be billed.",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles",
"docs": "<string>",
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "This response has been cached and can be viewed directly via the URL below; it is valid for 24 hours and accessing the cached link incurs no additional charge. The cache is for request tracing only and does not affect the freshness of the API data, nor will it be returned again through the API.",
"cache_url": "<string>",
"router": "",
"params": {},
"data": "<unknown>"
}code is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Authorizations
AIsa API key. Get yours at https://aisa.one
Body
Ad objective (optional): 1=Traffic, 2=App install, 3=Conversion, 4=Video views, 5=Reach, 6=Lead generation, 7=Product sales
Performance rank (optional; 1=top 1-20%, 2=top 21-40%, 3=top 41-60%, 4=top 61-80%, 5=top 81-100%)
Time period (days)
Industry ID
Search keyword
Page number
Items per page
Sort by (for_you, likes)
Country code
Ad format (optional): 1=Spark Ads, 2=Non-Spark Ads
Ad language (optional)
Video duration filter value (optional)
Creative pattern label (optional)
Search ID (optional)
Custom Cookie string (optional)
Response
Successful Response
HTTP status code
Unique request identifier
Response message (EN-US)
Response message (ZH-CN)
Support message
The time the response was generated
The timestamp the response was generated
The timezone of the response time
Link to the API Swagger documentation for this endpoint
Cache message (EN-US)
Cache message (ZH-CN)
The URL to access the cached result
The endpoint that generated this response
The parameters used in the request
The response data