đ Quick Start
updateyt is a powerful YouTube data collection system that can search, store, and manage YouTube video data using multiple API keys.
7,458
Total Videos Collected
đĄ API Endpoints
GET /?action=search
Search YouTube videos and store them in database
- q - Search query (default: music)
- limit - Maximum results (max: 50)
- pageToken - Pagination token
curl "http://localhost/updateyt/?action=search&q=music&limit=50"
GET /?action=bulk
Perform bulk search across multiple queries until target reached
- target - Target number of records (max: 10000)
curl "http://localhost/updateyt/?action=bulk&target=1000"
GET /?action=videos
Retrieve stored videos with pagination and search
- limit - Number of videos (max: 100)
- offset - Pagination offset
- search - Search term (searches title, channel, query)
curl "http://localhost/updateyt/?action=videos&limit=20&search=music"
GET /?action=stats
Get database statistics and analytics
curl "http://localhost/updateyt/?action=stats"
đ§ Configuration
API Keys: Loaded from youtubeapi.txt
Database: MySQL with UTF-8 support
Search Queries: song, music, āšā¸ā¸Ĩā¸, music video, āšā¸ā¸Ĩā¸āšā¸ā¸ĸ, thai song
Target Records: 10,000
Rate Limiting: 1 seconds between requests
đ Features
- â
Multi-API key rotation with quota management
- â
Duplicate detection using content hashing
- â
Thai language support (UTF-8)
- â
Admin dashboard with Gmail authentication
- â
Bulk search up to 10K records
- â
RESTful API interface
- â
Database statistics and analytics
- â
Pagination and search functionality
đ¯ Usage Examples
1. Basic Search
# Search for Thai music videos
curl "http://localhost/updateyt/?action=search&q=āšā¸ā¸Ĩā¸āšā¸ā¸ĸ&limit=20"
2. Bulk Collection
# Collect 5000 videos using all queries
curl "http://localhost/updateyt/?action=bulk&target=5000"
3. Retrieve Videos
# Get latest 50 videos
curl "http://localhost/updateyt/?action=videos&limit=50"
# Search for specific content
curl "http://localhost/updateyt/?action=videos&search=guitar&limit=10"
4. Get Statistics
curl "http://localhost/updateyt/?action=stats" | jq '.data'