Difficulty score from api

Hi, I’m trying to make a browser plugin that shows me the distribution of difficulty that I’ve been at, as a trend, over the past few days/weeks/months. I don’t know how useful this is, but sometimes I think “what level have I been using recently, it feels just right, or too-easy.” and then I go skim my last few days of videos. It’d be nice to see a scatterplot or a distribution. Looking at the json responses, I can find just about everything but the difficulty…

{
  "status": "OK",
  "data": {
    "activities": [
      { 
        "id": 665526,
        "userId": 11899,
        "date": "2025-07-04",
        "type": "watching",
        "customTypeId": null,
        "duration": 675,
        "timesImmersed": 1.2928557,
        "percentEngaged": 1,
        "createTS": "2025-07-04T13:39:26.364Z",
        "contentModuleId": 80,
        "userNotes": null
      },
      { 
        "id": 665474,
        "userId": 11899,
        "date": "2025-07-04",
        "type": "watching",
        "customTypeId": null,
        "duration": 557,
        "timesImmersed": 1.1135932,
        "percentEngaged": 1,
        "createTS": "2025-07-04T13:14:15.688Z",
        "contentModuleId": 133,
        "userNotes": null
      },

Is there any way to get the difficulty score easily?
Thanks!

1 Like

I don’t know how useful this is, but here’s what I ended up with. This isn’t a plugin like I hoped, but I can get a sense of how much I pushed myself (or not). No one needs a graph for that, since you can see the numbers on the “recently” part of the dashboard, but it does remind me that I was regularly looking at things in the ~15 range a bit ago and that recently I’ve struggled with things in the ~5 range, so maybe I need to go up in difficulty to make my life easier. lol. :shrug:

1 Like

That’s awesome! What are you running it on? I’d love it!

1 Like

I copy the html from my browser, and save it to a file, and then parse it with a python script that creates the plot. If you’re interested, I can put it up on github.

This might not be accurate, but this is my quick attempt to see how many videos there are at each difficulty score…

Of course, how many videos might not be what you want to know. Maybe you want to know what’s the total duration for each difficulty score?

One reason I think this might not be totally accurate is because the way I’m getting the difficulty score finds no score for a few videos, yet when you look at the actual video on the website, you do see a value. For example…

Modules missing 'difficulty':
- ID: 359, Title: ゲーム実況 スターデューバレー EP5 Let’s Play Stardew Valley EP5, Has plan: True
- ID: 356, Title: ゲーム実況 スターデューバレー EP4 Let’s Play Stardew Valley EP4, Has plan: True
- ID: 347, Title: ゲーム実況 スターデューバレー EP3 Let's Play Stardew Valley EP3, Has plan: True
- ID: 328, Title: ゲーム実況 スターデューバレー EP1 Let’s Play Stardew Valley EP1, Has plan: True
- ID: 337, Title: ゲーム実況 スターデューバレー EP2 Let’s Play Stardew Valley EP2, Has plan: True
- ID: 372, Title: ゲーム実況 スターデューバレー EP6 Let’s Play Stardew Valley EP6, Has plan: True

And if you look at the json, you can see there’s no difficulty…

      { 
        "id": 359,
        "title": "ゲーム実況 スターデューバレー EP5 Let’s Play Stardew Valley EP5",
        "type": "video",
        "level": "beginner",
        "isPremium": true,
        "plan": {
          "bunnyId": "a6c415ae-dd6f-4b2a-8ebc-ac4ccdd4cb95",
          "duration": 886,
          "numThumbnails": 443,
          "thumbnailFilename": "thumbnail_c8bf354e.jpg"
        },
        "publishDate": "2023-01-11T06:46:33.000Z"
      },  

Again, I’m not totally sure of the utility of this. Just sharing.

1 Like

Here’s an explanation for that. The difficulty score is based on the transcript, and the Stardew videos don’t have a transcript, so they have no difficulty score. Every video has a fallback score based on its level (in case I forget to run the difficulty score calculator script), so the Stardew videos just use the fallback value for their level (55)

1 Like