Source Code
RescueTime
Fetch productivity analytics from the RescueTime API.
Setup
Store API key in TOOLS.md:
### RescueTime
- API Key: YOUR_KEY_HERE
Get a key at: https://www.rescuetime.com/anapi/manage
API Endpoints
Analytic Data (main endpoint)
curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=activity"
Parameters:
perspective: rank, interval, memberrestrict_kind: category, activity, productivity, efficiency, documentinterval: month, week, day, hour (only for interval perspective)restrict_begin/restrict_end: YYYY-MM-DDrestrict_thing: filter to specific app/site/category
Daily Summary Feed
curl "https://www.rescuetime.com/anapi/daily_summary_feed?key=API_KEY"
Returns last 14 days with productivity_pulse (0-100), total_hours, categories.
Productivity Levels
- 2: Very Productive (coding, writing, Terminal, IDEs)
- 1: Productive (communication, reference, learning)
- 0: Neutral (uncategorized)
- -1: Distracting (news, shopping)
- -2: Very Distracting (social media, games)
Common Queries
Today's activity by app:
curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=activity&restrict_begin=$(date +%Y-%m-%d)&restrict_end=$(date +%Y-%m-%d)"
Productivity breakdown:
curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=productivity"
By category:
curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=category"
Hourly breakdown today:
curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=interval&restrict_kind=productivity&interval=hour&restrict_begin=$(date +%Y-%m-%d)&restrict_end=$(date +%Y-%m-%d)"
Response Format
{
"row_headers": ["Rank", "Time Spent (seconds)", "Number of People", "Activity", "Category", "Productivity"],
"rows": [[1, 3600, 1, "VS Code", "Editing & IDEs", 2], ...]
}
Convert seconds to hours: seconds / 3600
Tips
- Productivity pulse 75+ is good, 85+ is excellent
- Category view helps see broad patterns
- Use interval perspective with hour for time-of-day analysis
- Data syncs every 3 min (premium) or 30 min (free)