TikSpyder is a command-line tool designed to collect TikTok data using SerpAPI for Google search results and Apify for TikTok data extraction. The tool supports video downloading via yt-dlp and uses Python’s asynchronous capabilities and multithreading for efficient data collection.
Visit our GitHub Pages site for:
| Tool | Description | Access |
|---|---|---|
| 🎙️ Audio Transcription | Transcribe audio files from TikTok videos |
TikSpyder provides two ways to interact with the tool:
A modern, user-friendly web interface with TikTok-inspired dark theme that makes data collection accessible to everyone.

Features:
Launch the Interface:
Method 1 (Recommended):
# Using package installation
tikspyder --app
# Using standard installation
python main.py --app
Method 2 (Direct):
streamlit run app.py
Full-featured command-line tool for automation and scripting scenarios.
TikSpyder offers two main methods of data collection:
The tool supports various filtering options, including date ranges and content types, and can download both videos and thumbnails. Data is stored in a SQLite database and can be exported to CSV files for further analysis.
Given the dynamic nature of search results and the constantly evolving landscape of TikTok’s platform, it’s important to note that the data collected by TikSpyder represents a sample rather than a comprehensive dataset. However, this sample can still be valuable for monitoring trends and identifying emerging narratives in the information ecosystem.
To get the most out of TikSpyder, it is recommended to test your query using Google’s advanced search features. This can help refine your search query, improve the relevance of your results, and test specific keywords more effectively. By taking advantage of these features, you can ensure that you’re collecting the most relevant data for your research or analysis.
requirements.txtsudo apt-get install python3-tk (Ubuntu/Debian)git clone https://github.com/estebanpdl/tik-spyder.git
cd tik-spyder
pip install -r requirements.txt
or
pip3 install -r requirements.txt
This method installs TikSpyder as a package, making the tikspyder command available from anywhere on your system.
git clone https://github.com/estebanpdl/tik-spyder.git
cd tik-spyder
pip install -e .
or
pip3 install -e .
After installation, you can use tikspyder directly from any directory instead of python main.py.
api_key_value and apify_token_value with your API key and token.
[SerpAPI Key]
api_key = your_serp_api_key
[Apify Token]
apify_token = your_apify_token
TikSpyder offers two interface options to suit different user preferences and use cases:
The Streamlit interface provides an intuitive, visual way to configure and run data collection tasks.
# Navigate to TikSpyder directory
cd tik-spyder
# Launch the Streamlit app
streamlit run app.py
The interface will automatically open in your default web browser at http://localhost:8501
For advanced users and automation scenarios, TikSpyder provides a full-featured CLI.
tikspyder [OPTIONS]
python main.py [OPTIONS]
# Package installation
tikspyder --help
# or
tikspyder -h
# Standard installation
python main.py --help
# or
python main.py -h
Command Line Arguments.
Help options:
-h, --help Show this help message and exit.
SerpAPI options:
--q The search term of phrase for which to retrieve TikTok data.
--user Specify a TikTok user to search for videos from.
--tag Specify a TikTok tag to search for videos from.
--google-domain Defines the Google domain to use. It defaults to google.com.
--gl Defines the country to use for the search. Two-letter country code.
--hl Defines the language to use for the search. Two-letter language code.
--cr Defines one or multiple countries to limit the search to.
--safe Level of filtering for adult content. Options: active (default), off
--lr Defines one or multiple languages to limit the search to.
--depth Depth of iterations to follow related content links.
Google advanced search options:
--before Limit results to posts published before the specified date. Format: YYYY-MM-DD.
--after Limit results to posts published after the specified date. Format: YYYY-MM-DD.
Optional Apify arguments:
--apify Specify whether to use Apify integration.
--oldest-post-date Filter posts newer than the specified date. Format: YYYY-MM-DD.
--newest-post-date Filter posts older than the specified date. Format: YYYY-MM-DD.
--number-of-results Specify the number of results to return from Apify. Default: 25
Optional arguments and parameters:
--app Launch the Streamlit web interface instead of using CLI mode.
--use-tor Specify whether to use Tor for downloading TikTok videos.
-d, --download Specify whether to download TikTok videos from SerpAPI and Apify.
-w , --max-workers Specify the maximum number of threads to use for downloading TikTok videos and extracting keyframes.
-o , --output Specify output directory path. If not provided, data is saved in the current working directory in a folder named `tikspyder-data`
# Using package installation (Method 2)
tikspyder --q "F-16 AND Enemy AND (Ukraine OR Russia)" --gl us --hl en --after 2024-02-01 --before 2024-05-31 --output {output_directory}/ --download
# Using standard installation (Method 1)
python main.py --q "F-16 AND Enemy AND (Ukraine OR Russia)" --gl us --hl en --after 2024-02-01 --before 2024-05-31 --output {output_directory}/ --download
# Note: Replace '{output_directory}' with the desired output path.
# Using package installation (Method 2)
tikspyder --q Trump --user username --output {output_directory}/ --download --apify --oldest-post-date 2025-01-01
# Using standard installation (Method 1)
python main.py --q Trump --user username --output {output_directory}/ --download --apify --oldest-post-date 2025-01-01
# Note: Replace '{output_directory}' with the desired output path.
tikspyder –tag sinaloa –apify –oldest-post-date 2025-08-01 –number-of-results 50 –output {output_directory}/ –download
python main.py –tag sinaloa –apify –oldest-post-date 2025-08-01 –number-of-results 50 –output {output_directory}/ –download
### Tor Integration
You can use Tor network for downloading TikTok videos to enhance privacy and avoid rate limiting. To use this feature:
1. Make sure Tor Browser is installed and running
2. Configure your torrc file with:
SocksPort 9050
ControlPort 9051 CookieAuthentication 1 ```
--use-tor flag when running the script. If Tor connection fails, the script will automatically fall back to a normal connection.If you find TikSpyder helpful, please consider buying me a coffee to support ongoing development and maintenance. Your donation will help me continue to improve the tool and add new features.