Is there a way to access engagement stats for a community to make a (daily) time series? Something along the lines of exporting data ever 24 hours at 2:00 UTC.

This is the data I am referring to:

daily

Perhaps an API of some sort. A formal method that goes beyond writing a scrapper.

    • Alphane Moon@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      Will need to check out lemmyverse and see what data is available.

      Seems like a simple script doing an API query every 24-hours seems to be the best option, but I would rather not deal with maintaining such a script/solution. :)

      • that’s pretty much what I do, it crawls through all the Lemmy sites (and Mbin) and data is updated each 6 hours. I’ve been thinking about storing a longer history of data so I could add some more graphs and stuff.

        also I will probably publish the raw redis dump, which might allow for some more analytics based on it.

        • Alphane Moon@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 days ago

          Please do publish the raw data, even if it is not visualised. Would be interesting to trawl through history even I do end up writing a basic API query service.

  • kersploosh@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    Community statistics are available from the Lemmy API. For example, this URL returns the info for this community: https://lemm.ee/api/v3/community?name=fedigrow

    The community statistics are listed in the returned data under counts:.

    The API only returns current numbers, though. To create a time series you need to write a script to grab the community statistics on a regular basis and store the results.

  • PhilipTheBucket@ponder.cat
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 days ago

    IDK if this counts as “writing a scraper,” but from tmux you could:

    echo '"Daily Users","Weekly Users","Monthly Users","6-Month Users","Community ID","Subscribers","Posts","Comments"' > stats.csv
    
    while true; do
        curl "https://YOUR_INSTANCE/api/v3/community?name=COMMUNITY_NAME" \
            | jq -r '[.community_view.counts | (.users_active_day, .users_active_week, .users_active_month, .users_active_half_year, .community_id, .subscribers, .posts, .comments)] | @csv' >> stats.csv
        sleep 24h
    done
    

    Edit: No auth needed, it’s simple