A lightweight Node.js app that checks TikTok, YouTube, and Twitch livestream URLs from a Google Sheet and updates their status.
This tool:
- Checks whether TikTok, YouTube, or Twitch streams are currently Live or Offline via HTTP requests
- Updates a Google Sheet with the status and timestamps
- Remembers the most recent "Live" timestamp in the
"Last Live (PST)"column - No browser automation required - uses direct HTTP requests
- Node.js 18+ (for native fetch support)
- Docker (optional)
- A Google Cloud service account with access to a Google Sheet
| File | Purpose |
|---|---|
main.js |
Main app logic (checks streams via HTTP) |
Dockerfile |
Builds the Docker container |
creds.example.json |
Template for Google service account key |
package.json |
Node dependencies for Google Sheets API |
Your Google Sheet must include at least these columns:
SourcePlatformLinkStatusLast Checked (PST)Last Live (PST)
All other columns will be preserved and ignored by the script.
Make sure:
- Your service account has Editor access to the sheet
- The sheet you're using is named
"Livesheet"(case-sensitive)
- Go to Google Cloud Console
- Create a service account
- Create and download a JSON key
- Rename it
creds.json - Share your Google Sheet with the service account's email
Example creds.json:
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
...
}docker build -t tiktok-checker .npm install
node main.jsdocker run -it --rm \
-v $(pwd)/creds.json:/app/creds.json \
tiktok-checkerdocker-compose up -dTo view logs:
docker-compose logs -fTo stop:
docker-compose down- The app runs in a loop and respects rate limits:
- Live feeds checked every ~2 minutes
- Offline feeds checked every ~7 minutes
- No browser or cookies needed - uses direct HTTP requests
- Lighter and faster than browser automation