oatsactuary
Newbie
- Apr 12, 2025
- 10
- 2
There are ways to scrap videos and stats from TikTok for analysis and trends. Most popular libraries use the same endpoints a web browser would use, where you don't require having any type of authentication. Other libraries relay on the mobile endpoints relay on the /aweme endpoints if you have an iid, this is the same you would execute from your phone (which you can use without authentication). I got both working, you can also see the code in libraries like yt-dlp: https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/extractor/tiktok.py
But I want to take it a step further. What would be really powerful is to have a feed of information coming from a specific hashtag or search, in the last 24 hours, sorted by popularity. This is what we usually do on our phones and this can be used without authentication as well.
Analysing the Android app, we have found the endpoint which is `/aweme/v1/general/search/stream`, but is not as easy I initially thought. TikTok sends parameters in a signed header like:
... which makes it difficult to decipher or to know which parameters or how have to be sent. But if we just do a curl, we do get the results from our terminal, meaning that if we are able to workout the X-Argus/X-Gorgon headers, we could do this from an internal dashboard.
Has anyone explored this or cracked the arguments?
Thanks in advance!
But I want to take it a step further. What would be really powerful is to have a feed of information coming from a specific hashtag or search, in the last 24 hours, sorted by popularity. This is what we usually do on our phones and this can be used without authentication as well.
Analysing the Android app, we have found the endpoint which is `/aweme/v1/general/search/stream`, but is not as easy I initially thought. TikTok sends parameters in a signed header like:
Code:
-H 'X-Argus: DwxHKQeBPWvG....19M/ig=' \
-H 'X-Gorgon: 8404b05e5000...6372af' \
... which makes it difficult to decipher or to know which parameters or how have to be sent. But if we just do a curl, we do get the results from our terminal, meaning that if we are able to workout the X-Argus/X-Gorgon headers, we could do this from an internal dashboard.
Has anyone explored this or cracked the arguments?
Thanks in advance!