Update all local changes

This commit is contained in:
Khoa Vo 2026-05-12 09:20:37 +07:00
parent 3557a87902
commit 9a4cd8d17d
43 changed files with 10045 additions and 880 deletions

32
Dockerfile.dev Normal file
View file

@ -0,0 +1,32 @@
# PureStream Development Dockerfile
# Copies all files to avoid Synology Drive volume mount issues
FROM mcr.microsoft.com/playwright/python:v1.49.1-jammy
WORKDIR /app
# Copy backend files
COPY backend/ /app/backend/
# Copy pre-built frontend
COPY frontend/dist/ /app/frontend/dist/
# Create directories for cache and session
RUN mkdir -p /app/cache /app/session
# Install Python dependencies
WORKDIR /app/backend
RUN pip install --no-cache-dir -r requirements.txt && \
pip install playwright-stealth && \
playwright install chromium
# Environment variables
ENV PYTHONUNBUFFERED=1
ENV CACHE_DIR=/app/cache
ENV MAX_CACHE_SIZE_MB=500
ENV CACHE_TTL_HOURS=24
ENV ADMIN_PASSWORD=admin123
EXPOSE 8002
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8002"]

129
all_responses.jsonl Normal file
View file

@ -0,0 +1,129 @@
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVO-avANJZMCu50sqwyWdbd&X-Gnarly=MODLMnkXmGDYM-RZIqNJo5P3I3iKVU4-ROxu/zgXHmHF1GlS5rbkCViztUnTximoSBmQfr6cWmY46hO43RRgn0/2SBgce7QYB52f8tKadmNwnXv1ZD-5tsY8DZXaU4Pidg/wiZ2pjvpMCunSTNQjeYpDIvSbU-Bw/o4ysdC91vwqM5JNFmmfNrVKVnI-UTmw122gL51cBFo0l/rOeSjD7tx4PVjsGKCrlVsjlS/hnJipqQiPrx-rpjUB0hluLPPOujw1G2VDUfp/NhRavAEySbLdyWSNdBDLLIrWGMWaLe73NqfTCqr6SVNXS0YRho8tpgv=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVO7R2ANJZMCu50sqwyWdoI&X-Gnarly=MHZcQSvFRnP6hV4aoUmFevG1F48XF8MczeAnSsZ8mYBsV/FxjdUEeyyLbg77rF8pMvmXK6tzUTso4--zoYaiVWfSAbwG8cZEQmFBo939R5e0nBS5qQ4r6M/kVtnbK76085WakKd4cwjWI8IILvu1/600gsSX8yyRH3kWuBmoI45HKLYkTz0YgL/vUFYBmhs88DiXH4IVpHnerEaTp5msnkFPOACVQpAt0KcHwjQUpJXphJl2XCBhPGcmBOa8ythBh3OZ0JvPvQbh0pyxglrqMgF5aCS60X7yRRARAXjykPnG3B5idTtl94IBBJzm2vCL/MI=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVO7R2ANJZMCu50sqwyWdoI&X-Gnarly=MaaOIhywqCVcMM4KJXtNFAAXlad7HcQgYofYVCHatg9bS4aLsaryqsZ63ny8Cp9IJ5FWCCG/yoRDt-GkFdyjVpuEfBP1Xp5iEroxv7ofDeCqK-ycCxDYFrgb/93IyIiGPTMQKciMI9IgDDQbaiACEvCt567-3l71mMyH91w-KambvDEkzWded1gcb6Ia-DpPf4//zhCXHPqcJapCGZpnPYr0iPmZuCb/Ckt3GD/S3LnT9IYn5WKbjdWNA3Tgx6eNVpH/hiPL11zLqqUK/b4f6QHsJyLdu5Zgg2Ab6eAyi7aD0Nmip7aBqeCAL-09JHytxrG=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVO7R2ANJZMCu50sqwyWdoI&X-Gnarly=MJB4Uq5Ln3OxLENWtzqcp6uk7e1wG4yuyGVhOFfbuKcJEgAhMUZ/R6QjtXNt58C1rH5gNryrqhJOlMMXkB1bjqLmNXKtv6kc8Cjr8Av50yQCq24GE3ntt4sR6U9S07VIX5K0mTaZ/3EsMPpwfbK1J8AtRWEeqvas9aheEzAX9IUWG3XOdjssb-sKHtZiWxJLQFnBSkEeyeReJSY5u1mEn5-uw8CEr5D0ItA8Z1SLsD/BhnXNzWcSu/KJ3xnRSjrHR34mJIxht8FqzrYdTmoDqJGaYpGt0tyGG8SjgtJQunPHT1IYkc7W7LOKTDv9rnTcriR=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/user/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C74087155%2C74444735%2C74534793%2C74757743%2C74782565%2C74879363%2C74926160%2C75004380%2C75004402%2C75014048%2C75030792%2C75132380%2C75150719%2C75163115%2C75183089%2C75204947%2C75207601%2C75224161%2C75227408%2C75236328%2C75248304%2C75252005%2C75257252%2C75266020%2C75269551%2C75289530%2C75308229%2C75312670%2C75328674%2C75331578%2C75331914%2C75334097%2C75341153%2C75350407%2C75352865%2C75352896%2C75358321%2C75373599%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&count=5&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&maxCursor=0&minCursor=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&scene=21&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVOs/vANJZMCu50sqwyWdb2&X-Gnarly=MCQNrzPzg6mGKi2E5ut2prctYLeCfVpFnmbdipb2qqj4xUgRP9HMykvs7wrw8mM911iSc68nBiGpP097elfkJDAStxtim55kX2DWbKu9RH1Cxq35Nfpxz5-1UN6X1Z/ARRm6/kIG-cQJzOM9UyiulvJmG3LhOxOL98mMLV26zdkb2wO8t1lNQ61sYKzY6iMQbBZBpYq30iPndHwN4QGerFQG4L1KHMLPY5RcR/L5zY4ohyER9mFrI2D3OWP98gRWGX95ATRHNVYItz1p-j531VaO6iuwyMdaXjSJ63K99BO9wwl82Tt5XZocmnIwtQt7FkG=", "keys": ["extra", "hasMore", "isTruncated", "log_pb", "maxCursor", "minCursor", "statusCode", "status_code", "status_msg", "total", "userList"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["parental_guardian_entrance", "device_limit_register_expired", "idfa_popup_allow", "mixed_age_consent_action", "status_code", "minor_control_type", "is_minor", "screen_time_management", "policy_info_list", "teen_mode", "teen_mode_self", "parental_guardian_mode", "preference_settings", "extra", "log_pb", "ad_personality_settings", "policy_notice_enable", "notify_parents_with_email", "auto_replay_count", "age_gate_info", "interface_control_settings", "private_settings", "commercial_content_library_url", "screen_time_management_self", "about_privacy_policy_url", "cmpl_enc", "parental_guardian_name"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jhXxTsWcFmk_mxeFu7FVJiU1QpT6j4Zp2Nn0qifCVaIby2I_sTTuDVNUkMQWFG9ordYXjeJlzMTZolItuDhSYwLRAz_GzTBIpIvZam_hKjpZ8EMK_CXdajfNMn02SK4cyJpN8W_Zp9bLaZgnqgww0GB92TEn-w==&X-Bogus=DFSzKIVOPOhANJZMCu50sqwyWdoI&X-Gnarly=MkVS3Rt45sThsfUARhwFSsScEPEbhaEyY8lQDIRXgHxMulieIobeHCOt4UU8xBcs9LV4zU58AeXja8hb8QWwf0ox8EcqZpuDf1fqF/obCZoshBwUNthc2ahdnvn0bkMnZM2MRLrHhlVd3PwgsWIni5S/VVo-ZcdGgEsq3ZaOzXLIEREhDIx6XVl/wwJVJyE-oOBc-pIIOt8J84KuZMFYxtSamGH7itr/jfnp6vhJrfTq0t42RwJHKsNz5KW0kU/aMq1jQc7rhvoGs3gOSeMp6d4o/68ACFwAn1zyENqDKtctq-Gi2UrLvuYduSiduVI5Qrb=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=aBPLK2LYEfdc4C3rq28mcau3WPOUlT_SXUlfsT7-X3Fuljn4nrKTqx4mRPnO82snvtTRSvX40TthIVioA8z4-ilva3f8VM4YckMtIPirc37Cdpz6rWnjyxDiEilBWY3LRCU0L04jBB7Saqmy6I5lz1apR0GEPw==&X-Bogus=DFSzKIVO2gUANJZMCu50sqwyWdoc&X-Gnarly=M5hFdB7JZIHI7TjMuyROGMKbKM9p97a6WRAmntTPOPELIrr-PUbHI-I0e-T-xZ8nqCLAkBJ8y00bunhdJ4zsi67e8D4tPJrFhjHZ2KcX0aCIeHblounU8C9N7yv-PxUcJR8UZq2HCGgbevVW5dv-YyD9673ZGXZ1xh2nQaIbBkKZx2c0LWZM/b-EAGiVbU7SZGDwo-LfIIfN8d-q1vmjV5hZjBJ1Pd2uXSxZCRD6gTP74FpIFJ1OAMG6cyLgH/vtENvk6IlTgHTM4JuqyHvolL9sWxF0YG4HA6KbOD8UNb75iYGW69sGfCn8BtS9I8XL37G=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=dmeaB_84ffdADJZ1dotu8YxbJQXM-QfYOpD2AP-HQGFIBhPt44pQCgpmqRTca-IeZl3YCn7x3zTQjd4XkIqtls2s_0WLkc3E7ldq0dBgfMAxGMn2NiGhEiVxVqYieOrqrrBPTZqO7y_NzaYvd1_qP4m-F9ehpw==&X-Bogus=DFSzKIVO1tXANJZMCu50sZwyWdLv&X-Gnarly=MFDZMlgU5RVn9iKTLH-bms-sAZ6QvXee9KS-q9fHHrBrtLY5MbpWR1B/1XcFqT9BDSgMiH4MAXU2buBdcGNiyvh5rgOcqRQJnQ58ulBrCsO85TC8P1Qox8ioNHF902vk8nr5aEjoxz5odXHpI-MDz1PUnCvnU1HPedxEE2BUnTVbWNvCDTUXHT4foZHlWAV8sTzWZcrUd2qymchRvGZLhe1EN05BWT4Oe107/xn8gh2cj67qfJFCVhzuwXyW9kJ7MU-zFAri6GCUs1JF1s2O4P5Jt1VmMzw8nq60BVpB/cEfdez52N7kV55HCm/saYHtd/b=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVO33UANJZMCu5Ml9nkBjaz&X-Gnarly=MHCx2gMU9Fr3JR5uJM0aFT8ZGEb71JoolaEem6ldXqM/8vInzcHp3esNiSrBkPhhNsMoE592mzhCbDkNIHpiMXHToKU99BKhyHFHkD9gkl8Qqf/9tytuHSDlvDGV62vXbvIwOnf3IUk7ELaI3e7hyURyb/Yv3wvxBeu4t33cp8eoG88cd3lbJcZEFTRnY9wUNzbNICYdo3CfTIbYrBZqhTkPjZBzHUPi1QiIj4EB2a-r-hJkk0JXfIC9khlNE4Y-ZxdkNmbDY1Zu4xdvJpyNYbrNqCr83XwP4-dm9ZGAFd6Wz6trKb1x7u74NXciY2K7BDf=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVOewsANJZMCu5Ml9nkBjGK&X-Gnarly=MH7K67YG6W4tCE9SFbzPOciq8hJPFljRK7FuDLEkgi33YKSITwUFPozbpmymZfS5XlDG7-9zvK2O6XWUmdQkpRYXw/UWpsBp81z3cBPnfOyeq/oYzK9kMxAvYUETBdVJh0oDDrHkbNOwlgfiahxKHaAi0/khjaX6cBN/Tffa9rIkk0szdqpEkl/6APqR8RAvxpimfX2zPy-/x81O7XXIvBkIpCt/FMi8eNxXf-r2wHGe7i8mlLOQFP8EKWnh3j7io6fbdsOi31mkJO4GQv84lGh7UzJgFTiYLf3uuXsezZDfnm/oPTQ6cdXRI-BRhUg81t/=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVOewsANJZMCu5Ml9nkBjGK&X-Gnarly=MaqXFiSY2-eenYr8AtVP6EF6exi0r/Vs9T0X-AChvofOrf-gsNQ3EabbE0en2bxZZItzxJlBrtJ7As-2aNY1-/hWWoePQm1QkiWZKfsGGUvyUmB70lmkP/hvPqQxi6MefWfAEEpxVCEQ4X062yMTy82/Ik/Yg3detcCwTKj7AKSDptRMFW3lDgVkZlRjbe0Z21MU6fUH2zkzXRNLLXRZBK8f7McV-W/jWI7Zcl1h47VB8M/MiP/m8354dDz5iAbTgkfTiUD2yAn0Ud5YwNNhAYlWskuRrRjltnxkDJAkKxwlgecZgntEKLOO4SO-f2EEYKI=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVOewsANJZMCu5Ml9nkBjGK&X-Gnarly=Mxu1eeSvlPAd-YKmHR01FH8nZkfal6U9ozuU6Xx6scUfCecay2mzls-LXEthJPQVElGVj0U6ClpiZax4syXuJJY2jG3ZEnCdLLLRdw1ngnRRUFrP6QtvhP9SBIcatp9Wt1B-VX7wUSO20nfdlPg4X-ZwQn36tSQs5R3F1b/9OkTplXua/FRjxTH/E7SjzRNYG6kxdFNUZFLtLGqSoN/m1t-MBUSjBSi1auMjhihoGpSF5gNGN3DMVsAxZ2/91McA4JKU8tQZR8bTiUsb0Xqf6YipVxsF2q9tTZrdUxcVzlw3UNzcHaumvleyXsZzY5Z27dW=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["notify_parents_with_email", "log_pb", "is_minor", "teen_mode", "screen_time_management_self", "parental_guardian_name", "mixed_age_consent_action", "age_gate_info", "interface_control_settings", "idfa_popup_allow", "status_code", "minor_control_type", "parental_guardian_mode", "about_privacy_policy_url", "ad_personality_settings", "teen_mode_self", "commercial_content_library_url", "policy_info_list", "auto_replay_count", "private_settings", "preference_settings", "extra", "screen_time_management", "parental_guardian_entrance", "cmpl_enc", "policy_notice_enable", "device_limit_register_expired"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/user/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C74087155%2C74444735%2C74534793%2C74757743%2C74782565%2C74879363%2C74926160%2C75004380%2C75004402%2C75014048%2C75030792%2C75132380%2C75150719%2C75163115%2C75183089%2C75204947%2C75207601%2C75224161%2C75227408%2C75236328%2C75248304%2C75252005%2C75257252%2C75266020%2C75269551%2C75289530%2C75308229%2C75312670%2C75328674%2C75331578%2C75331914%2C75334097%2C75341153%2C75350407%2C75352865%2C75352896%2C75358321%2C75373599%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&count=5&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&maxCursor=0&minCursor=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&scene=21&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVOzDGANJZMCu5Ml9nkBjVz&X-Gnarly=M/d4ozVuoLfrIBP5TIrzJSmJjnBP9l1MCC2INteQ0khWbDE15IAnep9RnCchKOtqXL2IYAgFq3rBF2gxdl6rbFPLogXDPieIYVNsO2AruFnhVd2s84s1ddKvrbEPKdztJBmCWg8Q0BBdWY83qjqcj1cid5HwVtizc7jb50JXQ0iseenUkpDbq3gUmrRgVdwzrPGNP53Ugd1Br3IFLHZUgIXUtmz1uYvPRhyzzlvL053SGlJ02cpOMONWNSIW0NiJVSjdF9XHbHgHDNQqMCOh7iIqcB8QE3EhCF3p5U9/oIgNBJFgr4C4RKLWKgZPy8VqhVz=", "keys": ["extra", "hasMore", "isTruncated", "log_pb", "maxCursor", "minCursor", "statusCode", "status_code", "status_msg", "total", "userList"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=vaWJZAtGc67pGvsUDCpx9qF7PLJbDR0ShHfut6csNu8T8NO5NKNd0kl_BD9uIIr1pHQrZx4GnCFgG4kyRHcofCwNQ-MNzT5NPNZ0uoM2O0ozXK5hThFr8yt-kcP8xHAAUSR80QSajaSM0NucTrnsou9zhlM1ug==&X-Bogus=DFSzKIVOh/kANJZMCu5Ml9nkBjGN&X-Gnarly=M5GerUrCO6btinWouA1m9xsO3josxAXx2nVROSSPovtT2AxYSk/59UFAAcn41/8X3Dq0YK2RuQN-ShBOZVvpwXsPGICJyZCDNP78G9QFhbcsomnji/n3FV8chiOfpu4DaYLs0qsZhlC3fQUd-ziUhtP4sBLXzVYlmQ9vvESw1ebJNnWGuCeaAzzUks-1jgLWdi3FULca5BckEyD8wRTBnaK/nH9ImghCsdKpZei/O3sv3UA-LCtnrC1As-PkwzQAglQgPWJK-dMoL0Izob5jv9PpryyZXoX3CR3gheOuZ6TvRgY56vg8kbZDCjz8S3xn81v=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=5JD8tqZyfDNGXubGRB1VGZzXa8df81ypXggNzLi1RfpU2odhW8MdnUEdmA7Rp9g1Adj0mnSl18K2E_qa1pMeToeQe95-GiAiDCIJTLjPgkf2Qzz8mFdikbu0nZNFT-woBj51BS3FohBSXN-wud1Eb1v0khWbyQ==&X-Bogus=DFSzKIVOLDiANJZMCu5Ml9nkBjVM&X-Gnarly=MalcefO355XPrxbD9QNT0hzk474hSskYEX9oyp5w3t4xMdeFrk-fZq4xq/iG4coW1eduSBe5m33qQFyaAsoEfgn5UdEWknjgF4cfYFcPHDFwtJsJWJRO20qxYqb371OU1k6czDsZnv30VRtdCLppaGEIefVxB98LNVMiRU/XY7GOG5GVeUhMSZQaS7c/dPJA-kBTy0P4gBuM6JEtFhtHsUmXOoAngrlUNNCnR0-Epv2hpauH/oeUCkrP-CKUzndk6sco1ujXr6Llkb7B6lEID59abV5FUcNNdB45CI-jVn4QnDojzUGxs57NbuhugskvOak=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=DmAyOtgr5D7k7whr0FN5S3c907c70fkEYkS4N6nDHjRh8aoRFvlFGascrXHBVwaqPUNmKve1y2Q5teOXMCRsHy2aVZQwVPM7wV7fYtNkQR6Ny_RmKvLO_ecHnPR9yoPS1dVHJPyQEBq3aMky1DrcrS_BD22WRw==&X-Bogus=DFSzKIVOk7UANJZMCu5MlInkBjcy&X-Gnarly=M5RsW3OndpQX07PY/pLRXNBxM-bKXoTXx2nOKDFKAPp1CMM5CXyiF3rghdHY5R2oiY9Gqo9xOEHdJXmocatropNDh9/1aV2LH90z/TAuUze-D4ufVBLty2Zx4O0qUdmCGotD8y4XfPpXln9dfSMdhrKeGCvXx39LacedrWgGiCDVLgTY7XDM2VIMbBMTXfixz1L212/cY31t5/K1Hc2Fpq3pIv7tse-MpHPR6mFNil2CNIuNO76KPyuvXv2jhiS/AQGAs/1fMkTfAeEdFVg22E3zO2YPRX8DxMV3h5omYMqWzqpMtA76aWsUVO3HXQlvJEu=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOYTxANaXRCu5Mr9nkBjGP&X-Gnarly=MFsDfVjUHxdxHoMrwJ-5o5RB4Jno1QI00OXv9Ygf3gs6oKJVnks/pAxQOjC4lhZg7xwcOjuexn2cq0MUoWJ8IEFa8DbAQWCultiNJHl0zTlIOuQu8ZFrY/nE/WJ4MlZD4BXtJLPhar1wrwd0MKxvWZbpM4y14DZUOwbJWqMc1ls/1XuO/0hsmdVTRYSdcVwJOtICmEQ/dXU4qZB1cbUAn3XtlaX2B702mzCmpdsuor7-6MivXQRxRF1tn75gtQ22ZpuVQuhIjUCJRIAvuckb4et/6qspJRmy5n6WM3by7uyW2VWi3/oY54fvEQ5fDisqeT/=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOZM2ANaXRCu5Mr9nkBjcC&X-Gnarly=Mkv8BmL98Z32nbU/HynqyGcrdjj1RAIHdkYhEcCdr5o4IwKGQa9GPvKVBecHzGWaz46Fp68RsJh-aGkJC0AUNtfUSuK2DbsRoyR64xwUH5NxtBvZm0afyf7A8UaN8gZiAUSVRh7dwhMv3k9hWFwHbn12Jw5d0ee77c1EqwfLIaNj4jtWCDtHYpKbRkxnck8ebYblrKwPmqRHl4Pv4XeChF/l-GQupKuxokQbynBgxJsj2kGvL/v76V1a5ZtkSB/1dgJipW7itYovBepiC5q4HrjR1vJaUmJxT96Stc0iAhazufj1lFP6NHWAj9UmHfLSdvw=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOZM2ANaXRCu5Mr9nkBjcC&X-Gnarly=McGhajgV3WSIulv8C5hlPwDT5qQkO1Mt4VrFXU5ndh0/gEEAtQtz64uloZbqZ/m2GfA/Tp6FznPVMP2fO1u5SXLPbRuLh2xR/T/M1-0d8hOnvHtkWfw9jtujcafc/HdZR/n/E0MDNPWk1qucG/TbBMVw20TOX4HIbxWYJsOqQV7gQpRk0/b4Th0onZSTaFFrTHewx6-8zW3LdVqCeOHoJnA3sHgRTLC68qj7C8Eg1M63f-r2yq6XaPL4nQtQ851cmGGJEzrHX0Kr9LUmieCF92r5CO39tda0Dbb23i-tPXUMC/cIDDmuHBrRZP9/YOKXyM/=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["idfa_popup_allow", "preference_settings", "log_pb", "parental_guardian_entrance", "parental_guardian_name", "about_privacy_policy_url", "age_gate_info", "policy_info_list", "notify_parents_with_email", "status_code", "teen_mode", "screen_time_management_self", "parental_guardian_mode", "cmpl_enc", "policy_notice_enable", "private_settings", "commercial_content_library_url", "minor_control_type", "screen_time_management", "ad_personality_settings", "device_limit_register_expired", "interface_control_settings", "mixed_age_consent_action", "auto_replay_count", "extra", "is_minor", "teen_mode_self"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOZM2ANaXRCu5Mr9nkBjcC&X-Gnarly=M8anZahwwTPOpaXDM78S7uBUhudNHLCTGavQzp-UNYz5oALomzgcCBlJjwsStHfrtJ/kWhkoYYbtrCv76XAOfYVPDu1WRwFDetSy-teM6AzjpHw8ey95s88d/j2zH6ksKBzmOIdXxnC3qmz2/AaNCjX-RMF0bOja0EvKl8fnqe/-EoM7RCE-tBtl5NJD5m8WFbY0Zu3-ruU63J7OH8H1FD/omM9TbGm2j18wHf8R6Npz6MT20w9V1YWW/tr3YppBVDOLjhKyS4iX53Lui1WSF0ut9guwPkmvNgYrQ3jNE5lpeEd7KcomON8QZ9HHm9HGY0k=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/user/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C74087155%2C74444735%2C74534793%2C74757743%2C74782565%2C74879363%2C74926160%2C75004380%2C75004402%2C75014048%2C75030792%2C75132380%2C75150719%2C75163115%2C75183089%2C75204947%2C75207601%2C75224161%2C75227408%2C75236328%2C75248304%2C75252005%2C75257252%2C75266020%2C75269551%2C75289530%2C75308229%2C75312670%2C75328674%2C75331578%2C75331914%2C75334097%2C75341153%2C75350407%2C75352865%2C75352896%2C75358321%2C75373599%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&count=5&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&maxCursor=0&minCursor=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&scene=21&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOwzhANaXRCu5Mr9nkBjaM&X-Gnarly=Mx6SIY4cZqmkgoiZ/RJd/0RORjrCRV8IutBy8P-SxfEgXpWOHlyd9rPtkK9WCbOT2WuobZ4G6wL1p8U3iNtJ7r/GzIqlCdCatn4nzLMEaMopCaOmM7fEH/HEZr1El8yc6QxvXUf4BM6LQ0HI6ELwkIzjSkaD-2LK4y0DILsRc9McEj/vGzOB7oO-qvf6nzeiRMTxGTrebboesi3AqImJufBtlk-ZY/PWzvxjhMLLTyt3n30Lyi17Kz8mw/pFvZD/pFEnfdyg-av5-Ntj/D8jp6kRZE-C9WnRVUoPu7K9oVRh8qveTOyASKQ-K2TBO5cGnmn=", "keys": ["extra", "hasMore", "isTruncated", "log_pb", "maxCursor", "minCursor", "statusCode", "status_code", "status_msg", "total", "userList"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=iP7BLLSTRYoau48HZeadiD-b4R29lMTKybJeoQbTa2Zl4Mtv1xCDOMuY3nCFQ9RHHLUzb9YGE84yL33maaqbhZE0c6-Oe4f7vV33oVov-msfr9pqQ8lYdNcp-U2kQnkhZn4PQ-Bb4t4R8PnoqRPyD4G9&X-Bogus=DFSzKwVOITiANaXRCu5Mr9nkBjcI&X-Gnarly=MxiGb-7TE7stSx584UszDQxskwC2dHF-6d87HZbKPa1s9i0oJ/1ydWeLLa-bekQIlqMdgl9f7IPv1Ncx0YZZ27vZr9NODdOD2KU38pda4g5dlu2OLhrfkt1rO7UQWOwftmy2H6FYARYPmP6gPt69VEvGS-GwspYDjdowk67qDbTUPIDWfa62kDmVPhSTHcFrS2uZ/LY5wT-iIVGI6e/A2p4e9MOeaoGfkafShYsI09/u22GvFKJF8YLpc2EJc7q3h3NT3duLdRM1V-UhN0e2Mm8tuNKhkU-OPBfF/RtRkvtK9zt9koyspJiy6CYA7qN0Wku=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=ukhcFRTjr8qLVY8zkblQk1J7HDs7LeQhNnjnEekI5dj6ZBD23o_SWDdlLZkCsa8MOw1uos6nf3VxBjNJlkFWgQ6hb1XrdM2WoGwauZR37I0SNuW3855v16TbKIHn9_avhwW4kOBNgKMZC3exgb85K_Rw&X-Bogus=DFSzKwVOYitANaXRCu5MronkBjaY&X-Gnarly=MwJmlsNN7KrdDoSfzAhSHtIXQ9bY/2cUg9QK7WGLdgjsXC-N4JLniza8pq1f47023/fQNqF4qd6-ZWar1fhg6Zlwxjf7do6NKjF4vS0TOPxCLmF4XFHEgXR5Bz2lhOP44lWkbNuaiXjAbyzKnSXvwWJK4GrVM9CYxlFbcpr9O/W/00POE/YI3974Hx7nFps07mTa0vCoNQNkCdOZXGIzTEypqV/091B4Nges3k8zVXNP5JICIhh9xlBJFx/phF9lTA/ifaUvmrUAyncvkbDEN/0xTrHpCfdLRQ4xCcaQwAU4TxC4imPDWlu8FMj7jHuPKOn=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=q9D_OQ61XHsUaUWBsR2d0cJRwXOMIPgfAWuuQt1tiyLICdA389BSr2tJfgIJ7X2P9nKwVwAw_IDzFWHXdl9CmTv1E9FgdzElWNDZnymAjVYkye_J7lipSGmEd0kdjNlTdQfRnype0S16pcpueBZXGYdZ&X-Bogus=DFSzKwVOdgGANaXRCu5MrInkBjVf&X-Gnarly=MH89qkAZV4ywyTzMhze6CYike8h3V5sjpnsVysVy0-q3x7YyyutWGN8UQOUXfYS96zQsaMTcXmeZzXh86OeekE/gqyBwhg7BXr55OBylNzNqdTaWt4Rz048n5pZukO59bSzn6E-OUBkQZ41QczQpTzUVoL5tY1B69wwk9ReL30bLw3wO6wZuBpe3EFg8jjcUSv4vSly7ae4Ge4h7gN7qZxbYJf6qGocxWLFyBDKJTR3B50DEpOWCFawnUM7CXjhn-duL6h-RW9HAoeCNeXAz413zeMa7pw1hhNM5w3cKlVBQT2wRPU2TqfFe/1zyJLsMUHR=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOzBJANaXRCu5KB4nkBjcV&X-Gnarly=MFEvVAJeop9aDjWNy-rR9z4tRq/iVX-pAHVZ6a1LCfZGsLNQ9WLhjftm4yTm29Q1u4ho14TslIEPlmg73iMBfHVqAIXczR9NFMrR3ZOgKn8ovnG40YM1/as/8x5E1wV81SzHzEOot6H62RnPfGqpVmLSS410rVtEVrIorsVw5iJpGGQQgGqcvCkDaI9PjAI2/qaB96oGqjcvdKwGATSznfCeRdVRwaVnJ6ltZxSX5rr0jq9t5DrfhJsMko3NbD4JpBlWoH4r3w0DlYvc51IJZxKLmgzYoRbsBN0NrAUzlqyfdm5n9noRBIYp1uqybo8ZB5R=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["teen_mode", "screen_time_management_self", "cmpl_enc", "notify_parents_with_email", "extra", "status_code", "device_limit_register_expired", "commercial_content_library_url", "mixed_age_consent_action", "log_pb", "policy_notice_enable", "teen_mode_self", "about_privacy_policy_url", "age_gate_info", "idfa_popup_allow", "preference_settings", "policy_info_list", "auto_replay_count", "is_minor", "screen_time_management", "parental_guardian_mode", "parental_guardian_entrance", "ad_personality_settings", "parental_guardian_name", "interface_control_settings", "private_settings", "minor_control_type"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOsmTANaXRCu5KQ9nkBjGa&X-Gnarly=Mwu0V3NjeUNojle4UpS7d4wjtBDAImWih8IZFp1Nds3hmtVLoROO2sFHt9BTf6m/Sqr1N4884YGrl9FZlQ9iRTr9QWbCVGJeJi3Cz4xl39srkcu-gMeuKD7mYNRCBQWAiR/V8wuZoqTigL9KHlLiqPfMyYId6ZoQQuDCb4RVPAd-0h/w2OPs30y6SkvBYpCvajCl7-iCmuRi-vsWH3dHvfnUTMyqOXEGrhnOL0Qua-Pg5gSpTawW10TIIJ32CdJ/XlIpJxB9H9zO0bULtDx57Y4I614NBSychOOQMEaHT7S2ChYqV1g0d8rgcMca6xo4WUw=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOsmTANaXRCu5KQ9nkBjGa&X-Gnarly=MkVOZHRaZaisuW814jngsOqZEuHYEglnCmuBd7Vldq/gOxSP3-SXgsWpRylC5884iswSIyLGiCAHXD0ddUHLv0QNNDjVNn/k31UxK1cVMbnTm/JoX7kdu267vbb9qEO8WI7L6IUctYha/BStqYa-qF2aRq3t8v58MrRWS2UEB3/djf1EgqyJxbImIQePHu/ooLS4Lq29M-ZkOBE8d2K9cPMe2KqET4TKKqQNRz5VCLjr/IfZtkGCSVPX0iBjDrIMG3dgRAEo/tJ3ClnJh0LNk/31Ty9nZ/XqPyrlnB8mpvxOQctn6/udJf/mCr0OqAx7DrR=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOsmTANaXRCu5KQ9nkBjGa&X-Gnarly=MJoFiWD7YqX/eQrZs/2uAfpwCev5g7S3T0DgDmgOSN05-SrWkH8HWw7fPIsvcjS-XBdfIi5gk0v6bStyii6XdQANpjxVqoQ5eUvyb9D0PqdliGaxq03ZGV4mvk9I6eGAO3T0i48aUUqnQKxYcuHDWoj5mrqQSSaIfrPK24fwBUiUpU--5mJi-Vx1UEwN5w5AWa7H4oA3Mk-kqoYO-7s0t9UI72bDn3wBxB4JHJacHxcVLCHIdNIXuRfIXBov9u3YnXFXtCTVlunFgozqhjjfKGj8yzZsg0YxkoAybdzGpRRQyM92eTdrE8BtuDgvHjaEr1Z=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/user/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C74087155%2C74444735%2C74534793%2C74757743%2C74782565%2C74879363%2C74926160%2C75004380%2C75004402%2C75014048%2C75030792%2C75132380%2C75150719%2C75163115%2C75183089%2C75204947%2C75207601%2C75224161%2C75227408%2C75236328%2C75248304%2C75252005%2C75257252%2C75266020%2C75269551%2C75289530%2C75308229%2C75312670%2C75328674%2C75331578%2C75331914%2C75334097%2C75341153%2C75350407%2C75352865%2C75352896%2C75358321%2C75373599%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&count=5&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&maxCursor=0&minCursor=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&scene=21&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOqjkANaXRCu5KQ9nkBjVY&X-Gnarly=MxQYbKbnUX8CQAnK0KuZeUppwu3BZ2L9yuMWhErSBdY6T0qYj9O0-i4SeOQslLoBptSkHUzmnirGrQyRjrCBXJdFowJOzEtXH9QFrgJP3LwQgHK-1WTdiBoyNy-ARwToPIBiDC/GrhWvUe9K5ns7V-GBs01R08yZIhwPzNhmxr2e6naIjLhKs9RSxJGGR0K8PxRrouf0jBMnW/9bpfFtCyG5VCV-sqtGCd6jaDp/b4xC2sn5/Bwdy9moQ3KoR/mQgdogsJI3tTFeT7gFAxnBZpDArKuzbtpfYYXO1oGNEw2t1CRtFXQDmRjtLQD5OG4h4kz=", "keys": ["extra", "hasMore", "isTruncated", "log_pb", "maxCursor", "minCursor", "statusCode", "status_code", "status_msg", "total", "userList"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=SpikihT0HCuxZMBNgO5iXRyyEm-IqCmpYkW3CsJ1ghaXlVnMjQNFMEZLnZknJjXBBV3k70oKAVvg6-0L3oaqBzWo8OyrYqohvOWozKkf1QLTcmAvbhJM1KI-3qaWjZNhp6t-vhAJrANeS_3ulT35PcoX&X-Bogus=DFSzKwVOUHiANaXRCu5KB4nkBjce&X-Gnarly=MOCbc0zbv-PVN/e2/reDDDPl-j3FFllFboDlvffSULjUWw5FNilJW7xHaVsFzI826NOtwZVEpashE25M/do/GpWQakKSFPAxyBCR6HhhXvh2iCyj39tbbuQquj6u75DkYJK6HoqHihGQxICFlMcQ0XY-O7vlkvie3473QJ7LVc1H91FilKO6LNcyU192hOVzxdC1w-Zlu3nG-mBui7AD3WucSxI2URaUOqT36/ynTS7Jb5wTjkaXAM69LKPkenDbYswkCvSzAFcsTtuaKrJBcgRcqWfujjKucoQzueprqAKwXuTuso67t12QZPt9/a2xViW=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=jEFh4qXUd7dfiAy6lh9Jszfu2u0Xyk9WKt-SGce2cSE-WT8A-9ImwrsIvNA0VGyZngpjYdcrrfcBPJWBdxN8YciCOf8fuZeKV5Q9VL-IFbK9OCUqMpHb1kfDVd2qYkaeae5YcmPse4-syTNtH8L3zmDZ&X-Bogus=DFSzKwVOLbGANaXRCu5KQ9nkBjGa&X-Gnarly=Mc8rlOX-9jbzlQgoZWN61ffuMdrOSayNo6OX/kmNiEK0E6mOV46W-g06VyVc8MMhoFV6ZK71nXx1G0V7vy3yDmkuUHQuXE//4NGXJymAZnppjfFh/7EfeiyQv3/2ZgaxGsWPvxzGdLeuJPzhpnBskiEcYKUWOmeLKeFGYPjD25Mlw9HVtLtRoaHmTGGeHL5pNL4aiO4yYFX4ZF3ry7xhJW60fhGGLcKs2lujBlzV62YWWIlzcYRDtBytqXtYP7z60mdaXyrMyK8YA1GCEsgSEk8iD/epXqh8LC/MxiLp8OGh08ljTAFVJYA5EdkSXE7NJez=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=i4IQuFvY5gcWjjGvdLYh1dLG20vJLOT8_LcOr8S4Gl4OmNHyDlR1w5uowTETN1P0A88nAxCsReSVMJ6emLH-htk0jc9Or5dxrZk4YElVrX5sWPGgl5BMOfLVvJl_j_68Br2O4pfiq6ePRZg3haaYng-g&X-Bogus=DFSzKwVOs20ANaXRCu5KQInkBjVp&X-Gnarly=M8GXCtVLNaC8xlsYjpPLz63cWx5dvxia-qfyE1X-spYaHtyA20LOxW6bXlhUpAl-11JsRtarUNM2eBdCwIjFJPHXi0MkN65Dq5VnAtCcbPb7cKUwKdYUFleq4LhMbo74JnVlN94kylPAZ5isEObXjxP2WQ7rTcMJjDOGWO1GfqW-6e95TFdgJARwz4Mk/Yne4j2j53CI3q4/vRz6wU8Q-J8vG/FfCvSXxQnO/VOrlcJDNyozIMJMRW4tK4VOe1ILy9yAEnI8F8TXFO63PPbHUryfS1-DsNXXIDfX2w-pXtRtokiPfzYx4QuY0X0wUH8905z=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOnAbANaXRCu5sjInkBjGS&X-Gnarly=M8Bp/QkCXqRVcUgwibf-Fi9BnbvU9RcncGIGJtAkAajmN9XMk1B3BZOxOcSqOHTXHqjynXbH4Dyxzi9WmOeECAg1TFTGCg0TZ2fqvzOMiDZIe46Uewl6sP9BQv6UDXtGuznkTWZroKFgH6WFKGApVxVuPF9GKwJKTawR9Ko0Xed/8U/ZGURlU-llUF12NM1zZ1hGxe3vHD2sVwxQjjfT5nr7rvtavGEz02avi3z8wytCj3PkwCKfHOgtp5CvWxnFq8Sq/O3fG1bW3vzn-2Sw1dUC9HmhhW0zJhHzZLiSqVQKfPHVT916wq6VB904-TYAbev=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOXgGANaXRCu5sjInkBjG4&X-Gnarly=Mx42uNfE3ZktvzdIP-z51Ery49tCh1bWb2JPcwwOQhowVvwwosNxWhBj9YxSVrV0yXg8UzxvUdghwmUkleHrXkAQpmHWb-w0L5uBo65OlirNH4JaQVEDYe371q0uUWG/DkEl0rh0XbR1HBUXsZOTJFRA7wfuX1KwvDgVgdMknRVjSzmUOsSj/0jAqHFpfogA6S2dtD/O4p0jkXrhj-O3RnhkTvhgjzPpOl-0ibE7AN3cogXrm3JzMQq/c5z064m2o3FIR6VKMtu6FD3MsYRnL5KzMkZEvUPuM3a/qaN8rQZbGTeCzFnuZAJw9d1u0ioGh2R=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOXgGANaXRCu5sjInkBjG4&X-Gnarly=MFs4TePIG9Oeh2TDIIahI2J3MhwQunRs-y9vRentBeoJcF1sk7ECsMVez-OLWO0uWAFoOMfI6c/DyJwykZXDv-Uu92ZTTdZbYnGJ-2azQ/7YmyxPlFYfOXoF9qBZ--B9mr/A4Rg1dia/M7I-0IctskiPx7Y-TMOZuZmsCANd0CQFjOq02yny9dyjOOdkJj27oNMpnCVRHa3YESWVqrgit/wxrc/uY7mjMW75GsY0q7IrRt9inNp9lOFwyTsXtiJHC52WeKw1vdcc6avC6UtZ2RzXnlqRll9V4WCNta9DFOEs80dIznI8Z7pj8hOzGw6gJEk=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOXgGANaXRCu5sjInkBjG4&X-Gnarly=MJG0LPxziM5kh6sMgCNa868jN41qENdcXTLs7crVr37ox1EYzF4PXNuv26my9ILZ7Nj9guwpbAuY83GqahbnEibQbL7vnBukA4obCPhR2JRy2DcO7hbnX0XhLhUCn818AmTKQSFrfeVbp9A1kVJsHaTzDofTmr8DO8pW/YveQNuuZ/LvMo80xOMIp5hJ0Hclmbi7yamFcLmoex7lWQiMqNcv2EImuM0gYJR42hCJIcUQHwoKTUqup78svaUdVpcXu5BYUyRMD/g5ICuOauqs4U4oHKiCfR-6gSF1/IeEADCVKm8yvzjOlR8jWKcr2cgSgG/=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/user/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C74087155%2C74444735%2C74534793%2C74757743%2C74782565%2C74879363%2C74926160%2C75004380%2C75004402%2C75014048%2C75030792%2C75132380%2C75150719%2C75163115%2C75183089%2C75204947%2C75207601%2C75224161%2C75227408%2C75236328%2C75248304%2C75252005%2C75257252%2C75266020%2C75269551%2C75289530%2C75308229%2C75312670%2C75328674%2C75331578%2C75331914%2C75334097%2C75341153%2C75350407%2C75352865%2C75352896%2C75358321%2C75373599%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&count=5&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&maxCursor=0&minCursor=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&scene=21&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOSDvANaXRCu5sjInkBjcY&X-Gnarly=MxWGlKrAfyNVBROX9m17y4nRdfBR1Z0iUl7jwFEncJljUxH3DOvNIZXrt/JyxldE9kQssC0P8fsPDHRjx4NOjlC5X8SE9xxAmDqHs1Qsp80h-89gj4gCiYT61lshGhBS8-SX/hEj7mFMnhVIZu4HZHc46rilkmbBi8I5BZFCXQ1gCnjKy-so2UySBHJW8ZoKp0TM0-F-QihQ45F8tKHKxbGIYgnbG3695oKjgvzg2Vk6S/5YALE1hy2-lsVB9ME4A6H4zds93hl0wmCTxJ4SdhNQs6jfKLtE7wt8/GtFL6ca2k9eu4R6XYSdhIiPjFS7tfZ=", "keys": ["extra", "hasMore", "isTruncated", "log_pb", "maxCursor", "minCursor", "statusCode", "status_code", "status_msg", "total", "userList"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["notify_parents_with_email", "log_pb", "parental_guardian_mode", "parental_guardian_entrance", "age_gate_info", "idfa_popup_allow", "private_settings", "commercial_content_library_url", "minor_control_type", "is_minor", "teen_mode_self", "cmpl_enc", "policy_notice_enable", "device_limit_register_expired", "interface_control_settings", "extra", "status_code", "teen_mode", "screen_time_management_self", "ad_personality_settings", "preference_settings", "policy_info_list", "auto_replay_count", "screen_time_management", "about_privacy_policy_url", "parental_guardian_name", "mixed_age_consent_action"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=oJZslKhk9Ki_kIndTqwzmjTib9yL5kJoC8EO43aWMo1pJ15mu8O-C25wyAzA120SgFpKoRNlStkrMHK2diPtIUvCTlOnQcplKeuutqJHyWzhTWJtcR3g5-jv4E-k0kd380c_ECueZ3ql3rtoph04nL1P&X-Bogus=DFSzKwVOyw0ANaXRCu5sjInkBjcm&X-Gnarly=MRYIKSf1gos4ClZ0pVq2wFVWNlT2Zwk9HRb99EdpQWEUH0/9Fp2jX4T0ZYItK9Qpf4q97CP78sKMuLi38hAX2QRuFSy9H1Kqm5Jotl4e8adEfOjYEJMEqvma3eqFPDb2vEYRZjqayLgmy2zlhXGOFv4bTxR7-KJi-9mo2C-5LXCxgF99EMCX5LxFthvpwFO52lKNMvO3rU4SXnFmqxQd27s9R/Uo-tJC3Ds0UJk3xAWWNMrBkse6jnFJUDVHDMdOR/ZvUMDKJ3HCUv6mGmr-APs05MvBQlpPfiLUzyzctPtvqLHl2d62UheMCC2k6wxyG-/=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=quMZXxYOmSKD1MUJRKz-__zRr3Tbyd-TTwrQ3jeYNjiLa-MgTel9dV4auvyqbbi4jjSccN94U34hJcZy5mD2RmDHN8r4w48i0GUijcxBthG4yvRA5Xw_FI7wBSG2xLyz8-07rLRtKfEWkIGdFOoKXtME&X-Bogus=DFSzKwVOlY2ANaXRCu5sj4nkBjcb&X-Gnarly=MkWV3puiaSNlgfErtsCz-EZqbs6/CZYv42wk4U1VujfLn1yBgeTPEfyFvDvnneVCQJVUy63V1LnXUQJs2SjLMx69bKl/lkc1OVsabQttOqAkT-1nlPQkthjpfSwwSX4ZL5WEjw429FSfEEkxvzAq8oa32pt81hymKn-h5mWZloNDeU-xxiNDnySxOtCOMteXbkDwr8CLPyow/VHCQFeEm-z3BjZ75kxYVfCtsZt8iwm50b-DnMXpN727Cja0CK1U/9Tr9fD2v4kL0L8rMuvT7kxwcdKv7STFQhs5211ZQ/gTP92jaIXANoUfPrD4mjGyjR/=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=3qKkKhV8iKR4sE-UtQHLrKlCoCiGoEi4k982rLDH4H5RiEtscci2za6E_qry6fotOGu5Gt33eF7NDiJCczcUK6pPIc6HbKZB8JYIBSxnjvBENA8WnYPJtPSLZYK9aLH5AxSvbb4CckrSbB8zScMvSoI6&X-Bogus=DFSzKwVOeWvANaXRCu5sH9nkBjGa&X-Gnarly=MR3zhi2KxobHr9XGLH1r4849RCOWeHnH4a67P5eaUC7f/tjZq7fTYGSyO-LsF5rUPk1-y32jJ3ex4F4zWZDf2DDKd9EYGZYxlx-1UFg7G4eUlLoiXSA9fr3uYrxOxeEgvhjimowK62SvAuBU4dSxkxO50et9LpScoUgOj6vakOajhWHOwwTn7TkR4-XjYDIN8cjwZtca1XWfSIzmNsW8yA20aI9mPxDn5YS9AKsJZATn5ZjmtunD/iG8lCr3cTXb2zi3HNq8yMX8z73DuOCpJYqJwAxORA6NOP6qfW8XkdVdr4/-V0gmFvnLalxuYCJgcXZ=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["age_gate_info", "policy_notice_enable", "device_limit_register_expired", "minor_control_type", "is_minor", "teen_mode_self", "screen_time_management_self", "ad_personality_settings", "interface_control_settings", "private_settings", "mixed_age_consent_action", "teen_mode", "parental_guardian_mode", "parental_guardian_entrance", "about_privacy_policy_url", "parental_guardian_name", "cmpl_enc", "commercial_content_library_url", "policy_info_list", "notify_parents_with_email", "log_pb", "extra", "status_code", "screen_time_management", "idfa_popup_allow", "preference_settings", "auto_replay_count"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=YX5_Pzp-I9P-hnwBm-gxPOnBn6pJaKhKpM76kUR5Tg818WK5MVrVlb8JYLfRN-XHFTqNDgmr34jv75hI-KlQEkzjg9WyqBPjfGy0AlqCvFJyl82aNKR15wntXb2tU0Mge1i9-hbM8UXLkkRHAL9J7JvvVww=&X-Bogus=DFSzKwVOFGGANaXRCu5Qln2J46KD&X-Gnarly=MkxaFuZ8r758WQXQEDWlF3n7ScRIgNc60L4GaqcVQhCyOqxiydyMQ2SMt2XxJtoA26hhmv7htAMJn9CicCMlUicyfRO9Tk00iCkcRd2ya0AYeaoEILlrn-oEohBjKwG8YVQhYswa81VFEbf0hvjonSbasC6GpZ5sjFaBKeXozGxDmMDTRhdKdUZrfLUU563ADx2yL1MfHYBIU0Dgved/GMsQF/s9RQo5jU9q7D7yeyC9dLNVAkpK9v4Mm48tzytpRY77KvoTKBVB9nHWUOjp0YmyWPktjnl6dkO2VfRFM4jN8CrR3/jas9UVHBEhnXZ0JFe=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=YX5_Pzp-I9P-hnwBm-gxPOnBn6pJaKhKpM76kUR5Tg818WK5MVrVlb8JYLfRN-XHFTqNDgmr34jv75hI-KlQEkzjg9WyqBPjfGy0AlqCvFJyl82aNKR15wntXb2tU0Mge1i9-hbM8UXLkkRHAL9J7JvvVww=&X-Bogus=DFSzKwVOEPkANaXRCu5Ql72J46Kw&X-Gnarly=M/aUeyIvSCAZuq2hqynH9uRPy627DDHPWum2DW6VK4rKpwdPaAwpdaWSXmUBWi4qnaUp6q3Z-KweMtSpQFobK-HiiR4WYyILZW6uCD4i5YlRWhw/1CDgjS6EdstFI8mMJW-N99GyOrdGUE-jh1Ibu6gKKLbOfWleLOG0saqGya7HfHue2F0mUbImqxDmP829BMQ4UVURVqFEkozqTKXWTiSgRaKVnfi0bz7sEBxRvWH/sA71xosJ8A9sCnCN/mKSDM9nc4nnqXGDaLi8UuGzhA5eFSSMglXgG/FDSzZV5xXUr5OjAXBuNe32ax/10kSyY9I=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1758119023&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=YX5_Pzp-I9P-hnwBm-gxPOnBn6pJaKhKpM76kUR5Tg818WK5MVrVlb8JYLfRN-XHFTqNDgmr34jv75hI-KlQEkzjg9WyqBPjfGy0AlqCvFJyl82aNKR15wntXb2tU0Mge1i9-hbM8UXLkkRHAL9J7JvvVww=&X-Bogus=DFSzKwVOEPkANaXRCu5Ql72J46Kw&X-Gnarly=MHXgnTlbDzvT2Ym7/upkmwikZ-KAP38GLn3sosduwJfqW5rZkh2U9e2rszRglf1gZggwnPgNVFqyjEFeAH6rD6XqTb0qiZP/DeZgFIUQZzFCHRwxRjH/T-MOwESPsvOJ6iUeyxfEdkNYzpNx5O60PH4h0Dg1lzKUTIhK94c611o47PhmFb32U/NC5uAym2/eFmZoQw3DE46QbU/R-aC/2SQjqGSKrERs/wR5E7a1qdXB20VOxLpKtFUC8HSyXiya1lU7xdoN3KrskiYzRPGS73MyDiXfFIR-WEqtIh65iF-0tBSxridAwOL9u0kxqMa7b8f=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=YX5_Pzp-I9P-hnwBm-gxPOnBn6pJaKhKpM76kUR5Tg818WK5MVrVlb8JYLfRN-XHFTqNDgmr34jv75hI-KlQEkzjg9WyqBPjfGy0AlqCvFJyl82aNKR15wntXb2tU0Mge1i9-hbM8UXLkkRHAL9J7JvvVww=&X-Bogus=DFSzKwVOEPkANaXRCu5Ql72J46Kw&X-Gnarly=MwG1SYgz/pwSJca53B5l6LlhXUXw1QxVupk471VBKJlhglKiekdVYrz17qAQrOv85hq-tn5U-GeHOdaj9zU2ds0BoaSJdw1Sb0JfN0q2jXP/0ioZ5qghDH5NjM-VI3Ze5gqVfO9pLj6NvzesulIdfpjnjMFW6tqszz9Tt7Z4u9nRQs5YWMjIB9MiSFM3xgZxzDcl7FJ/ia1XpCNHiI1rX2Dz/UzH4IBHyOuxMhXn8ndGNTc4LMDn3AsMWmgpJng2L3q5HMa0XFkPLvdILfT7zjSBKZx42PWcoYhBydzOQuBBjpaXwG5zEqoy1aBoaFkHT3z=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=YX5_Pzp-I9P-hnwBm-gxPOnBn6pJaKhKpM76kUR5Tg818WK5MVrVlb8JYLfRN-XHFTqNDgmr34jv75hI-KlQEkzjg9WyqBPjfGy0AlqCvFJyl82aNKR15wntXb2tU0Mge1i9-hbM8UXLkkRHAL9J7JvvVww=&X-Bogus=DFSzKwVOF2iANaXRCu5Qln2J46Kg&X-Gnarly=MFUnMWJ6mcMOylEv5sqMZrC4b7PvFchS-mkrOQKpREBs3iCwXQCvNiq6S5BsVyVCVUXFF9W9FrDixoJwSJqdpZNk7hUSSQs009XddPWH3lm2xDM1-bBDdLtzxsctGZaTvu5F11HpY-EKdNmGz-I0Sl7tl9fyDWgO-3-8PmizrSSHQFAeBCsn3VX0gJ7HXZtUSbnxcFMKldAxR1bLrR2BaJnw9kN-ZjmrD5Bax2nESqB62GpBHimE6ki4GR0UJPcDXm4XKtrKDDYE7GQDo0V23WLzfWDzUmhtDhdGmrEHMKZtIZJ-s39uqJG0jzmOPeDPh5R=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=_8spkAsXozIV7PzDc6cHa-lzwC5ElPcb3pW21f6ZTqEMYC6GOoTJOSvvaSjXUS1WbN-eBoPKFHLOZkHemcqwlb1jDk0HWQ6uq4W9oPBPbsilfWMAqeUlAWfuUnPx_7Ek9nV2Z5t6uRsNbydqgyVGLKX40mo=&X-Bogus=DFSzKwVOdiiANaXRCu5Ql72J46Kn&X-Gnarly=MCBiioNAC36OowFL6cwu8md0WjsB5Ppoy5HIWdv9HOgOZuX4oik6JxQ3RwtXHOIAepuLdKl8WK89npqZdzAjcvZ4TQWLzlJe9gt-k7xK-gYgnhrWh8CT2n0KxTaMY0-JpC2pd4czZiLQctwpEqoXDj9hDq2ReopOODleIVjMGlkXPkbZEriXsQuDwjEka8AfO3cOY1lhD7RrGBSYc9kQcGOdaFvYqszQVvIFT-8b5uJzjg4s02oCZ4SdNVJM6pa1tfTJ7X-8UB0TDaEPC198d3Hs5TSxnd5k09k9tFVNjGGlBIlnEHSriPlLYweTFva8ban=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=Zj7ZNUoPtai4TUSDXD5GVFD16VaZ1oX86MjhvCJ24GNoGfL_Vja3J5S31M_gxCHKL-Xjt7cyT-lvf0L07SzTRbOVurvWIFpWI0EBqz5rnSCr_w_Ee1nvlQYE7g4PQ9Bov5XxlPukdSTPV2T1L1E1cD3yUuY=&X-Bogus=DFSzKwVOWvGANaXRCu5Qld2J46s0&X-Gnarly=MCtxMPm5PIsMP0HWsKYO669bzcVyX42VU5LUsYh0vr3VyqE9nYWpnQiBVA9iZGtvv3u4/3DDcGtzPnMyIxqxPq0ZbYqTX8kTx7XKMHgS2PldITN292KrxwuvY3RlOkwRpHx9FsmE3Xz1zZgTSh2qswmHE58fiX18HBl1rLXCCbSTHSA8H/4ccLJD1dNgknCoUdWJXSfipXO8u8EpJq7PccV-bXhEs6hYUUlakqLLYWQFpkbFHXdGdrrSqN6uD6Tg/Kv6kOM93czgzBcqw1bhEf4Y623Dzi9bf0AgkqELJpZosZcRHek55GKCt10NWSeKNpA=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&current_placeholder=&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_group_id=&from_page=search&history_len=1&history_list_v2=%25255B%25255D&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&req_source=webapp_search_blank_page&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["data", "status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&fromWeb=1&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["screen_time_management_self", "parental_guardian_entrance", "ad_personality_settings", "private_settings", "mixed_age_consent_action", "minor_control_type", "teen_mode", "teen_mode_self", "age_gate_info", "device_limit_register_expired", "commercial_content_library_url", "preference_settings", "notify_parents_with_email", "is_minor", "about_privacy_policy_url", "cmpl_enc", "idfa_popup_allow", "extra", "log_pb", "screen_time_management", "parental_guardian_name", "policy_notice_enable", "policy_info_list", "auto_replay_count", "status_code", "parental_guardian_mode", "interface_control_settings"]}
{"url": "https://www.tiktok.com/node-webapp/api/login-config", "keys": ["statusCode", "config"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/preload/item_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=2&coverFormat=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&language=en&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=&X-Bogus=DFSzKwVOK1iANHwJCu5Qdn2J46KL&X-Gnarly=MOYEGOTA9IUFqX3-vgHO7rMHjQn6fFixR1104VecgcYt5Y4lDEWVlYS20N0YwXHbt0KTQg7pWNWB27tR5vLahSbKsr4BeozAwq0dU8Y4cnT2u7uF-Gh2SugVrx42C8mWeWEdNRXlkAN4LeWjoreW4cvxOhWyJpTOKYk5bsBylmMuhcOQlSzA4k8wi6LsukUuQ3gOP6YpQd4uniiMdDfwpDTDFImL1tTh/R0ZJJbxkjOd8CCARk43zCHDU62Zeqz5uU6EmRF1meTrhqZ0O0mWuveTSYd/PObLWabJDMZHBKsyEhtBYqfVvOaCiNPeiOkXc6z=", "keys": ["extra", "itemList", "log_pb", "statusCode", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&current_placeholder=&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_group_id=&from_page=search&history_len=1&history_list_v2=%25255B%25255D&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&req_source=webapp_search_blank_page&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["data", "status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&fromWeb=1&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["cmpl_enc", "policy_info_list", "auto_replay_count", "log_pb", "screen_time_management_self", "ad_personality_settings", "parental_guardian_entrance", "interface_control_settings", "idfa_popup_allow", "commercial_content_library_url", "notify_parents_with_email", "minor_control_type", "parental_guardian_mode", "teen_mode_self", "age_gate_info", "policy_notice_enable", "device_limit_register_expired", "private_settings", "mixed_age_consent_action", "status_code", "is_minor", "about_privacy_policy_url", "parental_guardian_name", "preference_settings", "extra", "teen_mode", "screen_time_management"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/node-webapp/api/login-config", "keys": ["statusCode", "config"]}
{"url": "https://www.tiktok.com/api/preload/item_list/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=2&coverFormat=0&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_page=search&history_len=1&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&language=en&os=ios&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en&msToken=&X-Bogus=DFSzKwVOK1iANHwJCu5Qcw2J46B4&X-Gnarly=M5A-n6eIzDg1dT2FF13W6ebBRfnzPfE9kRb-qJ5dGLDdpSSe-y5rPjWTCwazvIzQaVmoGCrm1GOeVofah0RBIXZv0i3961SvxzOYggdd/qE87KEfHoTI1pHeyazUGcSXG8cRD46yPc1pbKOzdnJUn6duBwbeYQms8ExEIVDc2RfSpNzeoBnrxt7zoSCcD/eGlfEWu/tq-PvzGmCrrWk0D8nTYx/CADTzB5YZFQUgnCporCGkErjp0v3bf4D1aK83Noc2RTeIkpKiW-CwvMF6S-1PVWE1DBQ8NldYPBfCTTJJvv6a2P9VvATvA11HNOh8z0n=", "keys": ["extra", "itemList", "log_pb", "statusCode", "status_code", "status_msg"]}

View file

@ -0,0 +1,50 @@
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=video&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1769093917&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=yf2SkeEd8mpRzeFVO_o9WEjvaUlV3zWKc8VyjXgAVGByMuLRNwanRR2SD8hSKEsbozKkztC4OPYwCOFI1_ThTWMh399OVBudcLBOaDwyflgn6Q3Sz5ekKcdIRv6PTk5gNSEnBWkxhTv4xWfoFHRS5Y_VZsZXdA==&X-Bogus=DFSzKIVOUKbANJZMCu58d1wyWdbQ&X-Gnarly=MCh2fkYqIw9kGXih-yCZMzh0jKRnUA9UTa0OmNrL/CgCqbzMbQC6CqbbEr/QtxMblr/xd095euEqjlQE4ajAmg7xFfJj9plxvIDPhURngRkqFwRV7QIi9GTFynzfm8Ar6AfxCLlO9n7yGuGkDc8604znpwRffvVipe4lYC7-dkl9ToIaROPywy6ONnRyNZM5/ZuEwWB-xK40LoSf8EOyyLK7DWyVJx//MtaIiNR8TiplOj/2sFU9Fbk7h2DNSWXF2OFcbni4bPlC-83N9WkCuCLnPs4pGZ9PXiD98N8H2mLDH5Zdv2SijbFWZZ9u/jFI9b/=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=yf2SkeEd8mpRzeFVO_o9WEjvaUlV3zWKc8VyjXgAVGByMuLRNwanRR2SD8hSKEsbozKkztC4OPYwCOFI1_ThTWMh399OVBudcLBOaDwyflgn6Q3Sz5ekKcdIRv6PTk5gNSEnBWkxhTv4xWfoFHRS5Y_VZsZXdA==&X-Bogus=DFSzKIVOYLTANJZMCu58d1wyWdbl&X-Gnarly=MOBv-q4wYnrPM4AQcBIj4U9BEL8R8ANtzOCy/45SdzRwSDmRubcX4PgHmWB1T60/46mQacFd7iVJ0btloG2FUa16kc3O5X3lSACLmdYQgMFch0woMTvXGFyuiO651X3Qj5WddSFOL/WmEnfLz68HnS/h569S6Zl87MyvaXh9496S1Rcv-YI6IY9weMAGY4HJfEw5FkPBn0jKzMu3/-w0VZbbhIlCkomSRNF1oZ6ImBELhHPQ-Rl-Z4ys7fisNu2aiJBze02aLkjN-jQU96NAJrBwpn8sUlvhAPK7-aR2wc5pVQYwFq7p00f6Q99BBBsxL/b=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=yf2SkeEd8mpRzeFVO_o9WEjvaUlV3zWKc8VyjXgAVGByMuLRNwanRR2SD8hSKEsbozKkztC4OPYwCOFI1_ThTWMh399OVBudcLBOaDwyflgn6Q3Sz5ekKcdIRv6PTk5gNSEnBWkxhTv4xWfoFHRS5Y_VZsZXdA==&X-Bogus=DFSzKIVOYLTANJZMCu58d1wyWdbl&X-Gnarly=MwPPTq4PrErIRNAd7UZSSG3rOxO9zi50X/sp1gwR2HoZZcGwv9bt-c1teRwatl63280vmNtz3hJoFcoxMQSqx0YmfVCxsUwyd-8wWr8WG4ilcMnJbZd32hHNHU4jWwHCV5ormJAwFlkinyVHawkpQVNcUu-Gki5ejcfYwvdsGuV/WBP7qcYqYdklpVWCL0PbbIU43CVhwaXasH9B-E3K8nhLYnyB-lVJfyMFuUB56VJopCHg8bvkh233zNjLJQpvkENru7QKP6OIH/4-1S3M4WFQL5/EggJ13yrMTjnwkRT7Kbd7KgmNAhHgwqi33kVXR9z=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1769093917&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=yf2SkeEd8mpRzeFVO_o9WEjvaUlV3zWKc8VyjXgAVGByMuLRNwanRR2SD8hSKEsbozKkztC4OPYwCOFI1_ThTWMh399OVBudcLBOaDwyflgn6Q3Sz5ekKcdIRv6PTk5gNSEnBWkxhTv4xWfoFHRS5Y_VZsZXdA==&X-Bogus=DFSzKIVOYLTANJZMCu58d1wyWdbl&X-Gnarly=M8ghxSnY3aoYQdcBjs1FDCNHKr2gX1SyzO4f0a/ZMhw04Qf4pH/O1h63INXMDhQc5FG/4EHbYtKCjWY8BLcQUxsLFeHAswN5dwNy3HwVqXIfyDs4U-qTrqWsViiFxiy3mU4yzhSDs0-kxZuMh/5yJV962RaIthWWndhpgng2PuZogItch18-WW0NxvqAOvVq4KV2Mhux-Uen9DTUdwXF-J9ViwKQW3JGtUYdrShFc208aPSRfrp7SW8razbHO0PfeyfH8-VI-b9SLxQUKl6cSK9365LskIVTKlx87qQm2LAxwkcm5aI6RN/JquNLPNyqOTG=", "keys": ["statusCode", "statusMsg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=yf2SkeEd8mpRzeFVO_o9WEjvaUlV3zWKc8VyjXgAVGByMuLRNwanRR2SD8hSKEsbozKkztC4OPYwCOFI1_ThTWMh399OVBudcLBOaDwyflgn6Q3Sz5ekKcdIRv6PTk5gNSEnBWkxhTv4xWfoFHRS5Y_VZsZXdA==&X-Bogus=DFSzKIVOvzUANJZMCu58d1wyWdLo&X-Gnarly=MJd1vzDhCHkjXwUcK5h8Q/ME8qGSAcWqLcS89vuKCc3XXs2dDnvO/r8f1Gy7l8kBItjGplKJt4i8WrWaaRk-yKXJdffFNGAc9IzgvEFfjiPrQ2YAGQ5-YQHWs0xeYDF91g-4bQNJ3S-X1pVS3Us3tCzDGq88MFKmKlJdvzWiUwjZu5869V8a8S7Om1KqOi2wMAiarrZqFhabZAdGebvWfPOIPuN69mFLnqMqDX1NASwjl8frm/8rhyKjGLP938CmrkqVbHO1U1r9gyZC-JuP0921rsr0BYGQIn5K59tYYKrjg9GkBoXu575MPxPdWqpCKgb=", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["about_privacy_policy_url", "parental_guardian_name", "mixed_age_consent_action", "preference_settings", "policy_info_list", "auto_replay_count", "log_pb", "teen_mode_self", "status_code", "minor_control_type", "screen_time_management", "parental_guardian_mode", "parental_guardian_entrance", "device_limit_register_expired", "idfa_popup_allow", "cmpl_enc", "age_gate_info", "policy_notice_enable", "notify_parents_with_email", "extra", "teen_mode", "screen_time_management_self", "ad_personality_settings", "interface_control_settings", "private_settings", "commercial_content_library_url", "is_minor"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=xO4PD8oQNiS59ICpwUtKD0v5gBd1OQ8CyDV2b7XSxwAMuVJ6c1rc3ZSApGTwGgte1lAiUG_Ny2PO4-Zd2U94blec1t_UpzHho0wDMe_xALD36p90vP76okF75OvbyaBABYK5yHfIkfPY6zB9z7moiM0dYSWwqg==&X-Bogus=DFSzKIVO7tbANJZMCu58dZwyWdqL&X-Gnarly=M/IlZIV97mvw7e/R3HloobJZJGr8toTkU-j-fAnLAua3-Bt5z4BtiJ/sChqSc2y2tOTLa7C0pvtS1aba4V161dX1G99NMxH8aHHz8HNDhC4wa3ZriTwMHiK8Q7i2v1FGhz3AsurExEqVr-g2CPpfyvUb9h6NfzUpUZtepKBPiOyE50DxBurNiG3/DzlJegkWGXod58zEFCWjaE61K3lcX3CSYqBKYQWq/r3OiBTmTqxAKIpTW4S5tsh8z0CQXuXulbNJ667zF5n31kktPOVx9Sx6PFyQnzJeV99yADunQyGjMTGSSiyBr63li-5ymbveEIf=", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F120.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=2&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=aUVUlxd9gqJ8x6OvlQCaiQgpALBD0wd67idERNIoOtMUmGyiDFepqIqTBIU0kKkAm8S6qbmm3Tco7G7pULVel_pIMACD1e0ISFZcb95MQjvvQQZL0DC7xY99c5fNDa-N29lF4dPvUydhD01JL7PjPDvm7p17UQ==&X-Bogus=DFSzKIVOY3TANJZMCu58kHwyWdL7&X-Gnarly=M/5AwbsqGMkkuSHdcGJWR/YXZ/6qcpX054UoBEN7o2VvI0Fr1gj/TAtT2TQ04sjAkKuRosbzKTl72pHxks2GxN1gWEeBziGpqo6fPJbIa91EG/XRyiBN5puucTRiQsdNWWPYUs/p3Pu54s2saH9RYUJSk4i6CZqcgtoIx3jZD1yWhu/UF7SLETNhz-w/YuPn-DaSUshdt7vujga-qqShXuTqrlJWYXRv83nmtmIZLc3-K3TwnZJ1lYIpFCL-JIMHDm31-LL8vk9K9QE1eLl4tGj7Av2tZg/R1gGrMHmbmCC9k0KPNdgICBmvHavRK9d0wLb=", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1769093917&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/compliance/settings/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&fromWeb=1&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["notify_parents_with_email", "auto_replay_count", "extra", "log_pb", "interface_control_settings", "private_settings", "mixed_age_consent_action", "preference_settings", "screen_time_management", "screen_time_management_self", "age_gate_info", "policy_notice_enable", "about_privacy_policy_url", "ad_personality_settings", "parental_guardian_name", "idfa_popup_allow", "status_code", "minor_control_type", "parental_guardian_mode", "parental_guardian_entrance", "device_limit_register_expired", "commercial_content_library_url", "policy_info_list", "is_minor", "teen_mode", "teen_mode_self", "cmpl_enc"]}
{"url": "https://www.tiktok.com/api/feedback/v1/newest_reply/?WebIdLastTime=1769093917&aid=1284&app_key=tiktok-web&app_language=en&app_name=tiktok_web&appkey=tiktok-web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&clear_unread=false&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&iid=0&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["err_code", "message", "data", "pushResult"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOKytANaXRC-2sod2J46K5&X-Gnarly=McTqp-7TQ/Ls-BkPZcrHOx2DHD-FHjpy8DftfN3ZLkj6orgLA6ATSmxkKqM5qnM/nlqiF2UgaPVPAGDyEsBe0FFz-W4cmt0xeXmCBv/VIS0ELcv0j4hztHRGuwF36Z9FHvYB6vss-1bGhN6sEhi0YeqHee4h7BLOhQRYCAno/86e-fWle2Vxwb8Hkt2QmgmUsRkCz-5bi5JINsj6VkL8xlyudF-oYJdjId-ABWvuwKvI38VEAk-VZic6gMMZMGgYLW2zd0r4e5lJSmUkl5zweOt3qvtY-RKptuZpif-M/h-or3px27alE0O1uL0XaZFPeLK86vobLI==", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOhmiANaXRC-2sod2J46QK&X-Gnarly=M5OS2mcyff4AwSkko8gusAcRZnWKjK4UjNPj7e7NiwDlhxb8ivFK0iuU493-VHIKoCaViEyW89UPaC4mI43KbF-z5ts1m6xT8PRVD0dF4UlChBAyPuECGN7iq-4mTJ904RiQMlitY4f2mXL3dtNCOfayNpmq3-GvnJMfAbIkk0Z6OUjcghuujw1dKeOjQuJ90CT0jZuhMudwU3WCXF4TUhSvUp9JHlmKT4l1ulBGMLQFOzvzw3Kk9MK9kKThMHMOhGrs23zCJgFqqzoX8o6g614fKFYEFsN1cyCHanb58/EKM1eDJ0dU247dwabhf9T8-/jNQnFcJI==", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005%2C025007%2C025008&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOf8kANaXRC-2sod2J46B9&X-Gnarly=M5dnRGyXhDj24ZkomFvznMw8kfnaBB7MXfotkjI/dy2pO0Mk/qNer8Y1DDQFk13/OSaaFGfmZQIb2Eu39K0yjxIVeekzEEh2PY00UlRSlfIM5FQnbM-P0nzyHBxyjFni5bVct462HbUH1y8ye9QfZeMpYDYSmJL26vAc/iBfHtGKI2vUVlk4cVM-4lrITJWHCBsnPhhMXhEPj9r0HOjQhWjER0JNnFRckjFbL-sG5gCThRMcldct5uxEdHxnivdzsuEt8G-nr8B7ZcEO8g6W6M/DP-tlGCvL9KlAOkEk-f1AVhqrE-KqqU1yud-zTDqldemZ4k/JZu==", "keys": ["statusCode", "statusMsg", "permissionList"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOhmiANaXRC-2sod2J46QK&X-Gnarly=M5Io15YxcJraC1wKYXcvvxlCw0unJaKIf3Shz9v5RtOW54c1Zk8iMVHkTiWx9RSCyk0C/S7v1bPR2Vh8G2d5TFW4c8vycKZA6Uddy08w637T2Y7BE3tS7Rzha5s00t6KXG2gjaObsF5a3-4Hgwv9EgG6vURJpuWloVPnwrcNcn7FRB7jn1SqzXZ0R3Var6pdnYcxQlpWHFwJRpPB2uuomDl0hc4sA98UgEN-Rv2SLFNoYKEUDwo-Y5uGOm9jN3OhalzOXmLaSPQtqZfoSVgZGfJqH6uY0DyCG6bSvNqzSOJY38zENh9bbYDRPi8ivrV73HxZrmUyhZ==", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005%2C025007%2C025008&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOf8kANaXRC-2sod2J46B9&X-Gnarly=MRbJJo4-4Xcinsxt4xASeSAU1KlESXfVVVoNxivfeYtof3lqSXZYnwozVZ-aCcS9fB9pGYXDFqupbDTcgnCOYuOeS3F4bwmGhgU-4GlGHLsbn16PbdOPyFVc72BvhzuB1Luw8h6zO50w15d--IT8427YA6nZ4VZxrXBod2RLd4J5n30eYPKkbCZ0A5avrVs/cByuw8Dwd/RiBqXhms-Nq7-KuS3sHOtLdQOINRPGVrkvJ2OJEd3c3X0B/uHBNSJkX10KnpybpjL/-bNwh1xttZxqeFXivqLGEoeFBIOmQEBgylW1mh0N0RaqFb6yU/cY5EyvX2V3XI==", "keys": ["statusCode", "statusMsg", "permissionList"]}
{"url": "https://www.tiktok.com/api/inbox/notice_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A1%2C%22is_mark_read%22%3A0%2C%22group%22%3A661%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVO4YGANaXRC-2sod2J46B7&X-Gnarly=MPZQX1WdyRgCUr//YKhGwJmfy3RvIB4upf/jL2C7mJ-z1C42Tk/SQ//B0IVJBfIkSxdt0-91-W86XL1RgMUGW0ud-7Cr8qWDuLTNKbMH0RmM/EFt9bb-Vcx08oKrghnz11H5l9N5cVZsVSyRNRmXLPgUaOaOaPDF-PLq1XpLUnj-fZ94EMq55UCHYgRhWM4TeALZtJzBGGYazduK0ukphaZLSUx/-1c3sL1SeVxXcF5/h81u6uleyCWuTtCWkVOb5DmfUBuSb5370Tm7i62GsBbCcBfAf/437zFQf4GLFZb4F/cbRtyizY7-fbST888b-5LygYOuEu==", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005%2C025007%2C025008&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOf8kANaXRC-2sod2J46B9&X-Gnarly=MHoI4Fv1s9dzxbKvYHbpYEv41btQaAsUJtUOb4-55bMBIME5s9R7YSVkY9gicjkidrxe/dt3jBx/bJbcLjn25jq3KtWkamgrcBbo3uDPGj0SQ0CnxIcVMkxwHkXDXkIMsImqH7b-4n7jieXnwckESFVC0919h6E5GdsbfxKmyNH9TeSonA2-PXIcQrUVAQvC4yswQsVroryk6IQyAHawXIN6W3l8CR9jbCe16SZp3hBRWbpHmYgd5m2X7YxvjyOTuTdeRdP2bIFC5H7ksab-xcXmbPUYIHgCPYHdBHGsXbEvayFskFd2N2wAqgpD6mCzDdTYez94NI==", "keys": ["statusCode", "statusMsg", "permissionList"]}
{"url": "https://www.tiktok.com/api/notice/multi/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&group_list=%5B%7B%22count%22%3A20%2C%22is_mark_read%22%3A0%2C%22group%22%3A500%2C%22max_time%22%3A0%2C%22min_time%22%3A0%7D%5D&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOfsJANaXRC-2sod2J46QO&X-Gnarly=MCZNQs35QsWMT19R3oK3koJUeQX0iGLS0dO0b5WHpg5nMR6mUhh6xDsVyoEq213mLCoTwPQWaZFywl6-tVtORyEasgySEh-PRTeprBSFgzsS3GAY1LtyxiwvyQIyZT9XyALqqKh9tGWmy1n7515jG-FFvk7ZVLAJ-XvYlhRZsXjRZ3RxoBF19F-04JdH3IruyxqHSQ8M4Lx9-JhRPe0TKG/icqAwyUNio4VNen9NkhLX57Q7o3tsvad82W0AGiLRvVDtHQRsnOefh8HURDD6I8elq9GWLAZECOQwdwsQl582FJWJD02xDXtNVBUpUJw7GYtcFmniMk==", "keys": ["extra", "log_pb", "notice_lists", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/story/user_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=10&cursor=0&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&isNonPersonalized=false&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&storyFeedScene=3&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=5U0RDzWDiSUzwfJCXRZDhrekiAEsWpeKlVSwRx-K9xjB0aFs9GvTiPG0J1i40OGNdhLirZwFO3itBZoPnLllt-9XOL2Xj2NO1S7Ng-zINjnu1WwxxHSColTn5bzStm5udBL0mrp_YGj0NBxgurqVL6LGqlQ=&X-Bogus=DFSzKwVOJzkANaXRC-2sod2J46sE&X-Gnarly=MOE5owaQmnF3KsNZBdfeiSlmyixPuc4fbP2i1tYW13yzgah8XZX3hKA1AMGU1a2KYHUQHgzvUY353H7ct-wDMuIzBdpRcI6aCp4gDDxMH7qhXupKyirQPBFBG8PDDk9QmVUV5xkqWAQr9hEE-aeNprbmeel/7qBTAy9XtUXvq8RlO6i5199XIsah-FPhjjAlnOiWaJrsCp85UygWV4GMFI39rRiuJMIxl9EKfw0EsAQF8O/HSbVQWpwCwuVaGngIVQwAtCTogPpVAhwr6RwnAjjx1ULMlObyd7/C-39WF2eQLtL6oFtIdUlJeeJ7g3WCgz1alxrPak==", "keys": ["cursor", "extra", "hasMore", "log_pb", "statusCode", "status_code", "status_msg", "storyUsers", "totalCount"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=hot%20trend&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=ILIzJgti9oEKksruJbbmi1H6uBu2nPxRgr9oI02Wjf87-nBd5TZX4eneaJNMU_h7BOcogmSAJnodLChIuYo75CwSulmxeAtLMeC152nk5GHVYZfdxi4JXSO2Rwo_0QE1Ayt2ZbWegGlLhR9J8CWolI95XdM=&X-Bogus=DFSzKwVO-5vANaXRC-2sod2J46Qe&X-Gnarly=MHe2TmXf4F91/1eO7rrUvMJc2AawxjxoSm6i9bN8f82u72ueB0UeSAMcYhNFlsCZK2o6I4ojhqto79MwRx/awQJcATwqz69d2ouXRorwrsOS7g6dgQnXD61nsiKl2HJ0XXf7UaRgEb0UDAsUIzD-uy3o0CnjGAEfd6MLpqBUBnEyRBbaiflWTTfJU9JusS3hb/PTiJivT/XHGW5r8UeeHLnYy1isNiGhDq33Zk0Y5J5I7b/PDy4--43dp5/m2UxK0BU1CBQBsLIHljezZ38axl/aLgEhgbGY837Qgz6gF7bekhmsRh67zXid-IJHv7ZItmZZCZmwqI==", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}
{"url": "https://www.tiktok.com/api/prefetch/explore/item_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&categoryType=120&channel=tiktok_web&clientABVersions=70508271%2C72437276%2C73720541%2C75163115%2C75294819%2C75361163%2C75428705%2C75635433%2C75638230%2C75650499%2C75653719%2C75843653%2C75844157%2C75853335%2C75861400%2C75878361%2C75892453%2C75895817%2C75896366%2C75897568%2C75906135%2C75907770%2C75909186%2C75933865%2C75962579%2C75986062%2C76009533%2C76024531%2C76043568%2C76044897%2C70138197%2C70156809%2C70405643%2C71057832%2C71200802%2C71381811%2C71516509%2C71803300%2C71962127%2C72360691%2C72408100%2C72854054%2C72892778%2C73004916%2C73171280%2C73208420%2C73952802%2C73952825%2C73989921%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_new_user=false&is_page_visible=true&language=en&odinId=6884525631502042113&os=mac&priority_region=VN&pullType=1&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&video_encoding=dash&webcast_language=en&msToken=ATQCZYuo_YRovMrLb_vL8FWqc_30OnwYtyJRNQrLNhiZXeiNH8A3mTwlxrhUlOYNGjeL8kM-xOHdqMBFnMXi03IP3Q3UFaMzxwaOTe0cf10VfDxdOzsQp33ilmKMFwHiPso4sZFyCLh8H5WviDNoXdiLYTE=&X-Bogus=DFSzKwVO5whANaXRC-2sbn2J46KJ&X-Gnarly=MRn9-8ShKQsJBRFmtPxg60ptzuHO9RLS2eORhxGkfF892SS0uLM5dyfs7CAGRcjZvBbhTfpi80oLwbxs22MuozsMCD52RYb-Saci1NfbOEziwWIFMSPELBqIZuHu0qa1KwCwLboPbEj1NNhSoBHE6Fn0jhjNw5ElS1-3zUB0DrtIxVQV1NN9Ng/0mFmPQKa0pNcNKGPNRUVPE-XbGwB4VDLTc60uA-6dEyZDGCfXwxPLKLaHIS-pSSxIe4LG86a5AR3Bx4zDXJa2O1abGAFMfifk5a3uPBJRShQkPHbyXL3TKTXZx99wanzgUG86MCnP-BUCdlUFPI==", "keys": ["extra", "log_pb", "statusCode", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/user/following/request/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&count=20&data_collection_enabled=true&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&max_time=0&odinId=6884525631502042113&os=mac&priority_region=VN&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_id=6884525631502042113&user_is_login=true&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=ATQCZYuo_YRovMrLb_vL8FWqc_30OnwYtyJRNQrLNhiZXeiNH8A3mTwlxrhUlOYNGjeL8kM-xOHdqMBFnMXi03IP3Q3UFaMzxwaOTe0cf10VfDxdOzsQp33ilmKMFwHiPso4sZFyCLh8H5WviDNoXdiLYTE=&X-Bogus=DFSzKwVOvFiANaXRC-2sbn2J46BZ&X-Gnarly=MJVwgTcb8RwuF7GTbIXjiWpf8XBnggAfHedyaja30WLxARTK3tqwIyJcOMqrorv-CmDlZO-imOtm95QxF4KU5yi3a-WGrZQejMyTCP1AT3qGnkRCy3TRpNrs3alflFpyHzwDJGOT4noq/jMd6xHt7pvk-EtQK6NUl7AetuuVVNwI/DbLmXuKRD9C52gVq/7EVnUFzPmqfiGptizJBq-/l3/5NqzJmSq9eqed5Wjq3kH6KMzrK1qJMnWOWS5SJv78pFx4/197WKIJEcCmsFUK6Cq59Er-pYPe-obFb/ABDnKaE76PwI6t6UvGKupif9XLR6md5C4-Ju==", "keys": ["extra", "has_more", "log_pb", "min_time", "myself_user_id", "request_users", "status_code", "status_msg", "total"]}
{"url": "https://www.tiktok.com/tiktok/ppf/api/eligibility/v2?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["eligibility_list", "log_pb", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=nhac%20remix%20tiktok&odinId=6884525631502042113&os=mac&priority_region=&referer=&region=VN&req_source=related_search&screen_height=720&screen_width=1280&search_source=general&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en", "keys": ["data", "status_code", "status_msg", "log_id"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/v1/web-cookie-privacy/config?locale=en&appId=1988&theme=default&tea=1", "keys": ["statusCode", "body"]}
{"url": "https://www.tiktok.com/api/inbox/notice_count/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=Ij-C-T5pLcZDZZK11ertQXncj7-RMUfsCMl_yWkj8kkW3P1HkhKKkVOJxfG5M3CXe52wEJkIqFw-ETg6hNuHK8dgtYOPAJrVdOpI0MjEf3pvecA10K6gMG9ERA0i4W3MYHH_qpruPn90Rwa_tO8R89y7cD0=&X-Bogus=DFSzKwVOKQJANaXRC-2QRw2J46KD&X-Gnarly=M89N6WiMV0w-ShTJgJtlqwoSbcu6aIenkz-mqaakQGuvidVAm94a7CaWI2SZroZb9AIL3-7ckRoHJbHVRrrtAHs1/EQAmaZqkWFZCC-yK4Q5HHdY7tZ6W6nC53UHR3Ni4dSgbyytp05J3TZiscLA4SFjJ/DnT//qGaksLb3HwzkjuveU5N9I-ysatg5X9H22FoZLCf4a8jFHe7b2woBRdT8Pwdb/1aU1dwNbty5PAjyS2a5/-8WOPWcfw4PsUtCRjbKCBQsTNZDf-UZZptNNI3Lsm2NhrlhkZ-rjiGt2ooFRFxnSE31bXO6ljd/3E8BDOijP36ymkZ==", "keys": ["extra", "log_pb", "notice_count", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005%2C025007%2C025008&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=Ij-C-T5pLcZDZZK11ertQXncj7-RMUfsCMl_yWkj8kkW3P1HkhKKkVOJxfG5M3CXe52wEJkIqFw-ETg6hNuHK8dgtYOPAJrVdOpI0MjEf3pvecA10K6gMG9ERA0i4W3MYHH_qpruPn90Rwa_tO8R89y7cD0=&X-Bogus=DFSzKwVOeAbANaXRC-2QRw2J46QR&X-Gnarly=MCbooWBcYXTQyjBpwtD8N-Syh3Ah2NiGTY8bM2l-G9v9be2buYcjIatGgKSztJYb9ffsFVvWNcd8nIJwFQcU6NfHmLO0X4cmI9-C1q8PQv7xhXIYra2YlfPR95dBqUnUIwZUc2N4-Aip3tDddbH3TJr9RWNb/mkjGklGSQXEq6lmimXeL6NRWOx1AbaL0VQ/j9sZIu1eM8MLgVBUFJcR5R6VFX8S6ImSjsh9KOTI4xHlweGR77Ohc29MS5VCylhhrzhA2wd4sVX09/ytRettIBNrrUz-6rOG/sKTKWYxKhp8i5DgeVOTayRJkVLx9TtSzqlJAd0pMI==", "keys": ["statusCode", "statusMsg", "permissionList"]}
{"url": "https://www.tiktok.com/api/global-footer/graphql", "keys": ["data", "extensions"]}
{"url": "https://www.tiktok.com/api/ba/business/suite/permission/list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&odinId=6884525631502042113&os=mac&permissionList=001004%2C001005%2C025007%2C025008&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=Ij-C-T5pLcZDZZK11ertQXncj7-RMUfsCMl_yWkj8kkW3P1HkhKKkVOJxfG5M3CXe52wEJkIqFw-ETg6hNuHK8dgtYOPAJrVdOpI0MjEf3pvecA10K6gMG9ERA0i4W3MYHH_qpruPn90Rwa_tO8R89y7cD0=&X-Bogus=DFSzKwVOeAbANaXRC-2QRw2J46QR&X-Gnarly=MKkGno46-pW1/VpbE1ptI7xK8c9vYQ3iRBxtaZCty7f8Qve2/D-Eb/5J3J2WYUVkueEEIL2IgoHpqi2PPPxVkniW7vFyGVhM3mSkziTOCXdFiLV8m-gmXKkQCgYoAxWjaqQ-xChlbfb8zLYbK8N3RmJs86ZNDQBtOZ2S/Rg/n6b-amLviB217CdaNUNssXiO/FE9SbNrKSDRt02-9I-kYKl-9k9IZggTgRiyPNxEGuub9YN8rMkVNkeGGmc6P7ZudSzl-ZIdSecg07iTyWlLBQU8FD7uIVBX6V2BcJYl9lNA8QMW7AYf/vex5WV7yx-Q9SXQi-oS9k==", "keys": ["statusCode", "statusMsg", "permissionList"]}
{"url": "https://www.tiktok.com/api/prefetch/explore/item_list/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&categoryType=120&channel=tiktok_web&clientABVersions=70508271%2C73720541%2C75294819%2C75638230%2C75650499%2C75843653%2C75844157%2C75853335%2C75861400%2C75892453%2C75895817%2C75896366%2C75897568%2C75906135%2C75986062%2C76024531%2C76043568%2C70405643%2C71057832%2C71200802%2C73004916%2C73171280%2C73208420%2C74008524%2C74276218%2C74413136%2C74844724%2C75330961&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_new_user=false&is_page_visible=true&language=en&odinId=6884525631502042113&os=mac&priority_region=&pullType=1&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&video_encoding=dash&webcast_language=en&msToken=Ij-C-T5pLcZDZZK11ertQXncj7-RMUfsCMl_yWkj8kkW3P1HkhKKkVOJxfG5M3CXe52wEJkIqFw-ETg6hNuHK8dgtYOPAJrVdOpI0MjEf3pvecA10K6gMG9ERA0i4W3MYHH_qpruPn90Rwa_tO8R89y7cD0=&X-Bogus=DFSzKwVODGzANaXRC-2QRw2J46K6&X-Gnarly=MFvGqBqh3ljsf1G7LD02xpn-IeyyMQf4JqeN516sSAmvj07GoNfqrvgFeXpiqx2fchQ49TfZKcKa9pVUeTNPvTLhs0A4gP-UZ8e858RF5ZQkKvgrniZfCpyR4QcEvZVt6HSk3kPx8bPj-//XArlC88i8fVze4y7ESIXtIvP1fARJsuxZr9fqgyenGxO8a1AYCt0bKgrY4F6c7aX8oR-QadWbY3bflq7pOrGC3N-7DHzOeqP77MQWtyGw7Qwxc2IzmQfmwXBD4C7PUhsovK4FdcFqO3S1f4sT2PzdMzG3UspjTpIjjETGJorTpbjIxsPqqXLfIOj9LZ==", "keys": ["extra", "log_pb", "statusCode", "status_code", "status_msg"]}
{"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=nhac%20remix%20tiktok&odinId=6884525631502042113&os=mac&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=6T21t7jo6fm_ITwUxjlhK5GGInqEsRYFBRZiOyEUPnL1St1w9MD8crbYGJ8wlCk76_UVkpVizHkwuTjbBoww7WFssA3i4uRZzgdi1gvMFfEJhTV50UxIw2gF12nkAlOBndi3jtmlv3XfqHMVLsGk0Rzr0ZU=&X-Bogus=DFSzKwVOqtiANaXRC-2QRw2J46BB&X-Gnarly=MHc7lTViVSeVG3dkuRJQtgAXHUz9/Hwvka4GF43bNkiS0Ol0Doih0uap9tyTElKeSTcHXzppwZ612o5wKSM6sZarWp7RIibhe4sWM8x9FemHt3l0ZL-rO9cI3k0QklEO6XFi8IzWC0u-Vaea/Tq18GzPGftEuvLcRvat/txAY7EnXV2/ExdUN4u2WXiEixBvaFr2rp1dEQY/CoEVs6j0tNrKonpsIGbhLXlTRmYAlPnbKe/cgBSe4FmUqwP8vmoSy2Y95J9AgrMZrss29koNPl2xZ4e2Fi9z/hIhVlSA8o/T0D2TE8ihpEOWRLhaKTQ7Fx4NMS6F6k==", "keys": ["sug_list", "status_code", "status_msg", "rid", "words_query_record", "extra", "log_pb", "user_input_query"]}

View file

@ -281,9 +281,9 @@ async def proxy_video(
if not os.path.exists(video_path): if not os.path.exists(video_path):
raise Exception("Video file not created") raise Exception("Video file not created")
print(f"Downloaded codec: {video_codec} (no transcoding - client will decode)") print(f"Downloaded codec: {video_codec}")
# Save to cache directly - NO TRANSCODING # Save to cache directly - client-side player handles all formats
cached_path = save_to_cache(url, video_path) cached_path = save_to_cache(url, video_path)
stats = get_cache_stats() stats = get_cache_stats()
print(f"CACHED: {url[:50]}... ({stats['files']} files, {stats['size_mb']}MB total)") print(f"CACHED: {url[:50]}... ({stats['files']} files, {stats['size_mb']}MB total)")

View file

@ -7,8 +7,10 @@ from pydantic import BaseModel
from typing import Optional, List from typing import Optional, List
import httpx import httpx
import asyncio import asyncio
import time
from core.playwright_manager import PlaywrightManager from core.playwright_manager import PlaywrightManager
from core.tiktok_api_service import TikTokAPIService
router = APIRouter() router = APIRouter()
@ -112,7 +114,7 @@ async def get_user_videos(
): ):
""" """
Fetch videos from a TikTok user's profile. Fetch videos from a TikTok user's profile.
Uses Playwright to crawl the user's page for reliable results. Uses direct API calls for speed (~100-500ms), with Playwright fallback.
""" """
username = username.replace("@", "") username = username.replace("@", "")
@ -123,10 +125,25 @@ async def get_user_videos(
raise HTTPException(status_code=401, detail="Not authenticated") raise HTTPException(status_code=401, detail="Not authenticated")
print(f"Fetching videos for @{username}...") print(f"Fetching videos for @{username}...")
start_time = time.time()
# Try fast API first
try:
videos = await TikTokAPIService.get_user_videos(username, cookies, user_agent, limit)
if videos:
duration = time.time() - start_time
print(f"[API] Got {len(videos)} videos in {duration:.2f}s")
return {"username": username, "videos": videos, "count": len(videos), "source": "api", "duration_ms": int(duration * 1000)}
except Exception as e:
print(f"[API] Failed for {username}: {e}")
# Fallback to Playwright if API fails or returns empty
print(f"[Fallback] Using Playwright for @{username}...")
try: try:
videos = await PlaywrightManager.fetch_user_videos(username, cookies, user_agent, limit) videos = await PlaywrightManager.fetch_user_videos(username, cookies, user_agent, limit)
return {"username": username, "videos": videos, "count": len(videos)} duration = time.time() - start_time
print(f"[Playwright] Got {len(videos)} videos in {duration:.2f}s")
return {"username": username, "videos": videos, "count": len(videos), "source": "playwright", "duration_ms": int(duration * 1000)}
except Exception as e: except Exception as e:
print(f"Error fetching videos for {username}: {e}") print(f"Error fetching videos for {username}: {e}")
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@ -140,7 +157,7 @@ async def search_videos(
): ):
""" """
Search for videos by keyword or hashtag. Search for videos by keyword or hashtag.
Uses Playwright to crawl TikTok search results for reliable data. Uses direct API calls for speed (~200-800ms), with Playwright fallback.
""" """
# Load stored credentials # Load stored credentials
cookies, user_agent = PlaywrightManager.load_stored_credentials() cookies, user_agent = PlaywrightManager.load_stored_credentials()
@ -149,10 +166,25 @@ async def search_videos(
raise HTTPException(status_code=401, detail="Not authenticated") raise HTTPException(status_code=401, detail="Not authenticated")
print(f"Searching for: {query} (limit={limit}, cursor={cursor})...") print(f"Searching for: {query} (limit={limit}, cursor={cursor})...")
start_time = time.time()
# Try fast API first
try:
videos = await TikTokAPIService.search_videos(query, cookies, user_agent, limit, cursor)
if videos:
duration = time.time() - start_time
print(f"[API] Found {len(videos)} videos in {duration:.2f}s")
return {"query": query, "videos": videos, "count": len(videos), "cursor": cursor + len(videos), "source": "api", "duration_ms": int(duration * 1000)}
except Exception as e:
print(f"[API] Search failed for {query}: {e}")
# Fallback to Playwright if API fails or returns empty
print(f"[Fallback] Using Playwright for search '{query}'...")
try: try:
videos = await PlaywrightManager.search_videos(query, cookies, user_agent, limit, cursor) videos = await PlaywrightManager.search_videos(query, cookies, user_agent, limit, cursor)
return {"query": query, "videos": videos, "count": len(videos), "cursor": cursor + len(videos)} duration = time.time() - start_time
print(f"[Playwright] Found {len(videos)} videos in {duration:.2f}s")
return {"query": query, "videos": videos, "count": len(videos), "cursor": cursor + len(videos), "source": "playwright", "duration_ms": int(duration * 1000)}
except Exception as e: except Exception as e:
print(f"Error searching for {query}: {e}") print(f"Error searching for {query}: {e}")
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@ -178,7 +210,6 @@ async def get_suggested_accounts(
# Check cache # Check cache
if _suggested_cache["accounts"] and (time.time() - _suggested_cache["updated_at"]) < CACHE_TTL: if _suggested_cache["accounts"] and (time.time() - _suggested_cache["updated_at"]) < CACHE_TTL:
print("Returning cached suggested accounts")
return {"accounts": _suggested_cache["accounts"][:limit], "cached": True} return {"accounts": _suggested_cache["accounts"][:limit], "cached": True}
# Load stored credentials # Load stored credentials
@ -198,10 +229,8 @@ async def get_suggested_accounts(
_suggested_cache["updated_at"] = time.time() _suggested_cache["updated_at"] = time.time()
return {"accounts": accounts[:limit], "cached": False} return {"accounts": accounts[:limit], "cached": False}
else: else:
# Fallback: fetch actual profile data with avatars for static list # Just return static accounts directly without API calls - TikTok API is unreliable
print("Dynamic fetch failed, fetching profile data for static accounts...") return {"accounts": get_fallback_accounts()[:limit], "cached": False, "fallback": True}
fallback_list = get_fallback_accounts()[:min(limit, 20)] # Limit to 20 for speed
return await fetch_profiles_with_avatars(fallback_list, cookies, user_agent)
except Exception as e: except Exception as e:
print(f"Error fetching suggested accounts: {e}") print(f"Error fetching suggested accounts: {e}")

View file

@ -17,9 +17,14 @@ from playwright.async_api import async_playwright, Response, Browser, BrowserCon
try: try:
from playwright_stealth import stealth_async from playwright_stealth import stealth_async
except ImportError: except ImportError:
print("WARNING: playwright_stealth not found, disabling stealth mode.") try:
async def stealth_async(page): from playwright_stealth import Stealth
pass async def stealth_async(page):
await Stealth().apply_stealth_async(page)
except ImportError:
print("WARNING: playwright_stealth not found, disabling stealth mode.")
async def stealth_async(page):
pass
COOKIES_FILE = "cookies.json" COOKIES_FILE = "cookies.json"
@ -43,10 +48,18 @@ class PlaywrightManager:
"--start-maximized" "--start-maximized"
] ]
DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" DEFAULT_USER_AGENT = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"
# Use installed Chrome instead of Playwright's Chromium (avoids slow download) # Use installed Chrome instead of Playwright's Chromium (avoids slow download)
CHROME_PATH = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" import platform
import os
# Check if running on macOS
if platform.system() == "Darwin" and os.path.exists("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"):
CHROME_PATH = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
else:
# On Linux/Docker, use Playwright's bundled Chromium (None lets Playwright decide)
CHROME_PATH = None
# VNC login state (class-level to persist across requests) # VNC login state (class-level to persist across requests)
_vnc_playwright = None _vnc_playwright = None
@ -515,8 +528,26 @@ class PlaywrightManager:
try: try:
data = await response.json() data = await response.json()
# TikTok returns videos in "itemList" or "aweme_list" # TikTok returns videos in various nested formats
items = data.get("itemList", []) or data.get("aweme_list", []) items = []
# Try direct itemList first
if data.get("itemList") and isinstance(data["itemList"], list):
items = data["itemList"]
elif data.get("aweme_list") and isinstance(data["aweme_list"], list):
items = data["aweme_list"]
# Try nested data structure
elif data.get("data"):
nested_data = data["data"]
if isinstance(nested_data, list):
for item in nested_data:
if isinstance(item, dict):
if "item" in item and isinstance(item["item"], dict):
items.append(item["item"])
else:
items.append(item)
elif isinstance(nested_data, dict):
items = nested_data.get("itemList", []) or nested_data.get("aweme_list", [])
for item in items: for item in items:
video_data = PlaywrightManager._extract_video_data(item) video_data = PlaywrightManager._extract_video_data(item)
@ -789,13 +820,78 @@ class PlaywrightManager:
url = response.url url = response.url
# Look for search results API # Log ALL API responses to find the right one
if "search" in url and ("item_list" in url or "video" in url or "general" in url): if "/api/" in url and "tiktok.com" in url:
try: try:
content_type = response.headers.get("content-type", "")
if "json" in content_type.lower():
data = await response.json()
log_entry = {"url": url, "keys": list(data.keys()) if isinstance(data, dict) else "not dict"}
with open("all_responses.jsonl", "a", encoding="utf-8") as f:
f.write(json.dumps(log_entry) + "\n")
except:
pass
# Look for search results API - stricter
is_search_api = "/api/search/" in url and ("item" in url or "general" in url or "full" in url)
if is_search_api:
try:
content_type = response.headers.get("content-type", "")
if "json" not in content_type.lower():
return
data = await response.json() data = await response.json()
# Try different response formats # Debug: print the actual structure
items = data.get("itemList", []) or data.get("data", []) or data.get("item_list", []) if data:
keys = list(data.keys()) if isinstance(data, dict) else "not a dict"
print(f"DEBUG: Search API response keys: {keys} from {url}")
# DUMP FOR DEBUGGING
try:
# Append to file or overwrite with list? Overwrite with wrapper for now
debug_data = {"url": url, "response": data}
with open("debug_search_response.json", "w", encoding="utf-8") as f:
json.dump(debug_data, f, indent=2)
print("DEBUG: Dumped search response to debug_search_response.json")
except Exception as e:
print(f"DEBUG: Failed to dump response: {e}")
# Try different response formats - TikTok nests data in various ways
items = []
# First try direct itemList
if data.get("itemList") and isinstance(data["itemList"], list):
items = data["itemList"]
# Try data field
elif data.get("data"):
nested_data = data["data"]
if isinstance(nested_data, list):
# data is a list of items directly
for item in nested_data:
if isinstance(item, dict):
# Check if item has an "item" key (video wrapped)
if "item" in item and isinstance(item["item"], dict):
items.append(item["item"])
# Check for aweme/video wrapper
elif "aweme" in item and isinstance(item["aweme"], dict):
items.append(item["aweme"])
else:
items.append(item)
elif isinstance(nested_data, dict):
# data is an object with items inside
items = nested_data.get("itemList", []) or nested_data.get("item_list", []) or \
nested_data.get("videos", []) or nested_data.get("aweme_list", [])
# Try item_list directly
elif data.get("item_list"):
items = data["item_list"]
# Try aweme_list (mobile API format)
elif data.get("aweme_list"):
items = data["aweme_list"]
if items:
print(f"DEBUG: Found {len(items)} items, first item keys: {list(items[0].keys()) if items and isinstance(items[0], dict) else 'N/A'}")
for item in items: for item in items:
# If we have enough for this specific batch, we don't need more # If we have enough for this specific batch, we don't need more
@ -814,10 +910,8 @@ class PlaywrightManager:
print(f"DEBUG: Error parsing search API response: {e}") print(f"DEBUG: Error parsing search API response: {e}")
async with async_playwright() as p: async with async_playwright() as p:
browser = await p.chromium.launch( browser = await p.firefox.launch(
headless=True, headless=True,
executable_path=PlaywrightManager.CHROME_PATH,
args=PlaywrightManager.BROWSER_ARGS
) )
context = await browser.new_context(user_agent=user_agent) context = await browser.new_context(user_agent=user_agent)
@ -828,8 +922,9 @@ class PlaywrightManager:
page.on("response", handle_response) page.on("response", handle_response)
try: try:
# Navigate to TikTok search page
search_url = f"https://www.tiktok.com/search/video?q={quote(query)}" # Navigate to TikTok search page - try standard search
search_url = f"https://www.tiktok.com/search?q={quote(query)}"
try: try:
await page.goto(search_url, wait_until="domcontentloaded", timeout=15000) await page.goto(search_url, wait_until="domcontentloaded", timeout=15000)
except: except:
@ -861,6 +956,18 @@ class PlaywrightManager:
except Exception as e: except Exception as e:
print(f"DEBUG: Error during search: {e}") print(f"DEBUG: Error during search: {e}")
try:
await page.screenshot(path="debug_search_page.png")
print("DEBUG: Saved screenshot to debug_search_page.png")
# Dump HTML
html_content = await page.content()
with open("debug_search_page.html", "w", encoding="utf-8") as f:
f.write(html_content)
print("DEBUG: Saved HTML to debug_search_page.html")
except:
pass
await browser.close() await browser.close()
print(f"DEBUG: Total captured search videos in this batch: {len(captured_videos)}") print(f"DEBUG: Total captured search videos in this batch: {len(captured_videos)}")

View file

@ -0,0 +1,356 @@
"""
TikTok Direct API Service - Fast API calls without browser automation.
Replaces Playwright crawling with direct HTTP requests to TikTok's internal APIs.
Expected performance: ~100-500ms vs 5-15 seconds with Playwright.
"""
import httpx
import asyncio
from typing import List, Optional, Dict, Any
from urllib.parse import quote
from core.playwright_manager import PlaywrightManager
class TikTokAPIService:
"""
Direct TikTok API calls for instant data retrieval.
Key endpoints used:
- /api/user/detail/?uniqueId={username} - Get user profile and secUid
- /api/post/item_list/?secUid={secUid}&count={count} - Get user's videos
- /api/search/general/full/?keyword={query} - Search videos
"""
BASE_URL = "https://www.tiktok.com"
DEFAULT_USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
@staticmethod
def _build_headers(cookies: List[dict], user_agent: str = None) -> dict:
"""Build request headers with cookies and user agent."""
cookie_str = "; ".join([f"{c['name']}={c['value']}" for c in cookies])
return {
"User-Agent": user_agent or TikTokAPIService.DEFAULT_USER_AGENT,
"Referer": "https://www.tiktok.com/",
"Cookie": cookie_str,
"Accept": "application/json, text/plain, */*",
"Accept-Language": "en-US,en;q=0.9",
"sec-ch-ua": '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
}
@staticmethod
def _extract_video_data(item: dict) -> Optional[dict]:
"""
Extract video data from TikTok API response item.
Matches the format used by PlaywrightManager._extract_video_data().
"""
try:
if not isinstance(item, dict):
return None
video_id = item.get("id") or item.get("aweme_id")
# Get author info
author_data = item.get("author", {})
author = author_data.get("uniqueId") or author_data.get("unique_id") or "unknown"
# Get description
desc = item.get("desc") or item.get("description") or ""
# Check if this is a product/shop video
is_shop_video = bool(item.get("products") or item.get("commerce_info") or item.get("poi_info"))
# Get thumbnail/cover image
thumbnail = None
video_data = item.get("video", {})
thumbnail_sources = [
video_data.get("cover"),
video_data.get("dynamicCover"),
video_data.get("originCover"),
]
for src in thumbnail_sources:
if src:
thumbnail = src
break
# Get direct CDN URL
cdn_url = None
cdn_sources = [
video_data.get("playAddr"),
video_data.get("downloadAddr"),
]
for src in cdn_sources:
if src:
cdn_url = src
break
# Video page URL
video_url = f"https://www.tiktok.com/@{author}/video/{video_id}"
# Get stats
stats = item.get("stats", {}) or item.get("statistics", {})
views = stats.get("playCount") or stats.get("play_count") or 0
likes = stats.get("diggCount") or stats.get("digg_count") or 0
comments = stats.get("commentCount") or stats.get("comment_count") or 0
shares = stats.get("shareCount") or stats.get("share_count") or 0
if video_id and author:
result = {
"id": str(video_id),
"url": video_url,
"author": author,
"description": desc[:200] if desc else f"Video by @{author}"
}
if thumbnail:
result["thumbnail"] = thumbnail
if cdn_url:
result["cdn_url"] = cdn_url
if views:
result["views"] = views
if likes:
result["likes"] = likes
if comments:
result["comments"] = comments
if shares:
result["shares"] = shares
if is_shop_video:
result["has_product"] = True
return result
except Exception as e:
print(f"DEBUG: Error extracting video data: {e}")
return None
@staticmethod
async def get_user_sec_uid(username: str, cookies: List[dict], user_agent: str = None) -> Optional[str]:
"""
Get user's secUid from their profile.
secUid is required for the video list API.
"""
headers = TikTokAPIService._build_headers(cookies, user_agent)
profile_url = f"{TikTokAPIService.BASE_URL}/api/user/detail/?uniqueId={username}"
try:
async with httpx.AsyncClient(timeout=10.0, follow_redirects=True) as client:
response = await client.get(profile_url, headers=headers)
if response.status_code != 200:
print(f"DEBUG: Failed to get user profile, status: {response.status_code}")
return None
data = response.json()
user_info = data.get("userInfo", {})
user = user_info.get("user", {})
sec_uid = user.get("secUid")
if sec_uid:
print(f"DEBUG: Got secUid for @{username}: {sec_uid[:20]}...")
return sec_uid
except Exception as e:
print(f"DEBUG: Error getting secUid for {username}: {e}")
return None
@staticmethod
async def get_user_videos(
username: str,
cookies: List[dict],
user_agent: str = None,
limit: int = 20,
cursor: int = 0
) -> List[dict]:
"""
Fetch videos from a user's profile using direct API call.
Args:
username: TikTok username (without @)
cookies: Auth cookies list
user_agent: Browser user agent
limit: Max videos to return
cursor: Pagination cursor for more videos
Returns:
List of video dictionaries
"""
print(f"DEBUG: [API] Fetching videos for @{username} (limit={limit})...")
# Step 1: Get secUid
sec_uid = await TikTokAPIService.get_user_sec_uid(username, cookies, user_agent)
if not sec_uid:
print(f"DEBUG: [API] Could not get secUid for @{username}")
return []
# Step 2: Fetch video list
headers = TikTokAPIService._build_headers(cookies, user_agent)
# Build video list API URL
video_list_url = (
f"{TikTokAPIService.BASE_URL}/api/post/item_list/?"
f"secUid={quote(sec_uid)}&"
f"count={min(limit, 35)}&" # TikTok max per request is ~35
f"cursor={cursor}"
)
try:
async with httpx.AsyncClient(timeout=15.0, follow_redirects=True) as client:
response = await client.get(video_list_url, headers=headers)
if response.status_code != 200:
print(f"DEBUG: [API] Video list failed, status: {response.status_code}")
return []
data = response.json()
# Extract videos from response
items = data.get("itemList", []) or data.get("aweme_list", [])
videos = []
for item in items[:limit]:
video_data = TikTokAPIService._extract_video_data(item)
if video_data:
videos.append(video_data)
print(f"DEBUG: [API] Successfully fetched {len(videos)} videos for @{username}")
return videos
except Exception as e:
print(f"DEBUG: [API] Error fetching videos for {username}: {e}")
return []
@staticmethod
async def search_videos(
query: str,
cookies: List[dict],
user_agent: str = None,
limit: int = 20,
cursor: int = 0
) -> List[dict]:
"""
Search for videos using direct API call.
Args:
query: Search keyword or hashtag
cookies: Auth cookies list
user_agent: Browser user agent
limit: Max videos to return
cursor: Pagination offset
Returns:
List of video dictionaries
"""
print(f"DEBUG: [API] Searching for '{query}' (limit={limit}, cursor={cursor})...")
headers = TikTokAPIService._build_headers(cookies, user_agent)
# Build search API URL
# TikTok uses different search endpoints, try the main one
search_url = (
f"{TikTokAPIService.BASE_URL}/api/search/general/full/?"
f"keyword={quote(query)}&"
f"offset={cursor}&"
f"search_source=normal_search&"
f"is_filter_search=0&"
f"web_search_code=%7B%22tiktok%22%3A%7B%22client_params_x%22%3A%7B%22search_engine%22%3A%7B%22ies_mt_user_live_video_card_use_498%22%3A1%7D%7D%7D%7D"
)
try:
async with httpx.AsyncClient(timeout=15.0, follow_redirects=True) as client:
response = await client.get(search_url, headers=headers)
if response.status_code != 200:
print(f"DEBUG: [API] Search failed, status: {response.status_code}")
# Try alternative search endpoint
return await TikTokAPIService._search_videos_alt(query, cookies, user_agent, limit, cursor)
data = response.json()
# Search results structure
videos = []
# Try different response formats
item_list = data.get("data", [])
if not item_list:
item_list = data.get("itemList", [])
if not item_list:
item_list = data.get("item_list", [])
for item in item_list[:limit]:
# Search results may have nested structure
video_item = item.get("item", item)
video_data = TikTokAPIService._extract_video_data(video_item)
if video_data:
videos.append(video_data)
if videos:
print(f"DEBUG: [API] Successfully found {len(videos)} videos for '{query}'")
return videos
else:
# Fallback to alternative endpoint
return await TikTokAPIService._search_videos_alt(query, cookies, user_agent, limit, cursor)
except Exception as e:
print(f"DEBUG: [API] Error searching for {query}: {e}")
return await TikTokAPIService._search_videos_alt(query, cookies, user_agent, limit, cursor)
@staticmethod
async def _search_videos_alt(
query: str,
cookies: List[dict],
user_agent: str = None,
limit: int = 20,
cursor: int = 0
) -> List[dict]:
"""
Alternative search using video-specific endpoint.
"""
print(f"DEBUG: [API] Trying alternative search endpoint...")
headers = TikTokAPIService._build_headers(cookies, user_agent)
# Try video-specific search endpoint
search_url = (
f"{TikTokAPIService.BASE_URL}/api/search/item/full/?"
f"keyword={quote(query)}&"
f"offset={cursor}&"
f"count={min(limit, 30)}"
)
try:
async with httpx.AsyncClient(timeout=15.0, follow_redirects=True) as client:
response = await client.get(search_url, headers=headers)
if response.status_code != 200:
print(f"DEBUG: [API] Alt search also failed, status: {response.status_code}")
return []
data = response.json()
videos = []
item_list = data.get("itemList", []) or data.get("item_list", []) or data.get("data", [])
for item in item_list[:limit]:
video_data = TikTokAPIService._extract_video_data(item)
if video_data:
videos.append(video_data)
print(f"DEBUG: [API] Alt search found {len(videos)} videos")
return videos
except Exception as e:
print(f"DEBUG: [API] Alt search error: {e}")
return []
# Singleton instance
tiktok_api = TikTokAPIService()

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View file

@ -0,0 +1,224 @@
{
"url": "https://www.tiktok.com/api/search/general/preview/?WebIdLastTime=1769093917&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&data_collection_enabled=false&device_id=7598200499679430161&device_platform=web_pc&focus_state=true&from_page=search&history_len=1&is_fullscreen=false&is_page_visible=true&keyword=nhac%20remix%20tiktok&odinId=6884525631502042113&os=mac&priority_region=&referer=&region=VN&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=false&verifyFp=verify_mkpkve4d_fPPCnl5r_r0Lr_46Q3_AsYF_lR14fMWZsZMl&webcast_language=en&msToken=6T21t7jo6fm_ITwUxjlhK5GGInqEsRYFBRZiOyEUPnL1St1w9MD8crbYGJ8wlCk76_UVkpVizHkwuTjbBoww7WFssA3i4uRZzgdi1gvMFfEJhTV50UxIw2gF12nkAlOBndi3jtmlv3XfqHMVLsGk0Rzr0ZU=&X-Bogus=DFSzKwVOqtiANaXRC-2QRw2J46BB&X-Gnarly=MHc7lTViVSeVG3dkuRJQtgAXHUz9/Hwvka4GF43bNkiS0Ol0Doih0uap9tyTElKeSTcHXzppwZ612o5wKSM6sZarWp7RIibhe4sWM8x9FemHt3l0ZL-rO9cI3k0QklEO6XFi8IzWC0u-Vaea/Tq18GzPGftEuvLcRvat/txAY7EnXV2/ExdUN4u2WXiEixBvaFr2rp1dEQY/CoEVs6j0tNrKonpsIGbhLXlTRmYAlPnbKe/cgBSe4FmUqwP8vmoSy2Y95J9AgrMZrss29koNPl2xZ4e2Fi9z/hIhVlSA8o/T0D2TE8ihpEOWRLhaKTQ7Fx4NMS6F6k==",
"response": {
"sug_list": [
{
"pos": [
{
"begin": 0,
"end": 1
},
{
"begin": 3,
"end": 16
}
],
"content": "nh\u1ea1c remix tiktok hay nh\u1ea5t",
"sug_type": "",
"word_record": {
"group_id": "990422283496914074",
"words_position": 0,
"words_content": "nh\u1ea1c remix tiktok hay nh\u1ea5t",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"hay\",\"nh\u1ea5t\"]",
"is_history_sug": "0",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_index_global_active_7d_query|tiktok_index_experience_decision_query|tiktok_awesome_sug_query|tiktok_orion_query|tiktok_index_active_7d_query|tiktok_orion_search_session|darwin_session_qq_14d_recall"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok 1 tieng",
"sug_type": "",
"word_record": {
"group_id": "5221655059115435499",
"words_position": 1,
"words_content": "nhac remix tiktok 1 tieng",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"1\",\"tieng\"]",
"is_history_sug": "0",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_index_active_7d_query|darwin_session_qq_14d_recall|tiktok_orion_search_session|tiktok_orion_query|tiktok_index_global_active_7d_query|tiktok_awesome_sug_query"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok",
"sug_type": "",
"word_record": {
"group_id": "3810839298439660933",
"words_position": 2,
"words_content": "nhac remix tiktok",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_awesome_sug_query|tiktok_index_hot_query|tiktok_orion_query|origin_query|tiktok_orion_search_session|tiktok_index_global_active_7d_query|orion_qse_recall|tiktok_index_active_7d_query|darwin_session_qq_14d_recall"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 9
}
],
"content": "nhac remix",
"sug_type": "",
"word_record": {
"group_id": "7634056513915263483",
"words_position": 3,
"words_content": "nhac remix",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "darwin_session_qq_14d_recall|orion_qse_recall|tiktok_orion_search_session"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok hot",
"sug_type": "",
"word_record": {
"group_id": "8812269330015395678",
"words_position": 4,
"words_content": "nhac remix tiktok hot",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"hot\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_orion_query|tiktok_orion_search_session|tiktok_index_global_active_7d_query|tiktok_index_active_7d_query"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok trung quoc",
"sug_type": "",
"word_record": {
"group_id": "1028885005219042853",
"words_position": 5,
"words_content": "nhac remix tiktok trung quoc",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"trung\",\"quoc\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_orion_query|tiktok_index_global_active_7d_query|tiktok_awesome_sug_query|tiktok_orion_search_session|darwin_session_qq_14d_recall|tiktok_index_active_7d_query"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok chill",
"sug_type": "",
"word_record": {
"group_id": "6635576608389413344",
"words_position": 6,
"words_content": "nhac remix tiktok chill",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"chill\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_index_global_active_7d_query|tiktok_index_active_7d_query|darwin_session_qq_14d_recall|tiktok_awesome_sug_query|tiktok_orion_search_session|tiktok_orion_query"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
},
{
"pos": [
{
"begin": 0,
"end": 16
}
],
"content": "nhac remix tiktok trend",
"sug_type": "",
"word_record": {
"group_id": "7722580097107243844",
"words_position": 7,
"words_content": "nhac remix tiktok trend",
"words_source": "sug"
},
"extra_info": {
"cut_query": "[\"nhac\",\"remix\",\"tiktok\",\"trend\"]",
"is_personalized": "1",
"lang": "vi",
"recall_reason": "tiktok_awesome_sug_query|tiktok_index_global_active_7d_query|tiktok_index_active_7d_query|tiktok_orion_query|darwin_session_qq_14d_recall|tiktok_orion_search_session"
},
"rich_sug_sec_pos": null,
"highlight_pos": null
}
],
"status_code": 0,
"status_msg": "",
"rid": "20260512101805F44BF93D662559B8A671",
"words_query_record": {
"info": "{}",
"words_source": "sug",
"query_id": ""
},
"extra": {
"now": 1778552285000,
"logid": "20260512101805F44BF93D662559B8A671",
"fatal_item_ids": [],
"search_request_id": "",
"api_debug_info": null
},
"log_pb": {
"impr_id": "20260512101805F44BF93D662559B8A671"
},
"user_input_query": "nhac remix tiktok"
}
}

View file

@ -1,3 +1,11 @@
import sys
import asyncio
# CRITICAL: Set Windows event loop policy BEFORE any other imports
# Playwright requires ProactorEventLoop for subprocess support on Windows
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles from fastapi.staticfiles import StaticFiles
@ -5,12 +13,7 @@ from fastapi.responses import FileResponse
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
from pathlib import Path from pathlib import Path
from api.routes import auth, feed, download, following, config, user from api.routes import auth, feed, download, following, config, user
import sys
import asyncio
# Force Proactor on Windows for Playwright
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
@asynccontextmanager @asynccontextmanager
async def lifespan(app: FastAPI): async def lifespan(app: FastAPI):

26
backend/run_windows.py Normal file
View file

@ -0,0 +1,26 @@
"""
Windows-compatible startup script for PureStream.
Sets ProactorEventLoop policy BEFORE uvicorn imports anything.
"""
import sys
import asyncio
# CRITICAL: Must be set before importing uvicorn or any async code
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
# Also create the loop early
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
print(f"DEBUG: Forced ProactorEventLoop: {type(loop)}")
# Now import and run uvicorn
import uvicorn
if __name__ == "__main__":
uvicorn.run(
"main:app",
host="0.0.0.0",
port=8002,
reload=False, # Disabled: reload subprocess loses ProactorEventLoop on Windows
loop="asyncio" # Use asyncio, which should now use our ProactorEventLoop
)

14
crawl_debug.html Normal file

File diff suppressed because one or more lines are too long

7
crawl_debug.md Normal file
View file

@ -0,0 +1,7 @@
Top
Users
Videos
LIVE
Videos
Log in
Log in

731
debug_search_page.html Normal file

File diff suppressed because one or more lines are too long

BIN
debug_search_page.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -0,0 +1,45 @@
{
"url": "https://www.tiktok.com/api/search/suggest/guide/?WebIdLastTime=1758119023&aid=1988&app_language=en&app_name=tiktok_web&browser_language=en-US&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%29&channel=tiktok_web&cookie_enabled=true&current_placeholder=&data_collection_enabled=true&device_id=7551063687516980743&device_platform=web_mobile&focus_state=true&from_group_id=&from_page=search&history_len=1&history_list_v2=%25255B%25255D&is_fullscreen=false&is_page_visible=true&os=ios&priority_region=VN&referer=&region=VN&req_source=webapp_search_blank_page&screen_height=720&screen_width=1280&tz_name=Etc%2FGMT-7&user_is_login=true&verifyFp=verify_mjvcbi31_l3mxUEeU_ykis_4x6z_859S_8zEFmNseEnJU&webcast_language=en",
"response": {
"data": [
{
"word": "th\u01b0 vi\u1ec7n ph\u00e1p lu\u1eadt",
"group_id": "2958109486559469237",
"word_type": "19"
},
{
"word": "Di\u1ec7p Kh\u00f4ng Sao",
"group_id": "1345785342942469512"
},
{
"word": "Tr\u1ea7n L\u00ea V\u0129nh \u0110am L\u00ean Ti\u1ebfng Xin L\u1ed7i",
"group_id": "7348036468917002150"
},
{
"word": "V\u0169 Th\u1ecb Qu\u1ef3nh Anh",
"group_id": "5302181352124914202"
},
{
"word": "L\u00ea Th\u1ecb Kh\u00e1nh Huy\u1ec1n",
"group_id": "7033481489138032483"
},
{
"word": "hongthitichcuc",
"group_id": "114505717075702429",
"word_type": "15"
},
{
"word": "runglaimohop",
"group_id": "3601732212843243866",
"word_type": "19"
},
{
"word": "72 ph\u00e9p th\u1ec3 thao",
"group_id": "2020036794035663673"
}
],
"status_code": 0,
"status_msg": "",
"log_id": "2026012300212652CB07ABCF014274BC0E"
}
}

24
docker-compose.dev.yml Normal file
View file

@ -0,0 +1,24 @@
# PureStream Development Docker Compose
# Uses Dockerfile.dev which COPIES files to avoid Synology Drive filesystem issues
services:
backend:
container_name: purestream_dev
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "8002:8002"
volumes:
# Only mount data directories (not code)
- purestream_cache:/app/cache
- purestream_session:/app/session
shm_size: '2gb'
volumes:
purestream_cache:
purestream_session:
# NOTE:
# - Frontend is served by backend at http://localhost:8002
# - Code changes require rebuild: docker-compose -f docker-compose.dev.yml up --build

View file

@ -12,6 +12,7 @@
"axios": "^1.13.2", "axios": "^1.13.2",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"framer-motion": "^12.23.26", "framer-motion": "^12.23.26",
"hls.js": "^1.6.15",
"lucide-react": "^0.561.0", "lucide-react": "^0.561.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",
@ -81,6 +82,7 @@
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.27.1", "@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.28.5", "@babel/generator": "^7.28.5",
@ -1409,6 +1411,7 @@
"integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"undici-types": "~6.21.0" "undici-types": "~6.21.0"
} }
@ -1426,6 +1429,7 @@
"integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==",
"devOptional": true, "devOptional": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@types/prop-types": "*", "@types/prop-types": "*",
"csstype": "^3.2.2" "csstype": "^3.2.2"
@ -1486,6 +1490,7 @@
"integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==", "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "8.51.0", "@typescript-eslint/scope-manager": "8.51.0",
"@typescript-eslint/types": "8.51.0", "@typescript-eslint/types": "8.51.0",
@ -1737,6 +1742,7 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
}, },
@ -1959,6 +1965,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.9.0", "baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759", "caniuse-lite": "^1.0.30001759",
@ -2364,6 +2371,7 @@
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1", "@eslint-community/regexpp": "^4.12.1",
@ -2895,6 +2903,12 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/hls.js": {
"version": "1.6.15",
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.15.tgz",
"integrity": "sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==",
"license": "Apache-2.0"
},
"node_modules/ignore": { "node_modules/ignore": {
"version": "5.3.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@ -3007,6 +3021,7 @@
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"jiti": "bin/jiti.js" "jiti": "bin/jiti.js"
} }
@ -3507,6 +3522,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"nanoid": "^3.3.11", "nanoid": "^3.3.11",
"picocolors": "^1.1.1", "picocolors": "^1.1.1",
@ -3702,6 +3718,7 @@
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0" "loose-envify": "^1.1.0"
}, },
@ -3714,6 +3731,7 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"scheduler": "^0.23.2" "scheduler": "^0.23.2"
@ -4121,6 +4139,7 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
@ -4186,6 +4205,7 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
@ -4279,6 +4299,7 @@
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.21.3", "esbuild": "^0.21.3",
"postcss": "^8.4.43", "postcss": "^8.4.43",

View file

@ -14,6 +14,7 @@
"axios": "^1.13.2", "axios": "^1.13.2",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"framer-motion": "^12.23.26", "framer-motion": "^12.23.26",
"hls.js": "^1.6.15",
"lucide-react": "^0.561.0", "lucide-react": "^0.561.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",

View file

@ -23,7 +23,9 @@ import { Feed } from './components/Feed';
const Dashboard = () => { const Dashboard = () => {
return ( return (
<div className="h-screen bg-black"> <div className="h-screen bg-black">
<Feed /> <Routes>
<Route path="/" element={<Feed />} />
</Routes>
</div> </div>
) )
} }
@ -44,7 +46,7 @@ function App() {
<Route path="/login" element={<Login />} /> <Route path="/login" element={<Login />} />
<Route path="/admin" element={<Admin />} /> <Route path="/admin" element={<Admin />} />
<Route <Route
path="/" path="/*"
element={ element={
<ProtectedRoute> <ProtectedRoute>
<Dashboard /> <Dashboard />

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,83 @@
import React from 'react';
import { Home, Search, Heart, LogOut } from 'lucide-react';
interface SidebarProps {
activeTab: 'foryou' | 'search' | 'profile';
onTabChange: (tab: 'foryou' | 'search' | 'profile') => void;
onLogout?: () => void;
}
export const Sidebar: React.FC<SidebarProps> = ({ activeTab, onTabChange, onLogout }) => {
return (
<div className="hidden md:flex flex-col w-20 lg:w-64 h-full glass-panel border-r-0 border-r-white/10 z-50 transition-all duration-300">
{/* Logo */}
<div className="p-6 flex items-center gap-3">
<div className="w-8 h-8 rounded-xl bg-gradient-to-tr from-violet-500 to-fuchsia-500 flex-shrink-0" />
<h1 className="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-white to-gray-400 hidden lg:block">
PureStream
</h1>
</div>
{/* Nav Items */}
<div className="flex-1 flex flex-col gap-2 px-3 py-4">
<NavItem
icon={<Home size={24} />}
label="For You"
isActive={activeTab === 'foryou'}
onClick={() => onTabChange('foryou')}
/>
<NavItem
icon={<Search size={24} />}
label="Search"
isActive={activeTab === 'search'}
onClick={() => onTabChange('search')}
/>
{/* Placeholder for future features */}
<NavItem
icon={<Heart size={24} />}
label="Likes"
isActive={false}
onClick={() => { }}
/>
</div>
{/* Bottom Actions */}
<div className="p-4 border-t border-white/10 space-y-2">
<button
onClick={onLogout}
className="flex items-center gap-4 w-full p-3 rounded-xl text-gray-400 hover:bg-white/5 hover:text-red-400 transition-all group"
>
<LogOut size={22} className="group-hover:scale-110 transition-transform" />
<span className="hidden lg:block font-medium">Log Out</span>
</button>
</div>
</div>
);
};
interface NavItemProps {
icon: React.ReactNode;
label: string;
isActive: boolean;
onClick: () => void;
}
const NavItem: React.FC<NavItemProps> = ({ icon, label, isActive, onClick }) => {
return (
<button
onClick={onClick}
className={`flex items-center gap-4 w-full p-3 rounded-xl transition-all duration-200 group
${isActive
? 'bg-white/10 text-white shadow-lg shadow-black/20'
: 'text-gray-400 hover:bg-white/5 hover:text-white'
}`}
>
<div className={`${isActive ? 'scale-110' : 'group-hover:scale-110'} transition-transform duration-200`}>
{icon}
</div>
<span className={`hidden lg:block font-medium ${isActive ? 'text-white' : ''}`}>
{label}
</span>
</button>
);
};

View file

@ -0,0 +1,38 @@
import React from 'react';
export const SkeletonFeed: React.FC = () => {
return (
<div className="h-full w-full bg-[#0f0f15] relative overflow-hidden flex items-center justify-center">
{/* Main Video Area Skeleton */}
<div className="absolute inset-0 flex items-center justify-center">
<div className="w-16 h-16 rounded-full skeleton-pulse opacity-50"></div>
</div>
{/* Right Sidebar Action Buttons */}
<div className="absolute right-4 bottom-24 flex flex-col items-center gap-6 z-10">
{[1, 2, 3, 4].map((_, i) => (
<div key={i} className="flex flex-col items-center gap-1">
<div className="w-12 h-12 rounded-full skeleton-pulse bg-white/10" />
<div className="w-8 h-3 rounded-md skeleton-pulse bg-white/10" />
</div>
))}
</div>
{/* Bottom Info Area */}
<div className="absolute bottom-6 left-4 right-20 z-10 space-y-3">
<div className="w-32 h-5 rounded-md skeleton-pulse bg-white/10" />
<div className="w-64 h-4 rounded-md skeleton-pulse bg-white/10" />
<div className="w-48 h-4 rounded-md skeleton-pulse bg-white/10 opacity-70" />
{/* Music Skeleton */}
<div className="flex items-center gap-2 mt-2">
<div className="w-6 h-6 rounded-full skeleton-pulse bg-white/10" />
<div className="w-40 h-4 rounded-md skeleton-pulse bg-white/10" />
</div>
</div>
{/* Overlay Gradient */}
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-black/60 pointer-events-none" />
</div>
);
};

View file

@ -0,0 +1,61 @@
import React, { useState } from 'react';
import type { UserProfile } from '../types';
interface UserCardProps {
user: UserProfile;
}
const UserCard: React.FC<UserCardProps> = ({ user }) => {
const [isExpanded, setIsExpanded] = useState(false);
return (
<div className="bg-white dark:bg-gray-800 shadow-md rounded-lg p-4 mb-4">
<div className="flex items-center justify-between">
<div className="flex items-center">
<img
src={user.avatar}
alt={user.username}
className="w-16 h-16 rounded-full mr-4"
/>
<div>
<h2 className="text-xl font-bold">{user.nickname}</h2>
<p className="text-gray-500 dark:text-gray-400">@{user.username}</p>
</div>
</div>
<button
onClick={() => setIsExpanded(!isExpanded)}
className="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"
>
{isExpanded ? 'Hide Stats' : 'Show Stats'}
</button>
</div>
{isExpanded && (
<div className="mt-4">
<div className="grid grid-cols-3 gap-4 text-center">
<div>
<p className="font-bold text-lg">{user.followers?.toLocaleString()}</p>
<p className="text-gray-500 dark:text-gray-400">Followers</p>
</div>
<div>
<p className="font-bold text-lg">{user.following?.toLocaleString()}</p>
<p className="text-gray-500 dark:text-gray-400">Following</p>
</div>
<div>
<p className="font-bold text-lg">{user.likes?.toLocaleString()}</p>
<p className="text-gray-500 dark:text-gray-400">Likes</p>
</div>
</div>
{user.bio && (
<div className="mt-4">
<h3 className="font-bold">Bio</h3>
<p className="text-gray-600 dark:text-gray-300">{user.bio}</p>
</div>
)}
</div>
)}
</div>
);
};
export default UserCard;

View file

@ -4,12 +4,7 @@ import type { Video } from '../types';
import { API_BASE_URL } from '../config'; import { API_BASE_URL } from '../config';
import { videoCache } from '../utils/videoCache'; import { videoCache } from '../utils/videoCache';
// Check if browser supports HEVC codec (Safari, Chrome 107+, Edge)
const supportsHEVC = (): boolean => {
if (typeof MediaSource === 'undefined') return false;
return MediaSource.isTypeSupported('video/mp4; codecs="hvc1"') ||
MediaSource.isTypeSupported('video/mp4; codecs="hev1"');
};
interface HeartParticle { interface HeartParticle {
id: number; id: number;
@ -55,7 +50,7 @@ export const VideoPlayer: React.FC<VideoPlayerProps> = ({
const [cachedUrl, setCachedUrl] = useState<string | null>(null); const [cachedUrl, setCachedUrl] = useState<string | null>(null);
const [codecError, setCodecError] = useState(false); // True if video codec not supported const [codecError, setCodecError] = useState(false); // True if video codec not supported
const lastTapRef = useRef<number>(0); const lastTapRef = useRef<number>(0);
const browserSupportsHEVC = useRef(supportsHEVC());
const fullProxyUrl = `${API_BASE_URL}/feed/proxy?url=${encodeURIComponent(video.url)}`; const fullProxyUrl = `${API_BASE_URL}/feed/proxy?url=${encodeURIComponent(video.url)}`;
const thinProxyUrl = video.cdn_url ? `${API_BASE_URL}/feed/thin-proxy?cdn_url=${encodeURIComponent(video.cdn_url)}` : null; const thinProxyUrl = video.cdn_url ? `${API_BASE_URL}/feed/thin-proxy?cdn_url=${encodeURIComponent(video.cdn_url)}` : null;
@ -154,15 +149,21 @@ export const VideoPlayer: React.FC<VideoPlayerProps> = ({
const videoEl = e.target as HTMLVideoElement; const videoEl = e.target as HTMLVideoElement;
const error = videoEl?.error; const error = videoEl?.error;
// Check if this is a codec/decode error (MEDIA_ERR_DECODE = 3) // Check if this is a codec/decode error (MEDIA_ERR_DECODE = 3, MEDIA_ERR_SRC_NOT_SUPPORTED = 4)
if (error?.code === 3 || error?.code === 4) { if (error?.code === 3 || error?.code === 4) {
console.log(`Codec error detected (code ${error.code}):`, error.message); console.log(`Codec error detected (code ${error.code}):`, error.message);
// Only show codec error if browser doesn't support HEVC
if (!browserSupportsHEVC.current) { // Always fall back to full proxy which will transcode to H.264
setCodecError(true); if (!useFallback) {
setIsLoading(false); console.log('Codec not supported, falling back to full proxy (will transcode to H.264)...');
setUseFallback(true);
return; return;
} }
// If even full proxy failed, show error
setCodecError(true);
setIsLoading(false);
return;
} }
if (thinProxyUrl && !useFallback) { if (thinProxyUrl && !useFallback) {
@ -482,9 +483,9 @@ export const VideoPlayer: React.FC<VideoPlayerProps> = ({
)} )}
</div> </div>
{/* Side Controls - Only show when video is paused */} {/* Side Controls - Always visible on hover or when paused */}
<div <div
className={`absolute bottom-36 right-4 flex flex-col gap-3 transition-all duration-300 transform ${isPaused && showSidebar ? 'translate-x-0 opacity-100' : 'translate-x-[200%] opacity-0' className={`absolute bottom-36 right-4 flex flex-col gap-3 transition-all duration-300 transform ${showControls || isPaused ? 'translate-x-0 opacity-100' : 'translate-x-2 opacity-0'
}`} }`}
> >
{/* Follow Button */} {/* Follow Button */}
@ -505,6 +506,7 @@ export const VideoPlayer: React.FC<VideoPlayerProps> = ({
<a <a
href={downloadUrl} href={downloadUrl}
download download
onClick={(e) => e.stopPropagation()}
className="w-12 h-12 flex items-center justify-center bg-white/10 hover:bg-white/20 backdrop-blur-xl border border-white/10 rounded-full text-white transition-all" className="w-12 h-12 flex items-center justify-center bg-white/10 hover:bg-white/20 backdrop-blur-xl border border-white/10 rounded-full text-white transition-all"
title="Download" title="Download"
> >

View file

@ -1,3 +1 @@
export const API_BASE_URL = import.meta.env.PROD export const API_BASE_URL = '/api';
? '/api'
: (import.meta.env.VITE_API_URL || 'http://localhost:8002/api');

View file

@ -15,6 +15,30 @@
height: 100vh; height: 100vh;
height: 100dvh; height: 100dvh;
} }
body {
@apply bg-[#0f0f15] text-white antialiased;
color-scheme: dark;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
}
@layer components {
.glass-panel {
@apply bg-white/5 backdrop-blur-xl border border-white/10;
}
.glass-panel-hover {
@apply hover:bg-white/10 transition-colors duration-200;
}
.btn-primary {
@apply bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-500 hover:to-indigo-500 text-white font-medium px-4 py-2 rounded-xl transition-all active:scale-95 shadow-lg shadow-indigo-500/20;
}
.btn-ghost {
@apply hover:bg-white/10 text-gray-300 hover:text-white px-4 py-2 rounded-xl transition-all active:scale-95;
}
} }
@layer utilities { @layer utilities {
@ -33,33 +57,17 @@
display: none; display: none;
/* Chrome, Safari and Opera */ /* Chrome, Safari and Opera */
} }
}
.text-shadow {
@layer utilities { text-shadow: 0 2px 4px rgba(0,0,0,0.5);
.scrollbar-hide::-webkit-scrollbar {
display: none;
}
.scrollbar-hide {
-ms-overflow-style: none;
scrollbar-width: none;
} }
} }
/* Animations */
@keyframes shake { @keyframes shake {
0%, 100% { transform: translateX(0); }
0%, 25% { transform: translateX(-4px); }
100% { 75% { transform: translateX(4px); }
transform: translateX(0);
}
25% {
transform: translateX(-4px);
}
75% {
transform: translateX(4px);
}
} }
.animate-shake { .animate-shake {
@ -67,34 +75,25 @@
} }
@keyframes heart-float { @keyframes heart-float {
0% { 0% { opacity: 1; transform: scale(0) rotate(-15deg); }
opacity: 1; 25% { opacity: 1; transform: scale(1.2) rotate(10deg); }
transform: scale(0) rotate(-15deg); 50% { opacity: 0.8; transform: scale(1) translateY(-30px) rotate(-5deg); }
} 100% { opacity: 0; transform: scale(0.6) translateY(-80px) rotate(15deg); }
25% {
opacity: 1;
transform: scale(1.2) rotate(10deg);
}
50% {
opacity: 0.8;
transform: scale(1) translateY(-30px) rotate(-5deg);
}
100% {
opacity: 0;
transform: scale(0.6) translateY(-80px) rotate(15deg);
}
} }
.animate-heart-float { .animate-heart-float {
animation: heart-float 1s ease-out forwards; animation: heart-float 1s ease-out forwards;
} }
body { @keyframes shimmer {
@apply bg-black antialiased; 0% { background-position: -200% 0; }
color-scheme: dark; 100% { background-position: 200% 0; }
}
.skeleton-pulse {
background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.03) 75%);
background-size: 200% 100%;
animation: shimmer 1.5s infinite;
} }
.artplayer-app { .artplayer-app {

View file

@ -85,7 +85,8 @@ class VideoPrefetcher {
return; return;
} }
const API_BASE_URL = 'http://localhost:8002/api'; // Hardcoded or imported from config const API_BASE_URL_CONFIG = (await import('../config')).API_BASE_URL;
const API_BASE_URL = API_BASE_URL_CONFIG || 'http://localhost:8002/api'; // Fallback if import fails
const fullProxyUrl = `${API_BASE_URL}/feed/proxy?url=${encodeURIComponent(video.url)}`; const fullProxyUrl = `${API_BASE_URL}/feed/proxy?url=${encodeURIComponent(video.url)}`;
// Use thin proxy if available for better performance // Use thin proxy if available for better performance
const thinProxyUrl = video.cdn_url ? `${API_BASE_URL}/feed/thin-proxy?cdn_url=${encodeURIComponent(video.cdn_url)}` : null; const thinProxyUrl = video.cdn_url ? `${API_BASE_URL}/feed/thin-proxy?cdn_url=${encodeURIComponent(video.cdn_url)}` : null;

View file

@ -1,7 +1,17 @@
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react' import react from '@vitejs/plugin-react'
// https://vite.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
plugins: [react()], plugins: [react()],
server: {
host: '0.0.0.0', // Allow access from outside the container
port: 5173,
proxy: {
'/api': {
target: 'http://localhost:8002',
changeOrigin: true,
},
},
},
}) })

60
manage_app.ps1 Normal file
View file

@ -0,0 +1,60 @@
param (
[string]$Action = "start"
)
$BackendPort = 8002
$FrontendPort = 5173
$RootPath = Get-Location
$BackendDir = Join-Path $RootPath "backend"
$FrontendDir = Join-Path $RootPath "frontend"
function Stop-App {
Write-Host "Stopping PureStream..." -ForegroundColor Yellow
$ports = @($BackendPort, $FrontendPort)
foreach ($port in $ports) {
$processes = Get-NetTCPConnection -LocalPort $port -ErrorAction SilentlyContinue | Select-Object -ExpandProperty OwningProcess -Unique
if ($processes) {
foreach ($pidVal in $processes) {
Write-Host "Killing process on port $port (PID: $pidVal)" -ForegroundColor Red
Stop-Process -Id $pidVal -Force -ErrorAction SilentlyContinue
}
} else {
Write-Host "No process found on port $port" -ForegroundColor Gray
}
}
Write-Host "Stopped." -ForegroundColor Green
}
function Start-App {
# Check if ports are already in use
$backendActive = Get-NetTCPConnection -LocalPort $BackendPort -ErrorAction SilentlyContinue
$frontendActive = Get-NetTCPConnection -LocalPort $FrontendPort -ErrorAction SilentlyContinue
if ($backendActive -or $frontendActive) {
Write-Host "Ports are already in use. Stopping existing instances..." -ForegroundColor Yellow
Stop-App
}
Write-Host "Starting PureStream Backend..." -ForegroundColor Cyan
# Launch in a new CMD window so user can see logs and it stays open (/k)
Start-Process "cmd.exe" -ArgumentList "/k title PureStream Backend & cd /d `"$BackendDir`" & python run_windows.py" -WindowStyle Normal
Write-Host "Starting PureStream Frontend..." -ForegroundColor Cyan
# Launch in a new CMD window
Start-Process "cmd.exe" -ArgumentList "/k title PureStream Frontend & cd /d `"$FrontendDir`" & npm run dev" -WindowStyle Normal
Write-Host "PureStream is starting!" -ForegroundColor Green
Write-Host "Backend API: http://localhost:$BackendPort"
Write-Host "Frontend UI: http://localhost:$FrontendPort"
}
switch ($Action.ToLower()) {
"stop" { Stop-App }
"start" { Start-App }
"restart" { Stop-App; Start-App }
default {
Write-Host "Usage: .\manage_app.ps1 [start|stop|restart]" -ForegroundColor Red
Write-Host "Defaulting to 'start'..." -ForegroundColor Yellow
Start-App
}
}

2
run_debug_search.ps1 Normal file
View file

@ -0,0 +1,2 @@
$env:PYTHONPATH = "c:\Users\Admin\Downloads\kv-tiktok\backend"
& "c:\Users\Admin\Downloads\kv-tiktok\.venv\Scripts\python.exe" tests/debug_search.py

6949
ssr_data.json Normal file

File diff suppressed because it is too large Load diff

3
start_app.bat Normal file
View file

@ -0,0 +1,3 @@
@echo off
cd /d "%~dp0"
powershell -ExecutionPolicy Bypass -File manage_app.ps1 start

4
stop_app.bat Normal file
View file

@ -0,0 +1,4 @@
@echo off
cd /d "%~dp0"
powershell -ExecutionPolicy Bypass -File manage_app.ps1 stop
pause

12
test_stealth.py Normal file
View file

@ -0,0 +1,12 @@
import sys
print(f"Python: {sys.executable}")
print(f"Path: {sys.path}")
try:
import playwright_stealth
print(f"Module: {playwright_stealth}")
from playwright_stealth import stealth_async
print("Import successful!")
except ImportError as e:
print(f"Import failed: {e}")
except Exception as e:
print(f"Error: {e}")

41
tests/debug_search.py Normal file
View file

@ -0,0 +1,41 @@
import json
import urllib.request
import urllib.parse
import os
import sys
def debug_search():
base_url = "http://localhost:8002/api/user/search"
query = "hot trend"
params = urllib.parse.urlencode({"query": query, "limit": 10})
url = f"{base_url}?{params}"
print(f"Testing search for: '{query}'")
print(f"URL: {url}")
try:
req = urllib.request.Request(url)
with urllib.request.urlopen(req, timeout=60) as response:
status_code = response.getcode()
print(f"Status Code: {status_code}")
if status_code == 200:
data = json.loads(response.read().decode('utf-8'))
print(f"Source: {data.get('source')}")
print(f"Count: {data.get('count')}")
videos = data.get("videos", [])
if not videos:
print("ERROR: No videos returned!")
else:
print(f"First video: {videos[0].get('id')} - {videos[0].get('desc', 'No desc')}")
else:
print(f"Error: Status {status_code}")
except urllib.error.HTTPError as e:
print(f"HTTP Error: {e.code} - {e.reason}")
print(e.read().decode('utf-8'))
except Exception as e:
print(f"Request failed: {e}")
if __name__ == "__main__":
debug_search()

29
tests/inspect_html.py Normal file
View file

@ -0,0 +1,29 @@
from bs4 import BeautifulSoup
import re
with open("debug_search_page.html", "r", encoding="utf-8") as f:
html = f.read()
soup = BeautifulSoup(html, "html.parser")
# Inspect text occurrences
print("\n--- Searching for 'trend' text ---")
text_matches = soup.find_all(string=re.compile("trend", re.IGNORECASE))
print(f"Found {len(text_matches)} text matches.")
unique_parents = set()
for text in text_matches:
parent = text.parent
if parent and parent.name != "script" and parent.name != "style":
# Get up to 3 levels of parents
chain = []
curr = parent
for _ in range(3):
if curr:
chain.append(f"<{curr.name} class='{'.'.join(curr.get('class', []))}'>")
curr = curr.parent
unique_parents.add(" -> ".join(chain))
for p in list(unique_parents)[:10]:
print(p)

45
tests/parse_ssr_data.py Normal file
View file

@ -0,0 +1,45 @@
from bs4 import BeautifulSoup
import json
with open("debug_search_page.html", "r", encoding="utf-8") as f:
html = f.read()
soup = BeautifulSoup(html, "html.parser")
script = soup.find("script", id="__UNIVERSAL_DATA_FOR_REHYDRATION__")
if script:
try:
data = json.loads(script.string)
print("Found SSR Data!")
# Save pretty printed
with open("ssr_data.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=2)
# Search for video list
# Look in __DEFAULT_SCOPE__ -> webapp.search-video -> searchVideoList (guessing keys)
# or just traverse and print keys
def find_keys(obj, target_key, path=""):
if isinstance(obj, dict):
for k, v in obj.items():
current_path = f"{path}.{k}"
if target_key.lower() in k.lower():
print(f"Found key '{k}' at {current_path}")
find_keys(v, target_key, current_path)
elif isinstance(obj, list):
for i, item in enumerate(obj):
find_keys(item, target_key, f"{path}[{i}]")
print("\nSearching for 'item' or 'list' keys...")
find_keys(data, "item")
find_keys(data, "list")
# Check specific known paths
default_scope = data.get("__DEFAULT_SCOPE__", {})
print(f"\nTop level keys: {list(default_scope.keys())}")
except json.JSONDecodeError as e:
print(f"JSON Error: {e}")
else:
print("Script tag not found.")

View file

@ -1,30 +1,30 @@
import urllib.request import urllib.request
import json import json
try: try:
print("Testing /health...") print("Testing /health...")
with urllib.request.urlopen("http://localhost:8002/health", timeout=5) as r: with urllib.request.urlopen("http://localhost:8002/health", timeout=5) as r:
print(f"Health: {r.status}") print(f"Health: {r.status}")
print("Testing /api/feed...") print("Testing /api/feed...")
with open("temp_cookies.json", "r") as f: with open("temp_cookies.json", "r") as f:
data = json.load(f) data = json.load(f)
# Ensure list format # Ensure list format
if isinstance(data, dict) and "credentials" in data: if isinstance(data, dict) and "credentials" in data:
data = data["credentials"] data = data["credentials"]
# Prepare body as dict for safety with new Union type # Prepare body as dict for safety with new Union type
body = {"credentials": data} body = {"credentials": data}
req = urllib.request.Request( req = urllib.request.Request(
"http://localhost:8002/api/feed", "http://localhost:8002/api/feed",
data=json.dumps(body).encode('utf-8'), data=json.dumps(body).encode('utf-8'),
headers={'Content-Type': 'application/json'} headers={'Content-Type': 'application/json'}
) )
with urllib.request.urlopen(req, timeout=30) as r: with urllib.request.urlopen(req, timeout=30) as r:
print(f"Feed: {r.status}") print(f"Feed: {r.status}")
print(r.read().decode('utf-8')[:100]) print(r.read().decode('utf-8')[:100])
except Exception as e: except Exception as e:
print(f"Error: {e}") print(f"Error: {e}")

42
tests/test_crawl.py Normal file
View file

@ -0,0 +1,42 @@
import asyncio
import base64
from crawl4ai import AsyncWebCrawler
async def main():
print("Starting Crawl4AI test...")
async with AsyncWebCrawler(verbose=True) as crawler:
url = "https://www.tiktok.com/search?q=hot+trend"
print(f"Crawling: {url}")
# Browser config
run_conf = {
"url": url,
"wait_for": "css:[data-e2e='search_video_item']",
"css_selector": "[data-e2e='search_video_item']",
"screenshot": True,
"magic": True
}
print(f"Crawling with config: {run_conf}")
result = await crawler.arun(**run_conf)
if result.success:
print("Crawl successful!")
print(f"HTML length: {len(result.html)}")
if result.screenshot:
with open("crawl_screenshot.png", "wb") as f:
f.write(base64.b64decode(result.screenshot))
print("Saved screenshot to crawl_screenshot.png")
# Save for inspection
with open("crawl_debug.html", "w", encoding="utf-8") as f:
f.write(result.html)
with open("crawl_debug.md", "w", encoding="utf-8") as f:
f.write(result.markdown)
else:
print(f"Crawl failed: {result.error_message}")
if __name__ == "__main__":
asyncio.run(main())

View file

@ -1,16 +1,16 @@
import requests import requests
import time import time
URL = "http://localhost:8002/api/auth/admin-login" URL = "http://localhost:8002/api/auth/admin-login"
def test_login(): def test_login():
print("Testing Admin Login...") print("Testing Admin Login...")
try: try:
res = requests.post(URL, json={"password": "admin123"}) res = requests.post(URL, json={"password": "admin123"})
print(f"Status: {res.status_code}") print(f"Status: {res.status_code}")
print(f"Response: {res.text}") print(f"Response: {res.text}")
except Exception as e: except Exception as e:
print(f"Error: {e}") print(f"Error: {e}")
if __name__ == "__main__": if __name__ == "__main__":
test_login() test_login()

View file

@ -1,30 +1,30 @@
import urllib.request import urllib.request
import json import json
import os import os
with open("temp_cookies.json", "r") as f: with open("temp_cookies.json", "r") as f:
data = json.load(f) data = json.load(f)
# Ensure data is in the expected dict format for the request body # Ensure data is in the expected dict format for the request body
if isinstance(data, list): if isinstance(data, list):
# If temp_cookies is just the list, wrap it # If temp_cookies is just the list, wrap it
body = {"credentials": data} body = {"credentials": data}
elif "credentials" not in data: elif "credentials" not in data:
body = {"credentials": data} body = {"credentials": data}
else: else:
body = data body = data
req = urllib.request.Request( req = urllib.request.Request(
"http://localhost:8002/api/feed", "http://localhost:8002/api/feed",
data=json.dumps(body).encode('utf-8'), data=json.dumps(body).encode('utf-8'),
headers={'Content-Type': 'application/json'} headers={'Content-Type': 'application/json'}
) )
try: try:
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
print(response.read().decode('utf-8')) print(response.read().decode('utf-8'))
except urllib.error.HTTPError as e: except urllib.error.HTTPError as e:
print(f"HTTP Error: {e.code}") print(f"HTTP Error: {e.code}")
print(e.read().decode('utf-8')) print(e.read().decode('utf-8'))
except Exception as e: except Exception as e:
print(f"Error: {e}") print(f"Error: {e}")

View file

@ -1,35 +1,35 @@
import requests import requests
import json import json
import time import time
BASE_URL = "http://localhost:8002/api/user/search" BASE_URL = "http://localhost:8002/api/user/search"
def test_search(): def test_search():
print("Testing Search API...") print("Testing Search API...")
try: try:
# Simple query # Simple query
params = { params = {
"query": "dance", "query": "dance",
"limit": 50, "limit": 50,
"cursor": 0 "cursor": 0
} }
start = time.time() start = time.time()
res = requests.get(BASE_URL, params=params) res = requests.get(BASE_URL, params=params)
duration = time.time() - start duration = time.time() - start
print(f"Status Code: {res.status_code}") print(f"Status Code: {res.status_code}")
print(f"Duration: {duration:.2f}s") print(f"Duration: {duration:.2f}s")
if res.status_code == 200: if res.status_code == 200:
data = res.json() data = res.json()
print(f"Videos Found: {len(data.get('videos', []))}") print(f"Videos Found: {len(data.get('videos', []))}")
# print(json.dumps(data, indent=2)) # print(json.dumps(data, indent=2))
else: else:
print("Error Response:") print("Error Response:")
print(res.text) print(res.text)
except Exception as e: except Exception as e:
print(f"Request Failed: {e}") print(f"Request Failed: {e}")
if __name__ == "__main__": if __name__ == "__main__":
test_search() test_search()