curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ads_id": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail"
payload = { "ads_id": "<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({ads_id: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail', 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/get_ads_detail",
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([
'ads_id' => '<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/get_ads_detail"
payload := strings.NewReader("{\n \"ads_id\": \"<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/get_ads_detail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ads_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail")
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 \"ads_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"code": 0,
"data": {
"ad_title": "BLACK FRIDAY SALE at 50% OFF + FREE SHIPPING",
"brand_name": "The Bamboo Breeze Shop",
"comment": 232,
"cost": 2,
"country_code": [
"US",
"CA",
"PH",
"SE",
"FI"
],
"ctr": 0.14,
"favorite": false,
"has_summary": true,
"highlight_text": "",
"id": "7131673574381518849",
"industry_key": "label_29100000000",
"is_search": false,
"keyword_list": [
"adjustable back posture corrector",
"poor posture",
"eliminate unnecessary back pain"
],
"landing_page": "https://thebamboobreezeshop.com/products/adjustable-back-shoulder-posture-corrector",
"like": 61242,
"objective_key": "campaign_objective_conversion",
"objectives": [
{
"label": "campaign_objective_conversion",
"value": 3
},
{
"label": "campaign_objective_product_sales",
"value": 15
}
],
"pattern_label": [],
"share": 6486,
"source": "TikTok Ads Manager",
"source_key": 1,
"tag": 3,
"video_info": {
"cover": "https://p16-sign-va.tiktokcdn.com/xxx",
"duration": 17,
"height": 1024,
"vid": "v12025gd0000cuavia7og65o5g7ucnb0",
"video_url": {
"720p": "https://v16m-default.tiktokcdn.com/xxx"
},
"width": 576
},
"voice_over": true
},
"msg": "OK"
},
"params": {
"ads_id": "7131673574381518849"
},
"router": "/api/v1/tiktok/ads/get_ads_detail"
}tiktok get_ads_detail
Get single ad detail
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ads_id": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail"
payload = { "ads_id": "<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({ads_id: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail', 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/get_ads_detail",
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([
'ads_id' => '<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/get_ads_detail"
payload := strings.NewReader("{\n \"ads_id\": \"<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/get_ads_detail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ads_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail")
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 \"ads_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"code": 0,
"data": {
"ad_title": "BLACK FRIDAY SALE at 50% OFF + FREE SHIPPING",
"brand_name": "The Bamboo Breeze Shop",
"comment": 232,
"cost": 2,
"country_code": [
"US",
"CA",
"PH",
"SE",
"FI"
],
"ctr": 0.14,
"favorite": false,
"has_summary": true,
"highlight_text": "",
"id": "7131673574381518849",
"industry_key": "label_29100000000",
"is_search": false,
"keyword_list": [
"adjustable back posture corrector",
"poor posture",
"eliminate unnecessary back pain"
],
"landing_page": "https://thebamboobreezeshop.com/products/adjustable-back-shoulder-posture-corrector",
"like": 61242,
"objective_key": "campaign_objective_conversion",
"objectives": [
{
"label": "campaign_objective_conversion",
"value": 3
},
{
"label": "campaign_objective_product_sales",
"value": 15
}
],
"pattern_label": [],
"share": 6486,
"source": "TikTok Ads Manager",
"source_key": 1,
"tag": 3,
"video_info": {
"cover": "https://p16-sign-va.tiktokcdn.com/xxx",
"duration": 17,
"height": 1024,
"vid": "v12025gd0000cuavia7og65o5g7ucnb0",
"video_url": {
"720p": "https://v16m-default.tiktokcdn.com/xxx"
},
"width": 576
},
"voice_over": true
},
"msg": "OK"
},
"params": {
"ads_id": "7131673574381518849"
},
"router": "/api/v1/tiktok/ads/get_ads_detail"
}code is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Request contract
- Method and path: POST /apis/v1/tikhub/tiktok/ads/get_ads_detail
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/tikhub/tiktok/ads/get_ads_detail - Runtime facts: 85ae03121f63417c9ff9d57a0fd59fdc6386fd71e2dc732a002843e6d8979d87
{
"operationId": "post_tikhub_tiktok_ads_get_ads_detail",
"method": "POST",
"path": "/apis/v1/tikhub/tiktok/ads/get_ads_detail",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"ads_id": {
"description": "Ad ID, required parameter, can be obtained from ad lists or TikTok Ads Creative Center",
"title": "Ads Id",
"type": "string"
},
"cookie": {
"description": "Custom Cookie string, optional parameter, can be used to fetch more data",
"title": "Cookie",
"type": "string"
}
},
"required": [
"ads_id"
],
"title": "Body_get_ads_detail_api_v1_tiktok_ads_get_ads_detail_post",
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.001,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Published reference price: $0.001 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.001
- Cost contract: fixed_success
- Published reference multiplier: 1.0
- Settlement evidence source: request_snapshot
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Response
Successful response. The outer object follows ResponseModel; the endpoint-specific payload is in data.
Return Description
ad_title: Ad titlebrand_name: Brand namecomment: Comment countcost: Cost level (1-5)country_code: List of target country codesctr: Click-through rate (percentage)favorite: Whether favoritedhas_summary: Whether has summaryhighlight_text: Highlight textid: Ad IDindustry_key: Industry labelis_search: Whether from search resultskeyword_list: List of keywordslanding_page: Landing page URLlike: Like countobjective_key: Ad objective keyobjectives: List of ad objectiveslabel: Objective labelvalue: Objective value
pattern_label: List of pattern labelsshare: Share countsource: Sourcesource_key: Source key valuetag: Tagvideo_info: Video informationvid: Video IDduration: Duration (seconds)cover: Cover image URLvideo_url: Video playback URLs720p: 720p quality video URL
width: Video widthheight: Video height
voice_over: Whether has voice over
The media-type example is an illustrative response from the official documentation, not a live response. Its router and params metadata use upstream naming.
Cache message (EN-US)
Cache message (ZH-CN)
The URL to access the cached result
HTTP status code
Endpoint-specific response payload. The official shared model does not declare a fixed type or field set. Use the operation's documented return fields or response example; an operation-specific schema, when present, describes the documented fields. Undocumented fields must be read from the actual response rather than assumed.
Link to the API Swagger documentation for this endpoint
Response message (EN-US)
Response message (ZH-CN)
The parameters used in the request
Unique request identifier
The endpoint that generated this response
Support message
The time the response was generated
The timestamp the response was generated
The timezone of the response time