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

  • nnrx@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    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

    • kaktus@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

    • ArtVandelay@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

  • Chaphasilor [he/him]
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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!