curl --request POST \
--url https://app.sideshift.app/api/v1/scrape/tiktok/search \
--header 'Content-Type: application/json' \
--data '
{
"query": "cooking",
"cursor": "0"
}
'import requests
url = "https://app.sideshift.app/api/v1/scrape/tiktok/search"
payload = {
"query": "cooking",
"cursor": "0"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({query: 'cooking', cursor: '0'})
};
fetch('https://app.sideshift.app/api/v1/scrape/tiktok/search', 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://app.sideshift.app/api/v1/scrape/tiktok/search",
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([
'query' => 'cooking',
'cursor' => '0'
]),
CURLOPT_HTTPHEADER => [
"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://app.sideshift.app/api/v1/scrape/tiktok/search"
payload := strings.NewReader("{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.sideshift.app/api/v1/scrape/tiktok/search")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sideshift.app/api/v1/scrape/tiktok/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"cursor": "30",
"keywords": "cooking",
"has_more": true,
"search_item_list": [
{
"aweme_id": "7662485416846593293",
"desc": "Cajun butter steak bites over parmesan mashed potatoes🥩🧈 recipe below: Cajun butter🧈 -4 tbsp unsalted softened butter -1/2 tsp seasoned Cajun -1 tsp parsley -2 tsp minced garlic -1 tsp lemon juice -1/2 tsp Dijon mustard Mix until combined (optional: add red pepper flakes…",
"url": "https://www.tiktok.com/@nutritionwithnat_/video/7662485416846593293",
"create_time": 1784061434,
"music": {
"author": "Crowded House",
"id": "6926498184965392386",
"title": "Don't Dream It's Over",
"album": "The Very Very Best Of Crowded House - Deluxe Edition",
"id_str": "6926498184965392386",
"mid": "6926498184965392386",
"owner_nickname": "Crowded House",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"play_url": {
"uri": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o8MYMO1eNGDAvm27CsLIAFG7adFzRGcMIlefgs",
"url_list": [
"https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o8MYMO1eNGDAvm27CsLIAFG7adFzRGcMIlefgs"
]
}
},
"video": {
"data_size": 15781993,
"duration": 63,
"watermark_data_size": 14376172,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-cropcenter:500:800.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-cropcenter:500:800.jpeg"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/e6b0b345e645a7cdc953f4606856b77a/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c002-tx/oQNWdtxTxUvEiltiamibcS4nBQEagiKdlBVAI/",
"url_list": [
"https://v45.tiktokcdn-us.com/e6b0b345e645a7cdc953f4606856b77a/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c002-tx/oQNWdtxTxUvEiltiamibcS4nBQEagiKdlBVAI/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/owfRQE252iKsCsMtkNBvQiUOgCFfDqApVmDSYE~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/owfRQE252iKsCsMtkNBvQiUOgCFfDqApVmDSYE~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/b7182855280cdf50c4fed73c3c4327be/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c001-tx/oMBignQmDKi3ISbPaEiUcTi4ExWvlaRLA7B4d/",
"url_list": [
"https://v45.tiktokcdn-us.com/b7182855280cdf50c4fed73c3c4327be/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c001-tx/oMBignQmDKi3ISbPaEiUcTi4ExWvlaRLA7B4d/"
]
}
},
"author": {
"nickname": "Natalie | Nutritionist",
"unique_id": "nutritionwithnat_",
"region": "US",
"uid": "6846957697059030021",
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7662485416846593293",
"collect_count": 347965,
"comment_count": 1702,
"play_count": 13230117,
"share_count": 161446,
"digg_count": 825941,
"download_count": 15757
},
"author_user_id": "6846957697059030021",
"create_time_utc": "2026-07-14T20:37:14.000Z",
"media_id": "v12044gd0000d9b9r2nog65he9h96idg",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
]
},
"request_id": "req_8f3c9a2b1d4e6f70",
"upstream_calls": 1,
"meta": {
"credits_charged": 1,
"credits_remaining": 9998
}
}{
"error": "INVALID_INPUT",
"message": "Invalid request body.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UNAUTHORIZED",
"message": "Invalid scraper API key.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "INSUFFICIENT_SCRAPER_CREDITS",
"message": "Insufficient scraper credits.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "RESOURCE_NOT_FOUND",
"message": "Requested resource not found or unavailable.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "PAYLOAD_TOO_LARGE",
"message": "Request body must be 32KB or smaller.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "SCRAPER_RATE_LIMITED",
"message": "Scraper API rate limit exceeded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "INTERNAL_ERROR",
"message": "Request failed. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UPSTREAM_ERROR",
"message": "Data source failed. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UPSTREAM_TIMEOUT",
"message": "Data source timed out. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}Keyword search over videos, with recency and sort filters. Platform field names are preserved inside data. Standard billing: 1 SideShift credit per completed lookup; the Scraper dashboard shows the exact rate for an account with negotiated pricing.
curl --request POST \
--url https://app.sideshift.app/api/v1/scrape/tiktok/search \
--header 'Content-Type: application/json' \
--data '
{
"query": "cooking",
"cursor": "0"
}
'import requests
url = "https://app.sideshift.app/api/v1/scrape/tiktok/search"
payload = {
"query": "cooking",
"cursor": "0"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({query: 'cooking', cursor: '0'})
};
fetch('https://app.sideshift.app/api/v1/scrape/tiktok/search', 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://app.sideshift.app/api/v1/scrape/tiktok/search",
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([
'query' => 'cooking',
'cursor' => '0'
]),
CURLOPT_HTTPHEADER => [
"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://app.sideshift.app/api/v1/scrape/tiktok/search"
payload := strings.NewReader("{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.sideshift.app/api/v1/scrape/tiktok/search")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sideshift.app/api/v1/scrape/tiktok/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"cooking\",\n \"cursor\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"cursor": "30",
"keywords": "cooking",
"has_more": true,
"search_item_list": [
{
"aweme_id": "7662485416846593293",
"desc": "Cajun butter steak bites over parmesan mashed potatoes🥩🧈 recipe below: Cajun butter🧈 -4 tbsp unsalted softened butter -1/2 tsp seasoned Cajun -1 tsp parsley -2 tsp minced garlic -1 tsp lemon juice -1/2 tsp Dijon mustard Mix until combined (optional: add red pepper flakes…",
"url": "https://www.tiktok.com/@nutritionwithnat_/video/7662485416846593293",
"create_time": 1784061434,
"music": {
"author": "Crowded House",
"id": "6926498184965392386",
"title": "Don't Dream It's Over",
"album": "The Very Very Best Of Crowded House - Deluxe Edition",
"id_str": "6926498184965392386",
"mid": "6926498184965392386",
"owner_nickname": "Crowded House",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owAAXEeKUDAc2xTvFDCfC1slFA0IgIfziasVX6~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"play_url": {
"uri": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o8MYMO1eNGDAvm27CsLIAFG7adFzRGcMIlefgs",
"url_list": [
"https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o8MYMO1eNGDAvm27CsLIAFG7adFzRGcMIlefgs"
]
}
},
"video": {
"data_size": 15781993,
"duration": 63,
"watermark_data_size": 14376172,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-cropcenter:500:800.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-cropcenter:500:800.jpeg"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/e6b0b345e645a7cdc953f4606856b77a/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c002-tx/oQNWdtxTxUvEiltiamibcS4nBQEagiKdlBVAI/",
"url_list": [
"https://v45.tiktokcdn-us.com/e6b0b345e645a7cdc953f4606856b77a/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c002-tx/oQNWdtxTxUvEiltiamibcS4nBQEagiKdlBVAI/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oAkMMAxAQFLAgfWAUFlATdT8rvTjExIraQHfeJ~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/owfRQE252iKsCsMtkNBvQiUOgCFfDqApVmDSYE~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/owfRQE252iKsCsMtkNBvQiUOgCFfDqApVmDSYE~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/b7182855280cdf50c4fed73c3c4327be/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c001-tx/oMBignQmDKi3ISbPaEiUcTi4ExWvlaRLA7B4d/",
"url_list": [
"https://v45.tiktokcdn-us.com/b7182855280cdf50c4fed73c3c4327be/6a77e3da/video/tos/useast5/tos-useast5-ve-0068c001-tx/oMBignQmDKi3ISbPaEiUcTi4ExWvlaRLA7B4d/"
]
}
},
"author": {
"nickname": "Natalie | Nutritionist",
"unique_id": "nutritionwithnat_",
"region": "US",
"uid": "6846957697059030021",
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/71e31fb0ce7dcd04d047d44a16db0268~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7662485416846593293",
"collect_count": 347965,
"comment_count": 1702,
"play_count": 13230117,
"share_count": 161446,
"digg_count": 825941,
"download_count": 15757
},
"author_user_id": "6846957697059030021",
"create_time_utc": "2026-07-14T20:37:14.000Z",
"media_id": "v12044gd0000d9b9r2nog65he9h96idg",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
]
},
"request_id": "req_8f3c9a2b1d4e6f70",
"upstream_calls": 1,
"meta": {
"credits_charged": 1,
"credits_remaining": 9998
}
}{
"error": "INVALID_INPUT",
"message": "Invalid request body.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UNAUTHORIZED",
"message": "Invalid scraper API key.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "INSUFFICIENT_SCRAPER_CREDITS",
"message": "Insufficient scraper credits.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "RESOURCE_NOT_FOUND",
"message": "Requested resource not found or unavailable.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "PAYLOAD_TOO_LARGE",
"message": "Request body must be 32KB or smaller.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "SCRAPER_RATE_LIMITED",
"message": "Scraper API rate limit exceeded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "INTERNAL_ERROR",
"message": "Request failed. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UPSTREAM_ERROR",
"message": "Data source failed. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}{
"error": "UPSTREAM_TIMEOUT",
"message": "Data source timed out. Your credits were refunded.",
"request_id": "req_8f3c9a2b1d4e6f70"
}Body
- Option 1
- Option 2
Content search keyword or phrase. Accepted names: query or keywords. Send only one.
Content search keyword or phrase. Accepted names: query or keywords. Send only one.
Opaque pagination token.
32768Two-letter region code.
Numeric recency code.
0, 1, 7, 30, 90, 180 Numeric ranking code.
0, 1, 3 Accepted for compatibility and ignored; the full object is returned.
Named recency window.
all-time, yesterday, this-week, this-month, last-3-months, last-6-months Named ranking.
relevance, most-liked, date-posted Response
Completed lookup. Standard cost: 1 SideShift credit; account-specific pricing, when present, is shown in the Scraper dashboard and returned in the billing headers.
TikTok platform data payload. Field names and nesting are preserved.
Show child attributes
Show child attributes
SideShift request id. Include it in support requests.
Number of data-source lookups performed.
1 Per-request credit accounting (also surfaced in the X-Scraper-Credits-* response headers).
Show child attributes
Show child attributes