I’m looking at making a fun project for generating media recommendations based on past viewing behavior and I’d like to know if the API exposes something like “previous N items that user X played”
Looking through the swagger docs on my server, i see an endpoint of /Users/{UserID}/Views
but that only seems to return all of my libraries, not the individual media for that given user’s playback history. I’d like to get the last X (configurable) items that a given user Id has played, but no luck so far.
I’m using the python library here
I browsed to my jellyfin media library with the network tab open and set the filter to “Played” and it made a request like this:
https://{ host }/Users/{ user_id }/Items?SortBy=DateCreated%2CSortName%2CProductionYear&SortOrder=Descending&IncludeItemTypes=Movie&Recursive=true&Fields=PrimaryImageAspectRatio%2CMediaSourceCount%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&StartIndex=0&Limit=100&Filters=IsPlayed
I can’t check right now, but if you go to your.ip:8096/api-docs/swagger/index.html you can see all endpoints.
Sorry for posting here, somehow I cant respond to the op.
Thanks, that’s a great start. Perhaps a combination of the limit, filters, and sort by query parameters might get me there. Now to find what all options there are other than date created for the sorting.
The
PlaybackReporting
plugin supports that. You can get the item IDs of every media item each user played, along with the timestamp and duration. You can also filter the results using a SQP query. Let me know if you need additional pointers!