Activity API
The Activity API provides access to activity logs and statistics about content added to your library.
Get Activity Logs
Section titled “Get Activity Logs”Retrieve recent activity logs with optional filtering.
Endpoint: GET /v1/activity/logs
Query Parameters:
limit(optional) - Number of logs to return (default: 50, max: 500)media_type(optional) - Filter by type:movieorshowjob_type(optional) - Filter by job name (e.g.,trending_movies)status(optional) - Filter by status:added,requested,failed
Example Requests:
# Get last 100 activity logscurl "http://localhost:9090/v1/activity/logs?limit=100"
# Get only moviescurl "http://localhost:9090/v1/activity/logs?media_type=movie"
# Get trending movies onlycurl "http://localhost:9090/v1/activity/logs?job_type=trending_movies"
# Get failed addscurl "http://localhost:9090/v1/activity/logs?status=failed"Example Response:
{ "logs": [ { "id": 123, "timestamp": "2026-01-08T15:30:45Z", "job_type": "trending_movies", "media_type": "movie", "title": "Dune: Part Two", "year": 2024, "tmdb_id": 693134, "imdb_id": "tt15239678", "poster_url": "https://www.themoviedb.org/movie/693134", "status": "added" }, { "id": 124, "timestamp": "2026-01-08T15:31:12Z", "job_type": "popular_shows", "media_type": "show", "title": "The Last of Us", "year": 2023, "tmdb_id": 100088, "tvdb_id": 392256, "poster_url": "https://www.themoviedb.org/tv/100088", "status": "requested" } ], "count": 100}Response Fields:
id- Activity log IDtimestamp- When the content was added (ISO 8601)job_type- Which job added itmedia_type-movieorshowtitle- Content titleyear- Release yeartmdb_id- TMDB ID (movies and shows)tvdb_id- TVDB ID (shows only)imdb_id- IMDB IDposter_url- Link to content pagestatus-added(direct mode) orrequested(Jellyseerr mode)
Get Activity Statistics
Section titled “Get Activity Statistics”Get statistics about content added over different time periods.
Endpoint: GET /v1/activity/stats
Example Request:
curl http://localhost:9090/v1/activity/statsExample Response:
{ "total_items": 1523, "movies_added": 892, "shows_added": 631, "last_24h": 45, "last_7d": 312, "last_30d": 891, "by_job": { "trending_movies": 234, "popular_movies": 189, "smart_popular_movies": 156, "trending_shows": 178, "popular_shows": 142 }}Response Fields:
total_items- Total content added all-timemovies_added- Total movies addedshows_added- Total shows addedlast_24h- Items added in last 24 hourslast_7d- Items added in last 7 dayslast_30d- Items added in last 30 daysby_job- Breakdown by job type
Clear Activity Logs
Section titled “Clear Activity Logs”Delete activity logs older than specified days.
Endpoint: DELETE /v1/activity/logs
Query Parameters:
days(required) - Delete logs older than N days
Example Request:
# Delete logs older than 30 dayscurl -X DELETE "http://localhost:9090/v1/activity/logs?days=30"Example Response:
{ "message": "Deleted 234 activity logs older than 30 days", "deleted_count": 234}Advanced Examples
Section titled “Advanced Examples”Get Today’s Activity
Section titled “Get Today’s Activity”curl -s "http://localhost:9090/v1/activity/logs?limit=500" \ | jq '.logs[] | select(.timestamp >= "'$(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%S)'Z")'Count by Media Type
Section titled “Count by Media Type”curl -s "http://localhost:9090/v1/activity/stats" \ | jq '{movies: .movies_added, shows: .shows_added}'Get Failed Adds
Section titled “Get Failed Adds”curl -s "http://localhost:9090/v1/activity/logs?status=failed&limit=100" \ | jq '.logs[] | {title, year, job_type}'Export to CSV
Section titled “Export to CSV”curl -s "http://localhost:9090/v1/activity/logs?limit=500" \ | jq -r '.logs[] | [.timestamp, .title, .year, .media_type, .job_type] | @csv' \ > activity.csvError Responses
Section titled “Error Responses”Invalid Limit (400):
{ "error": "Limit must be between 1 and 500"}Invalid Media Type (400):
{ "error": "Invalid media_type. Must be 'movie' or 'show'"}Missing Required Parameter (400):
{ "error": "Parameter 'days' is required"}Next Steps
Section titled “Next Steps”- Explore Jobs API
- Review Configuration API
- Learn about Integration Modes