Trakt.tv Integration
Track and recommend TV shows and movies using Trakt.tv. Use when the user asks for show/movie recommendations, wants to track what they're watching, check their watchlist, or get personalized suggestions based on their viewing history. Requires Trakt.tv account with Pro subscription for full functionality.
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
Trakt.tv Integration for OpenClaw
Integrate with Trakt.tv to track watch history and provide personalized show/movie recommendations.
📚 Trakt API Documentation: https://trakt.docs.apiary.io/
First-Time Setup Required
Before using this skill, run the interactive setup:
Automated Setup (Recommended)
python3 scripts/setup.py
This will guide you through:
- Installing dependencies
- Creating a Trakt application
- Configuring credentials
- Authenticating with PIN
- Testing the integration
Manual Setup
If automated setup doesn't work, follow the manual steps in the Setup section below.
Interactive Setup for OpenClaw
When a user asks to "install Trakt" or "set up Trakt integration," OpenClaw should:
- Read
INSTALL.mdfor detailed interactive flow - Or run
python3 scripts/setup.pyand guide user through prompts
Features
- Track watch history (automatically synced by Trakt from streaming services)
- Get personalized recommendations based on viewing habits
- Access user watchlists and collections
- Search for shows and movies
- View trending content
Prerequisites
-
Python dependencies:
# Install via pip (with --break-system-packages if needed) pip3 install requests # OR use a virtual environment (recommended) python3 -m venv ~/.openclaw-venv source ~/.openclaw-venv/bin/activate pip install requestsAlternatively, install via Homebrew if available:
brew install python-requests -
Trakt.tv account with Pro subscription (required for automatic watch tracking)
-
Trakt API application - Create at https://trakt.tv/oauth/applications
-
Configuration file:
~/.openclaw/trakt_config.json(see setup below)
Setup
1. Create Trakt Application
- Visit https://trakt.tv/oauth/applications
- Click "New Application"
- Fill in the form:
- Name: "OpenClaw Assistant"
- Description: "Personal AI assistant integration"
- Redirect URI:
urn:ietf:wg:oauth:2.0:oob(for PIN auth) - Permissions: Check all that apply
- Save and note your Client ID and Client Secret
2. Create Configuration File
Create ~/.openclaw/trakt_config.json with your credentials:
{
"client_id": "YOUR_CLIENT_ID_HERE",
"client_secret": "YOUR_CLIENT_SECRET_HERE",
"access_token": "",
"refresh_token": ""
}
Replace YOUR_CLIENT_ID_HERE and YOUR_CLIENT_SECRET_HERE with your actual values from step 1.
Note: Leave access_token and refresh_token empty - they'll be filled automatically after authentication.
3. Authenticate
Run the authentication script:
python3 scripts/trakt_client.py auth
This will output a PIN URL. Visit it, authorize the app, and run:
python3 scripts/trakt_client.py auth <PIN>
Authentication tokens are saved to ~/.openclaw/trakt_config.json
Usage
Get Recommendations
When a user asks for show/movie recommendations:
python3 scripts/trakt_client.py recommend
This returns personalized recommendations based on the user's watch history and ratings.
Check Watch History
python3 scripts/trakt_client.py history
Returns the user's recent watch history.
View Watchlist
python3 scripts/trakt_client.py watchlist
Shows content the user has saved to watch later.
Search
python3 scripts/trakt_client.py search "Breaking Bad"
Search for specific shows or movies.
Trending Content
python3 scripts/trakt_client.py trending
Get currently trending shows and movies.
Recommendation Workflow
When a user asks "What should I watch?" or similar:
-
Get personalized recommendations:
python3 scripts/trakt_client.py recommend -
Parse the results and present them naturally:
- Show title, year, rating
- Brief description/genre
- Why it's recommended (if available)
-
Optionally check watchlist to avoid suggesting shows they already plan to watch
-
Consider recent history to avoid re-suggesting recently watched content
API Reference
See references/api.md for detailed Trakt API endpoint documentation.
Common Use Cases
"What should I watch tonight?"
- Get recommendations, filter by mood/genre if specified
- Check trending if user wants something popular
"Add [show] to my watchlist"
- Search for the show
- Add to Trakt watchlist (requires additional endpoint implementation)
"What have I been watching lately?"
- Get watch history
- Summarize recent shows/movies
"Is [show] trending?"
- Get trending list
- Search for specific show
Limitations
- Trakt Pro subscription required for automatic watch tracking from streaming services
- Recommendations improve over time as watch history grows
- API rate limits apply: 1000 requests per 5 minutes (authenticated)
- Full API documentation: https://trakt.docs.apiary.io/
Troubleshooting
"Authentication failed"
- Verify CLIENT_ID and CLIENT_SECRET are set correctly in
~/.openclaw/trakt_config.json - Ensure PIN is copied accurately (case-sensitive)
- Check that your Trakt application has proper permissions
"No recommendations returned"
- User may not have enough watch history yet
- Try falling back to trending content
- Ensure user has rated some content on Trakt
"API request failed"
- Check authentication token hasn't expired
- Verify network connectivity
- Check Trakt API status: https://status.trakt.tv
Files
7 totalComments
Loading comments…
