Get Top Ads
curl --request GET \
--url https://tiktok-api23.p.rapidapi.com/api/trending/ads \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://tiktok-api23.p.rapidapi.com/api/trending/ads"
headers = {"x-rapidapi-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-rapidapi-key': '<api-key>'}};
fetch('https://tiktok-api23.p.rapidapi.com/api/trending/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://tiktok-api23.p.rapidapi.com/api/trending/ads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-rapidapi-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tiktok-api23.p.rapidapi.com/api/trending/ads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-rapidapi-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tiktok-api23.p.rapidapi.com/api/trending/ads")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tiktok-api23.p.rapidapi.com/api/trending/ads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-rapidapi-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"pagination": {
"has_more": true,
"page": 1,
"size": 20,
"total_count": 500
},
"materials": [
{
"ad_title": "Save 25% at Target",
"brand_name": "HotWheelsLetsRace",
"cost": 1,
"ctr": 0.01,
"favorite": false,
"id": "7574848560483926024",
"industry_key": "label_30102000000",
"is_search": true,
"like": 154,
"objective_key": "campaign_objective_traffic",
"video_info": {
"vid": "v10033g50000d4fk9ovog65ppa0pi800",
"duration": 15.034,
"cover": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0051c001-sg/o8KC0QYjfzpAAyHRQ4EtBFHDNBPDlgTQMIfQyQ~tplv-noop.image?dr=18692&refresh_token=ce06c89b&x-expires=1765827974&x-signature=9M68jwl7ZTSjpRAJf2CnvoUxBpM%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my",
"video_url": {
"720p": "https://v16m-default.tiktokcdn.com/8b4cc8c593174434cd367fd6d9582ada/69405cc1/video/tos/alisg/tos-alisg-ve-0051c001-sg/okqGXQ0MAhRCJ0nW8XRbDAAlgxqefUR3NB3aeg/?a=0&bti=NTU4QDM1NGA%3D&ch=0&cr=0&dr=0&lr=tiktok_business&cd=0%7C0%7C1%7C0&cv=1&br=1570&bt=785&cs=0&ds=3&ft=cApXJCz7ThWHrs0-1GZmo0P&mime_type=video_mp4&qs=0&rc=ZDs2aDs6N2loZThlPDU7O0BpanI8Nm45cjM5NTMzODYzNEBiLjBhXzI1XjUxNi9jMF9hYSNiZ3BrMmQ0cWhhLS1kMC1zcw%3D%3D&vvpl=1&l=20251215210804481E21104311144D334E&btag=e00088000"
},
"width": 576,
"height": 1024
}
}
]
}
}{
"message": "Bad request"
}{
"message": "Invalid API key. Go to https://docs.rapidapi.com/docs/keys for more info."
}{
"message": "You are not subscribed to this API."
}{
"message": "Request failed with status 500: Internal Server Error",
"status_code": 500
}Trending
Get Top Ads
Get Top Ads
GET
/
api
/
trending
/
ads
Get Top Ads
curl --request GET \
--url https://tiktok-api23.p.rapidapi.com/api/trending/ads \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://tiktok-api23.p.rapidapi.com/api/trending/ads"
headers = {"x-rapidapi-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-rapidapi-key': '<api-key>'}};
fetch('https://tiktok-api23.p.rapidapi.com/api/trending/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://tiktok-api23.p.rapidapi.com/api/trending/ads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-rapidapi-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tiktok-api23.p.rapidapi.com/api/trending/ads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-rapidapi-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tiktok-api23.p.rapidapi.com/api/trending/ads")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tiktok-api23.p.rapidapi.com/api/trending/ads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-rapidapi-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"pagination": {
"has_more": true,
"page": 1,
"size": 20,
"total_count": 500
},
"materials": [
{
"ad_title": "Save 25% at Target",
"brand_name": "HotWheelsLetsRace",
"cost": 1,
"ctr": 0.01,
"favorite": false,
"id": "7574848560483926024",
"industry_key": "label_30102000000",
"is_search": true,
"like": 154,
"objective_key": "campaign_objective_traffic",
"video_info": {
"vid": "v10033g50000d4fk9ovog65ppa0pi800",
"duration": 15.034,
"cover": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0051c001-sg/o8KC0QYjfzpAAyHRQ4EtBFHDNBPDlgTQMIfQyQ~tplv-noop.image?dr=18692&refresh_token=ce06c89b&x-expires=1765827974&x-signature=9M68jwl7ZTSjpRAJf2CnvoUxBpM%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my",
"video_url": {
"720p": "https://v16m-default.tiktokcdn.com/8b4cc8c593174434cd367fd6d9582ada/69405cc1/video/tos/alisg/tos-alisg-ve-0051c001-sg/okqGXQ0MAhRCJ0nW8XRbDAAlgxqefUR3NB3aeg/?a=0&bti=NTU4QDM1NGA%3D&ch=0&cr=0&dr=0&lr=tiktok_business&cd=0%7C0%7C1%7C0&cv=1&br=1570&bt=785&cs=0&ds=3&ft=cApXJCz7ThWHrs0-1GZmo0P&mime_type=video_mp4&qs=0&rc=ZDs2aDs6N2loZThlPDU7O0BpanI8Nm45cjM5NTMzODYzNEBiLjBhXzI1XjUxNi9jMF9hYSNiZ3BrMmQ0cWhhLS1kMC1zcw%3D%3D&vvpl=1&l=20251215210804481E21104311144D334E&btag=e00088000"
},
"width": 576,
"height": 1024
}
}
]
}
}{
"message": "Bad request"
}{
"message": "Invalid API key. Go to https://docs.rapidapi.com/docs/keys for more info."
}{
"message": "You are not subscribed to this API."
}{
"message": "Request failed with status 500: Internal Server Error",
"status_code": 500
}Authorizations
Rapid API Key. How can I get Rapid API Key?
Query Parameters
Page
Example:
1
Period in days:
- 7: Last 7 days
- 30: Last 30 days
- 180: Last 180 days
Available options:
7, 30, 180 Example:
30
Number of items per page (maximum is 20)
Required range:
x <= 20Example:
20
Order by:
- impression: Reach
- ctr: CTR
- like: Like
- cvr: CRV
- play_6s_rate: 6s view rate
- play_2s_rate: 2s view rate
Available options:
impression, ctr, like, cvr, play_6s_rate, play_2s_rate Likes:
- 1: Top 1~20%
- 2: Top 21~40%
- 3: Top 41~60%
- 4: Top 61~80%
- 5: Top 81~100%
Available options:
1, 2, 3, 4, 5 Ad Format:
- 1: Spark Ads
- 2: Non-spark Ads
Available options:
1, 2 Objective:
- 1: Traffic
- 2: App installs
- 3: Conversions
- 4: Video views
- 5: Reach
- 6: Lead generation
- 7: Product sales
Available options:
1, 2, 3, 4, 5, 6, 7 Ads language. Supported language: en, es, ar, vi, th, de, id, pt, fr, ms, nl, ja, it, ro, zh-Hant, ko
Available options:
en, es, ar, vi, th, de, id, pt, fr, ms, nl, ja, it, ro, zh-Hant, ko Search ads keyword
Response
Success
Show child attributes
Show child attributes
Was this page helpful?
⌘I

