curl --request GET \
--url https://api.scraperize.com/v1/tiktok/search/hashtag \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/tiktok/search/hashtag"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/tiktok/search/hashtag', 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.scraperize.com/v1/tiktok/search/hashtag",
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-api-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://api.scraperize.com/v1/tiktok/search/hashtag"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-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://api.scraperize.com/v1/tiktok/search/hashtag")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/tiktok/search/hashtag")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"hashtag": {
"id": "75619",
"name": "lagos",
"url": "https://www.tiktok.com/tag/lagos",
"description": null,
"videoCount": 3433864,
"viewCount": 20527131299,
"isCommerce": false,
"coverUrl": null,
"profileImageUrl": null,
"announcement": null
},
"region": "NG",
"regionName": "Nigeria",
"servedRegion": "NG",
"videos": [
{
"id": "7664144953794219271",
"url": "https://www.tiktok.com/@fresh.dan.hajiya/video/7664144953794219271",
"type": "video",
"description": null,
"createdAt": "2026-07-19T07:56:49.000Z",
"language": "un",
"stats": {
"playCount": 86000,
"likeCount": 8957,
"commentCount": 222,
"shareCount": 3432,
"collectCount": 1589,
"repostCount": 0
},
"author": {
"id": "7636526947615065108",
"secUid": "MS4wLjABAAAA5wF3dHd45NnX6Rj4sr9FMXX-y736fClzWh0Tn_VNeYRK1R_VjYsqYkskZGMj6hKo",
"handle": "fresh.dan.hajiya",
"nickname": "Fresh Dan hajiya",
"bio": "Follow my page",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/178cb850f2008a7b1d0f5426eb8763ac~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=871efe03&x-expires=1791381600&x-signature=9HnyI0blj9HBTDp4gmWP1%2BvfH0s%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 3164,
"followingCount": 1216,
"likeCount": 19400,
"videoCount": 258,
"friendCount": 0,
"diggCount": 8874
}
},
"video": {
"duration": 35,
"width": 576,
"height": 1024,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 435728,
"quality": "lowest",
"size": 1960235,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oM6FHcFik4EtLEz1A0BIIghigfJsJpCqAB8AwH~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=ZVI4QJVB1lJ1fTGlHenGvfc4COE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oU8I6LiJFS0wPcq0ChF4gpwIBfAyiABtHAH1kI~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=%2FM9mO6%2BtioWQOSOWcUQke5APxrE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/owg6ti0CiIZIwQLHkcfF8r4AIlhP1BqFAB50Av~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=NZFaTvGauVVSwP9aemYoXMg9JX8%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000",
"downloadUrl": "https://webapp-sg.tiktok.com/ca9b50800b5d9639e0752de89c30b400/6ac65b32/kmoat/mps/logo/v2/r/p/v14044g50000d9e85sfog65qq88kfdu0/42a4122620344053ab2d146b8e941605/57a1158136616c98d53fe82878165df1/mp4/main.mp4?a=1988&bti=ODszNWYuMDE6&&bt=0&eid=1286&ft=bLZkAmIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmODk3aGU3Z2U2MzczOTU3NUBpM2duO3Q5cnY7PDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtLjY1My4vXjIxMC8vLl4xYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&definition=720p&du=36&item_id=7664144953794219271&l=20261005224534F520729309A358AC28C8&logo_type=tiktok_m&ply_type=2&policy=eyJ2bSI6MiwiY2siOiJ0dF9jaGFpbl90b2tlbiJ9&user_text=fresh.dan.hajiya&btag=e00088000",
"volume": {
"loudness": -29.5,
"peak": 0.15668
},
"formats": [
{
"gearName": "adapt_lower_720_1",
"qualityType": 14,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 565698,
"fps": 29,
"width": 720,
"height": 1280,
"size": 2545008,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAmCAL4qcEAktC3hH4QFdfQ38wi60ABV1IFIbi/?a=1988&bti=ODszNWYuMDE6&&bt=552&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=PDlnZTc6NDM8ZWU4NGdnaUBpM2duO3Q5cnY7PDMzODczNEA0YjYzLzFgNWIxYC9iMTNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6156b0726f1fc36b4743e712e6369c4d&tk=tt_chain_token&btag=e00048000"
},
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 435728,
"fps": 29,
"width": 576,
"height": 1024,
"size": 1960235,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 387147,
"fps": 29,
"width": 576,
"height": 1024,
"size": 1741728,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0lHI8iVqhq4uttdAQBAEFL6I01wQARCBkiFf2/?a=1988&bti=ODszNWYuMDE6&&bt=378&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=OGVoaDY7Nzo3PDpnZTtnaEBpM2duO3Q5cnY7PDMzODczNEAwYV9jLjUtNTAxMGNfYDZhYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=98091fea8dbcc2c90ba9e6dea8e49f7f&tk=tt_chain_token&btag=e00048000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7663386761804532498",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7663386761804532498",
"authorName": "Dan basi",
"album": null,
"duration": 46,
"preciseDuration": null,
"shootDuration": 46,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/d31b934dc66421ab31ae5aa0e0aacac6~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=34a35240&x-expires=1791381600&x-signature=AOni5hRKeTVR2XoXbWzg4DDk8RA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v45.tiktokcdn.com/faf9af5f17048e67bcc015e11563cff2/6ac509bd/video/tos/alisg/tos-alisg-v-27dcd7/osEOmEA1aLZ0jiGK2oBBawAKo9AfBUzA3EAWiO/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=M3d2b3A5cmR3PDMzODU8NEBpM3d2b3A5cmR3PDMzODU8NEBoYWptMmRjMGBhLS1kMS1zYSNoYWptMmRjMGBhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&btag=e0004d000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [
"Lagos"
],
"location": null,
"contentCategory": {
"id": 120,
"name": "General"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
},
{
"id": "7692749460610239751",
"url": "https://www.tiktok.com/@romeo_onchain/video/7692749460610239751",
"type": "video",
"description": "How I got rich overnight on Lagos life #lagoslife #lagos #game #fun",
"createdAt": "2026-10-04T09:56:56.000Z",
"language": "en",
"stats": {
"playCount": 99200,
"likeCount": 4499,
"commentCount": 356,
"shareCount": 477,
"collectCount": 553,
"repostCount": 0
},
"author": {
"id": "7470236297904669713",
"secUid": "MS4wLjABAAAAjZpQhCmfaRKrnsibq7xv-HBJqHrYH8zGwVhCt_EY72l9xh_oYEMRu4gH4Awe1Pru",
"handle": "romeo_onchain",
"nickname": "Romeo Onchain 🌹",
"bio": "Ai, crypto and finance creative 🥹🙂↔️",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/e825cd7463a8775874b51714bc5afbc7~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=9b1182bf&x-expires=1791381600&x-signature=pU3w%2FtEuJeSHwM3lY4Cp0sDCFPA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 2042,
"followingCount": 293,
"likeCount": 114600,
"videoCount": 535,
"friendCount": 0,
"diggCount": 37800
}
},
"video": {
"duration": 24,
"width": 576,
"height": 1250,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 278552,
"quality": "lowest",
"size": 850769,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oMFYBf8xCihuIuI3VB1wiAiCIOIRAuLPPAkYO7~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Ic7pOXmtaEyNc9YFTQRRPR%2Bxbt0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/osR1ACHSixuiL7IAFwRIYPVPIFiOBAB8CfnI3u~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Yyct%2Fw1ATW5TjHjVFn8Th41mZps%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/ogGEB4mHQCvh4QIDdejRIUxDfXveEAcIEWAELV~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=TsjmS3hs70fPTQD9gufbQ31H%2FVc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000",
"downloadUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oIejQIXWexHCGDIEcRCeI14RAgLoDVAEhvG4OI/?a=1988&bti=ODszNWYuMDE6&&bt=539&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Ojk7ZGVkNDVpNmc3aTxlZEBpanFycnY5cnI1ZTMzODczNEAyLl5gMDFhXzIxMDI0XmMxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6ee7902ce9a9b59d6a66daf65f8ede2f&tk=tt_chain_token&btag=e000b8000",
"volume": {
"loudness": -31.5,
"peak": 0.16788
},
"formats": [
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 278552,
"fps": 30,
"width": 576,
"height": 1250,
"size": 850769,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 193761,
"fps": 30,
"width": 576,
"height": 1250,
"size": 591797,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0BC7uXxEALYOIiNnfIPC28AEFUPRw3iJVABi1/?a=1988&bti=ODszNWYuMDE6&&bt=189&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGY5Nzc4PDc7NjM1ZmhkN0BpanFycnY5cnI1ZTMzODczNEBiLl5iNDBgNS0xXzEwLjAxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=aa18f55f3dabeec0043c3fbf7253db35&tk=tt_chain_token&btag=e000b8000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7686207409320184594",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7686207409320184594",
"authorName": "JØSH",
"album": null,
"duration": 36,
"preciseDuration": null,
"shootDuration": 36,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/18575df4bb2a7072adb48219721ad68a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=8f23e4f3&x-expires=1791381600&x-signature=2LuSmJeOUXtw96HnGSEzqB6QzDE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAo5uwrDECOxquTCDFAQKJsfBfKqABEEzg6Uq/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=anlqeXE5cnVoZDMzODU8NEBpanlqeXE5cnVoZDMzODU8NEBsMF5eMmQ0NmlhLS1kMS1zYSNsMF5eMmQ0NmlhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297971&VSignature=wX95TC7rgBApdl6fGFnJcg&btag=e00048000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [
{
"id": "87294604",
"name": "lagoslife",
"description": null
},
{
"id": "75619",
"name": "lagos",
"description": null
},
{
"id": "2006",
"name": "game",
"description": null
}
],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [],
"location": null,
"contentCategory": {
"id": 103,
"name": "Games"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
},
{
"id": "7686621200197487879",
"url": "https://www.tiktok.com/@yazeet1/video/7686621200197487879",
"type": "video",
"description": null,
"createdAt": "2026-09-17T21:36:09.000Z",
"language": "un",
"stats": {
"playCount": 127100,
"likeCount": 23100,
"commentCount": 206,
"shareCount": 357,
"collectCount": 3483,
"repostCount": 0
},
"author": {
"id": "7323184151870735366",
"secUid": "MS4wLjABAAAABhlx2Bf-v91p-X9tcTXgvSFV9PzX0D5kXMSsQxIYCxfAIcmFh8qt2phPHoBpGoed",
"handle": "yazeet1",
"nickname": "Yazeet",
"bio": "Proudly being a Muslim 🙏Ya Allah \nForgive All My Enemies 😭",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6655b2c322548df5c672a1352728fe2d~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=97d831db&x-expires=1791381600&x-signature=xrTKoIdYcfR9bmaVp6LVC%2BghiAU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 235700,
"followingCount": 29,
"likeCount": 5100000,
"videoCount": 1418,
"friendCount": 0,
"diggCount": 104200
}
},
"video": {
"duration": 18,
"width": 576,
"height": 1024,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 508981,
"quality": "lowest",
"size": 1187644,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/o4QYQEDQjueWARGVGLN8edfBynBIvIdAoQLpCj~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=8CUj8NuuUKB7auQ6c%2FICG4UR3Nk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oEGGdqIQQDAVvyWeBXLosaeQyUneTIAGGCLjDB~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=U8eFoq0MUbJx4T0PScJvejmW6XE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p19-common-sign.tiktokcdn.com/tos-alisg-p-0037/og3FUIgAfENpjXAqA5CvIXIsfzE6IBBUODgRrF~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=IVKIyhS9L%2Bhckd2Cnhq0FPqInGY%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000",
"downloadUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/ochzIU5j3DAVXACa8FFgBRqQKEIgOBnrEff2sE/?a=1988&bti=ODszNWYuMDE6&&bt=1290&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmNTM2NDYzMzNlMzY3OGU2ZUBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMyMjAuNjUuNWExLjMuNC4xYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=76fdd30d90834064d71b7bb7fe1f400e&tk=tt_chain_token&btag=e000b8000",
"volume": {
"loudness": -11.2,
"peak": 0.95499
},
"formats": [
{
"gearName": "adapt_lower_720_1",
"qualityType": 14,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 539807,
"fps": 30,
"width": 720,
"height": 1280,
"size": 1259573,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/okR6UB3fAgMEOQOq5FUFEzIrIBAfuB2t2gDjEj/?a=1988&bti=ODszNWYuMDE6&&bt=527&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmOmlnOjY4ZmRnNzg8OjY1OEBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtNC1fLTVhNTExNl41YTZhYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=2ed9ab3cac739c3d7edf6c7542ee47b1&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 508981,
"fps": 30,
"width": 576,
"height": 1024,
"size": 1187644,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 417604,
"fps": 30,
"width": 576,
"height": 1024,
"size": 974428,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oEIltqIENBF38gRAgfEAyFEBzjDBOrOxjf53NU/?a=1988&bti=ODszNWYuMDE6&&bt=407&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Z2Y6O2U1ZTo2OGk5PDtoZUBpamh2cmo5cnc4ZDMzODczNEAyMV8uYV5hX2ExMDIvMWFeYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=902cfb7cbf7ac7a009a113e1d12b47f4&tk=tt_chain_token&btag=e000b8000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7631712092269103880",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7631712092269103880",
"authorName": "S.m.g🎬_masama🦋",
"album": null,
"duration": 35,
"preciseDuration": null,
"shootDuration": 35,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/caaf03ec4a36ffa0f7f83efbdf445faf~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=1f0071f3&x-expires=1791381600&x-signature=nVSe4s0xDOAx41sZBvDTdVQuDPo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAAUEA5p8pCfWmS4cEIBF6UJBbDZgmQnEfDw6/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=andpaXg5cmhuOjMzODU8NEBpandpaXg5cmhuOjMzODU8NEBjZC8zMmRjZ2hhLS1kMS1zYSNjZC8zMmRjZ2hhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297970&VSignature=t_cNe2nEt3nfJ9P02kFBmA&btag=e00048000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [
"Lagos"
],
"location": null,
"contentCategory": {
"id": 120,
"name": "General"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
}
],
"mediaHeaders": {
"Cookie": "tt_chain_token=<session token returned by the API>",
"Referer": "https://www.tiktok.com/"
},
"count": 30,
"cursor": "30",
"hasMore": true,
"fetchedAt": "2026-10-05T14:45:36.742Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}Hashtag videos
Returns the videos TikTok shows for a hashtag in a region (default NG), up to 30 per page. Includes the hashtag (id, name, description, exact video and view counts, cover and profile images, any pinned announcement) and every video with its description, created date, stats (views, likes, comments, shares, saves, reposts — large view/like/comment/share counts are rounded; saves are exact), author (with stats, also rounded), video details (duration, size, covers, play/download URLs, every rendition, subtitles) or photo-post images, music (with its TikTok sound page and Apple Music / Spotify links), hashtags, mentions, tagged place, effects, stickers, link anchors, AI-generated labels, flags and related searches. servedRegion is the region the results are for. Pass the returned cursor to get the next page; it is null on the last page.
About the results: videos come in TikTok’s ranked order, not a complete or chronological list. A video can occasionally appear on more than one page, and the list ends after a few hundred videos at most, however many use the hashtag. Some hashtags are not available in every region; then the response is a 404 and another region may work.
Downloading video files: TikTok only serves video.playUrl, video.downloadUrl and video.formats[].url to requests that send the Cookie and Referer headers returned in mediaHeaders (without them: 403 Access Denied). Send both headers from your code, e.g. curl -H "Cookie: <mediaHeaders.Cookie>" -H "Referer: <mediaHeaders.Referer>" "<video.playUrl>" -o video.mp4. Covers, photo-post images, music and subtitles need no headers. Media URLs expire within hours.
Watermarks: playUrl and every formats[].url are watermark-free; downloadUrl is TikTok’s download copy with the TikTok logo and @username burned in.
curl --request GET \
--url https://api.scraperize.com/v1/tiktok/search/hashtag \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/tiktok/search/hashtag"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/tiktok/search/hashtag', 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.scraperize.com/v1/tiktok/search/hashtag",
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-api-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://api.scraperize.com/v1/tiktok/search/hashtag"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-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://api.scraperize.com/v1/tiktok/search/hashtag")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/tiktok/search/hashtag")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"hashtag": {
"id": "75619",
"name": "lagos",
"url": "https://www.tiktok.com/tag/lagos",
"description": null,
"videoCount": 3433864,
"viewCount": 20527131299,
"isCommerce": false,
"coverUrl": null,
"profileImageUrl": null,
"announcement": null
},
"region": "NG",
"regionName": "Nigeria",
"servedRegion": "NG",
"videos": [
{
"id": "7664144953794219271",
"url": "https://www.tiktok.com/@fresh.dan.hajiya/video/7664144953794219271",
"type": "video",
"description": null,
"createdAt": "2026-07-19T07:56:49.000Z",
"language": "un",
"stats": {
"playCount": 86000,
"likeCount": 8957,
"commentCount": 222,
"shareCount": 3432,
"collectCount": 1589,
"repostCount": 0
},
"author": {
"id": "7636526947615065108",
"secUid": "MS4wLjABAAAA5wF3dHd45NnX6Rj4sr9FMXX-y736fClzWh0Tn_VNeYRK1R_VjYsqYkskZGMj6hKo",
"handle": "fresh.dan.hajiya",
"nickname": "Fresh Dan hajiya",
"bio": "Follow my page",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/178cb850f2008a7b1d0f5426eb8763ac~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=871efe03&x-expires=1791381600&x-signature=9HnyI0blj9HBTDp4gmWP1%2BvfH0s%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 3164,
"followingCount": 1216,
"likeCount": 19400,
"videoCount": 258,
"friendCount": 0,
"diggCount": 8874
}
},
"video": {
"duration": 35,
"width": 576,
"height": 1024,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 435728,
"quality": "lowest",
"size": 1960235,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oM6FHcFik4EtLEz1A0BIIghigfJsJpCqAB8AwH~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=ZVI4QJVB1lJ1fTGlHenGvfc4COE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oU8I6LiJFS0wPcq0ChF4gpwIBfAyiABtHAH1kI~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=%2FM9mO6%2BtioWQOSOWcUQke5APxrE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/owg6ti0CiIZIwQLHkcfF8r4AIlhP1BqFAB50Av~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=NZFaTvGauVVSwP9aemYoXMg9JX8%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000",
"downloadUrl": "https://webapp-sg.tiktok.com/ca9b50800b5d9639e0752de89c30b400/6ac65b32/kmoat/mps/logo/v2/r/p/v14044g50000d9e85sfog65qq88kfdu0/42a4122620344053ab2d146b8e941605/57a1158136616c98d53fe82878165df1/mp4/main.mp4?a=1988&bti=ODszNWYuMDE6&&bt=0&eid=1286&ft=bLZkAmIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmODk3aGU3Z2U2MzczOTU3NUBpM2duO3Q5cnY7PDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtLjY1My4vXjIxMC8vLl4xYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&definition=720p&du=36&item_id=7664144953794219271&l=20261005224534F520729309A358AC28C8&logo_type=tiktok_m&ply_type=2&policy=eyJ2bSI6MiwiY2siOiJ0dF9jaGFpbl90b2tlbiJ9&user_text=fresh.dan.hajiya&btag=e00088000",
"volume": {
"loudness": -29.5,
"peak": 0.15668
},
"formats": [
{
"gearName": "adapt_lower_720_1",
"qualityType": 14,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 565698,
"fps": 29,
"width": 720,
"height": 1280,
"size": 2545008,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAmCAL4qcEAktC3hH4QFdfQ38wi60ABV1IFIbi/?a=1988&bti=ODszNWYuMDE6&&bt=552&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=PDlnZTc6NDM8ZWU4NGdnaUBpM2duO3Q5cnY7PDMzODczNEA0YjYzLzFgNWIxYC9iMTNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6156b0726f1fc36b4743e712e6369c4d&tk=tt_chain_token&btag=e00048000"
},
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 435728,
"fps": 29,
"width": 576,
"height": 1024,
"size": 1960235,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 387147,
"fps": 29,
"width": 576,
"height": 1024,
"size": 1741728,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0lHI8iVqhq4uttdAQBAEFL6I01wQARCBkiFf2/?a=1988&bti=ODszNWYuMDE6&&bt=378&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=OGVoaDY7Nzo3PDpnZTtnaEBpM2duO3Q5cnY7PDMzODczNEAwYV9jLjUtNTAxMGNfYDZhYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=98091fea8dbcc2c90ba9e6dea8e49f7f&tk=tt_chain_token&btag=e00048000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7663386761804532498",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7663386761804532498",
"authorName": "Dan basi",
"album": null,
"duration": 46,
"preciseDuration": null,
"shootDuration": 46,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/d31b934dc66421ab31ae5aa0e0aacac6~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=34a35240&x-expires=1791381600&x-signature=AOni5hRKeTVR2XoXbWzg4DDk8RA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v45.tiktokcdn.com/faf9af5f17048e67bcc015e11563cff2/6ac509bd/video/tos/alisg/tos-alisg-v-27dcd7/osEOmEA1aLZ0jiGK2oBBawAKo9AfBUzA3EAWiO/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=M3d2b3A5cmR3PDMzODU8NEBpM3d2b3A5cmR3PDMzODU8NEBoYWptMmRjMGBhLS1kMS1zYSNoYWptMmRjMGBhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&btag=e0004d000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [
"Lagos"
],
"location": null,
"contentCategory": {
"id": 120,
"name": "General"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
},
{
"id": "7692749460610239751",
"url": "https://www.tiktok.com/@romeo_onchain/video/7692749460610239751",
"type": "video",
"description": "How I got rich overnight on Lagos life #lagoslife #lagos #game #fun",
"createdAt": "2026-10-04T09:56:56.000Z",
"language": "en",
"stats": {
"playCount": 99200,
"likeCount": 4499,
"commentCount": 356,
"shareCount": 477,
"collectCount": 553,
"repostCount": 0
},
"author": {
"id": "7470236297904669713",
"secUid": "MS4wLjABAAAAjZpQhCmfaRKrnsibq7xv-HBJqHrYH8zGwVhCt_EY72l9xh_oYEMRu4gH4Awe1Pru",
"handle": "romeo_onchain",
"nickname": "Romeo Onchain 🌹",
"bio": "Ai, crypto and finance creative 🥹🙂↔️",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/e825cd7463a8775874b51714bc5afbc7~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=9b1182bf&x-expires=1791381600&x-signature=pU3w%2FtEuJeSHwM3lY4Cp0sDCFPA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 2042,
"followingCount": 293,
"likeCount": 114600,
"videoCount": 535,
"friendCount": 0,
"diggCount": 37800
}
},
"video": {
"duration": 24,
"width": 576,
"height": 1250,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 278552,
"quality": "lowest",
"size": 850769,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oMFYBf8xCihuIuI3VB1wiAiCIOIRAuLPPAkYO7~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Ic7pOXmtaEyNc9YFTQRRPR%2Bxbt0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/osR1ACHSixuiL7IAFwRIYPVPIFiOBAB8CfnI3u~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Yyct%2Fw1ATW5TjHjVFn8Th41mZps%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/ogGEB4mHQCvh4QIDdejRIUxDfXveEAcIEWAELV~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=TsjmS3hs70fPTQD9gufbQ31H%2FVc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000",
"downloadUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oIejQIXWexHCGDIEcRCeI14RAgLoDVAEhvG4OI/?a=1988&bti=ODszNWYuMDE6&&bt=539&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Ojk7ZGVkNDVpNmc3aTxlZEBpanFycnY5cnI1ZTMzODczNEAyLl5gMDFhXzIxMDI0XmMxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6ee7902ce9a9b59d6a66daf65f8ede2f&tk=tt_chain_token&btag=e000b8000",
"volume": {
"loudness": -31.5,
"peak": 0.16788
},
"formats": [
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 278552,
"fps": 30,
"width": 576,
"height": 1250,
"size": 850769,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 193761,
"fps": 30,
"width": 576,
"height": 1250,
"size": 591797,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0BC7uXxEALYOIiNnfIPC28AEFUPRw3iJVABi1/?a=1988&bti=ODszNWYuMDE6&&bt=189&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGY5Nzc4PDc7NjM1ZmhkN0BpanFycnY5cnI1ZTMzODczNEBiLl5iNDBgNS0xXzEwLjAxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=aa18f55f3dabeec0043c3fbf7253db35&tk=tt_chain_token&btag=e000b8000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7686207409320184594",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7686207409320184594",
"authorName": "JØSH",
"album": null,
"duration": 36,
"preciseDuration": null,
"shootDuration": 36,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/18575df4bb2a7072adb48219721ad68a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=8f23e4f3&x-expires=1791381600&x-signature=2LuSmJeOUXtw96HnGSEzqB6QzDE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAo5uwrDECOxquTCDFAQKJsfBfKqABEEzg6Uq/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=anlqeXE5cnVoZDMzODU8NEBpanlqeXE5cnVoZDMzODU8NEBsMF5eMmQ0NmlhLS1kMS1zYSNsMF5eMmQ0NmlhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297971&VSignature=wX95TC7rgBApdl6fGFnJcg&btag=e00048000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [
{
"id": "87294604",
"name": "lagoslife",
"description": null
},
{
"id": "75619",
"name": "lagos",
"description": null
},
{
"id": "2006",
"name": "game",
"description": null
}
],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [],
"location": null,
"contentCategory": {
"id": 103,
"name": "Games"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
},
{
"id": "7686621200197487879",
"url": "https://www.tiktok.com/@yazeet1/video/7686621200197487879",
"type": "video",
"description": null,
"createdAt": "2026-09-17T21:36:09.000Z",
"language": "un",
"stats": {
"playCount": 127100,
"likeCount": 23100,
"commentCount": 206,
"shareCount": 357,
"collectCount": 3483,
"repostCount": 0
},
"author": {
"id": "7323184151870735366",
"secUid": "MS4wLjABAAAABhlx2Bf-v91p-X9tcTXgvSFV9PzX0D5kXMSsQxIYCxfAIcmFh8qt2phPHoBpGoed",
"handle": "yazeet1",
"nickname": "Yazeet",
"bio": "Proudly being a Muslim 🙏Ya Allah \nForgive All My Enemies 😭",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6655b2c322548df5c672a1352728fe2d~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=97d831db&x-expires=1791381600&x-signature=xrTKoIdYcfR9bmaVp6LVC%2BghiAU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 235700,
"followingCount": 29,
"likeCount": 5100000,
"videoCount": 1418,
"friendCount": 0,
"diggCount": 104200
}
},
"video": {
"duration": 18,
"width": 576,
"height": 1024,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 508981,
"quality": "lowest",
"size": 1187644,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/o4QYQEDQjueWARGVGLN8edfBynBIvIdAoQLpCj~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=8CUj8NuuUKB7auQ6c%2FICG4UR3Nk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oEGGdqIQQDAVvyWeBXLosaeQyUneTIAGGCLjDB~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=U8eFoq0MUbJx4T0PScJvejmW6XE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"dynamicCoverUrl": "https://p19-common-sign.tiktokcdn.com/tos-alisg-p-0037/og3FUIgAfENpjXAqA5CvIXIsfzE6IBBUODgRrF~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=IVKIyhS9L%2Bhckd2Cnhq0FPqInGY%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000",
"downloadUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/ochzIU5j3DAVXACa8FFgBRqQKEIgOBnrEff2sE/?a=1988&bti=ODszNWYuMDE6&&bt=1290&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmNTM2NDYzMzNlMzY3OGU2ZUBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMyMjAuNjUuNWExLjMuNC4xYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=76fdd30d90834064d71b7bb7fe1f400e&tk=tt_chain_token&btag=e000b8000",
"volume": {
"loudness": -11.2,
"peak": 0.95499
},
"formats": [
{
"gearName": "adapt_lower_720_1",
"qualityType": 14,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 539807,
"fps": 30,
"width": 720,
"height": 1280,
"size": 1259573,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/okR6UB3fAgMEOQOq5FUFEzIrIBAfuB2t2gDjEj/?a=1988&bti=ODszNWYuMDE6&&bt=527&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmOmlnOjY4ZmRnNzg8OjY1OEBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtNC1fLTVhNTExNl41YTZhYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=2ed9ab3cac739c3d7edf6c7542ee47b1&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "lowest_540_0",
"qualityType": 25,
"codec": "h264",
"format": "mp4",
"bitrate": 508981,
"fps": 30,
"width": 576,
"height": 1024,
"size": 1187644,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000"
},
{
"gearName": "adapt_540_1",
"qualityType": 28,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 417604,
"fps": 30,
"width": 576,
"height": 1024,
"size": 974428,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oEIltqIENBF38gRAgfEAyFEBzjDBOrOxjf53NU/?a=1988&bti=ODszNWYuMDE6&&bt=407&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Z2Y6O2U1ZTo2OGk5PDtoZUBpamh2cmo5cnc4ZDMzODczNEAyMV8uYV5hX2ExMDIvMWFeYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=902cfb7cbf7ac7a009a113e1d12b47f4&tk=tt_chain_token&btag=e000b8000"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7631712092269103880",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7631712092269103880",
"authorName": "S.m.g🎬_masama🦋",
"album": null,
"duration": 35,
"preciseDuration": null,
"shootDuration": 35,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/caaf03ec4a36ffa0f7f83efbdf445faf~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=1f0071f3&x-expires=1791381600&x-signature=nVSe4s0xDOAx41sZBvDTdVQuDPo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
"playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAAUEA5p8pCfWmS4cEIBF6UJBbDZgmQnEfDw6/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=andpaXg5cmhuOjMzODU8NEBpandpaXg5cmhuOjMzODU8NEBjZC8zMmRjZ2hhLS1kMS1zYSNjZC8zMmRjZ2hhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297970&VSignature=t_cNe2nEt3nfJ9P02kFBmA&btag=e00048000&sp_exp=hash_v0",
"streaming": []
},
"hashtags": [],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
},
{
"id": "2559280207",
"name": "smootnes"
},
{
"id": "2559297390",
"name": "smootnes"
}
],
"stickerTexts": [
"Lagos"
],
"location": null,
"contentCategory": {
"id": 120,
"name": "General"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
}
],
"mediaHeaders": {
"Cookie": "tt_chain_token=<session token returned by the API>",
"Referer": "https://www.tiktok.com/"
},
"count": 30,
"cursor": "30",
"hasMore": true,
"fetchedAt": "2026-10-05T14:45:36.742Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}cache_max_age) are free.Copy for AI assistant
Copy for AI assistant
I want to make an API call to /v1/tiktok/search/hashtag. Here are the details:
Endpoint: GET https://api.scraperize.com/v1/tiktok/search/hashtag
Description: Returns the videos TikTok shows for a `hashtag` in a `region` (default NG), up to 30 per page. Includes the hashtag (id, name, description, exact video and view counts, cover and profile images, any pinned announcement) and every video with its description, created date, stats (views, likes, comments, shares, saves, reposts — large view/like/comment/share counts are rounded; saves are exact), author (with stats, also rounded), video details (duration, size, covers, play/download URLs, every rendition, subtitles) or photo-post images, music (with its TikTok sound page and Apple Music / Spotify links), hashtags, mentions, tagged place, effects, stickers, link anchors, AI-generated labels, flags and related searches. `servedRegion` is the region the results are for. Pass the returned `cursor` to get the next page; it is null on the last page.
Required Headers:
- x-api-key: Your API key
Parameters:
- hashtag (string) [required]: The hashtag to get videos for, without the `#` (letters, numbers and underscores; up to 100 characters).
- region (select): The region (country) to get results for, as a two-letter code (ISO 3166-1). Defaults to NG (Nigeria).
- cursor (string): The `cursor` from the previous response, to get the next page. Omit for the first page.
- cache_max_age (select): Optional. Return a cached result if one this age or newer exists — served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.
Example Response:
{
"data": {
"hashtag": {
"id": "75619",
"name": "lagos",
"url": "https://www.tiktok.com/tag/lagos",
"description": null,
"videoCount": 3433864,
"viewCount": 20527131299,
"isCommerce": false,
"coverUrl": null,
"profileImageUrl": null,
"announcement": null
},
"region": "NG",
"regionName": "Nigeria",
"servedRegion": "NG",
"videos": [
{
"id": "7664144953794219271",
"url": "https://www.tiktok.com/@fresh.dan.hajiya/video/7664144953794219271",
"type": "video",
"description": null,
"createdAt": "2026-07-19T07:56:49.000Z",
"language": "un",
"stats": {
"playCount": 86000,
"likeCount": 8957,
"commentCount": 222,
"shareCount": 3432,
"collectCount": 1589,
"repostCount": 0
},
"author": {
"id": "7636526947615065108",
"secUid": "MS4wLjABAAAA5wF3dHd45NnX6Rj4sr9FMXX-y736fClzWh0Tn_VNeYRK1R_VjYsqYkskZGMj6hKo",
"handle": "fresh.dan.hajiya",
"nickname": "Fresh Dan hajiya",
"bio": "Follow my page",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/178cb850f2008a7b1d0f5426eb8763ac~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=871efe03…",
"verified": false,
"privateAccount": false,
"stats": {
"followerCount": 3164,
"followingCount": 1216,
"likeCount": 19400,
"videoCount": 258,
"friendCount": 0,
"diggCount": 8874
}
},
"video": {
"duration": 35,
"width": 576,
"height": 1024,
"definition": "540p",
"format": "mp4",
"codec": "h264",
"bitrate": 435728,
"quality": "lowest",
"size": 1960235,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oM6FHcFik4EtLEz1A0BIIghigfJsJpCqAB8AwH~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
"originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oU8I6LiJFS0wPcq0ChF4gpwIBfAyiABtHAH1kI~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
"dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/owg6ti0CiIZIwQLHkcfF8r4AIlhP1BqFAB50Av~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD…",
"downloadUrl": "https://webapp-sg.tiktok.com/ca9b50800b5d9639e0752de89c30b400/6ac65b32/kmoat/mps/logo/v2/r/p/v14044g50000d9e85sfog65qq88kfdu0/42a4122620344053ab2d146b8e941605/5…",
"volume": {
"loudness": -29.5,
"peak": 0.15668
},
"formats": [
{
"gearName": "adapt_lower_720_1",
"qualityType": 14,
"codec": "h265_hvc1",
"format": "mp4",
"bitrate": 565698,
"fps": 29,
"width": 720,
"height": 1280,
"size": 2545008,
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAmCAL4qcEAktC3hH4QFdfQ38wi60ABV1IFIbi/?a=1988&bti=ODszNWYuMDE6&&bt=552&ft=-Csk_mIUPD…"
}
],
"subtitles": []
},
"photo": null,
"music": {
"id": "7663386761804532498",
"title": "original sound",
"url": "https://www.tiktok.com/music/original-sound-7663386761804532498",
"authorName": "Dan basi",
"album": null,
"duration": 46,
"preciseDuration": null,
"shootDuration": 46,
"original": true,
"isCopyrighted": false,
"isCommerceMusic": true,
"isUnlimitedMusic": false,
"isPrivate": false,
"coverUrl": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/d31b934dc66421ab31ae5aa0e0aacac6~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=34a3524…",
"playUrl": "https://v45.tiktokcdn.com/faf9af5f17048e67bcc015e11563cff2/6ac509bd/video/tos/alisg/tos-alisg-v-27dcd7/osEOmEA1aLZ0jiGK2oBBawAKo9AfBUzA3EAWiO/?a=1180&bti=ODszNW…",
"streaming": []
},
"hashtags": [],
"mentions": [],
"effects": [
{
"id": "33910467",
"name": "The real black and white"
}
],
"stickerTexts": [
"Lagos"
],
"location": null,
"contentCategory": {
"id": 120,
"name": "General"
},
"anchors": [],
"warnings": [],
"playlistId": null,
"isAd": false,
"isPinned": false,
"isPrivate": false,
"isCommerce": false,
"aigcDescription": null,
"aigcLabelType": null,
"duetEnabled": true,
"stitchEnabled": true,
"shareEnabled": true,
"canRepost": true,
"commentStatus": 0,
"suggestedSearches": []
}
],
"mediaHeaders": {
"Cookie": "tt_chain_token=<session token returned by the API>",
"Referer": "https://www.tiktok.com/"
},
"count": 30,
"cursor": "30",
"hasMore": true,
"fetchedAt": "2026-10-05T14:45:36.742Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}
Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
Authorizations
Your API key. Send it in the x-api-key header (or Authorization: Bearer <key>). Create and manage keys from your dashboard.
Query Parameters
The hashtag to get videos for, without the # (letters, numbers and underscores; up to 100 characters).
1 - 100The region (country) to get results for, as a two-letter code (ISO 3166-1). Defaults to NG (Nigeria).
AL, DZ, AR, AU, AT, AZ, BY, BE, BO, BR, KH, CM, CA, CL, CO, CR, CZ, EG, FR, DE, GH, GR, HK, IS, IE, IL, IT, JM, JP, KZ, KE, KW, LI, LT, LU, MX, MA, MZ, NA, NL, NG, MK, NO, PA, PE, PH, PT, PR, RO, SA, SG, ZA, KR, ES, SE, CH, TW, TH, TT, TN, TR, UG, UA, AE, GB, US, UY, UZ, VE The cursor from the previous response, to get the next page. Omit for the first page.
Optional. Return a cached result if one this age or newer exists — served for 0 credits with meta.cached=true and meta.cachedAt. Otherwise a fresh scrape runs (1 credit) and refreshes the cache. Omit to always scrape fresh.
1d, 3d, 7d, 14d, 30d