···11+Download a data export/data archive. On Mastodon and derivatives, go into Settings -> Import and export -> Export.
22+Click "Request your archive" and wait for the download link. Open a terminal, install [jq](https://jqlang.org/)
33+if you don't have it, navigate to your extracted archive, and run the following one--liner:
44+55+`jq '.orderedItems[] | select(.type == "Create") | .object.tag | map(select(.type == "Mention")) | select(any) | .[].name' -r outbox.json | sort | uniq -c | sort -n`
66+77+The output will be in the usual `uniq -c` format of `count item`, so how many times you've mentioned someone, then their username,
88+sorted by count ascending (so your most "popular" accounts last).
99+1010+You can substitute `.name` in the jq filter for `.href` and get profile URLs instead of usernames.
1111+Swap out `.type == "Mention"` for `.type == "Hashtag"` and get a list of the hashtags you've used.
1212+Or pipe all of that into `wc -l` to see how many distinct accounts you've mentioned.
1313+1414+I have no idea if this works on anything other than Mastodon, lmao.
1515+1616+## why?
1717+1818+I love cool statistics. I've been active on the Fediverse for three years at the time of writing,
1919+so this produced very accurate data of who I usually interact with, kind of like that fedicircle thing.
2020+2121+Also because over those three years I've managed to amass some, oh, 1000 followers and follows each.
2222+(I used to follow back a _lot_ early on.)
2323+2424+As it turns out, the timeline gets Very crowded, and to me, annoying, with those counts. Yay no algorithm.
2525+And despite being seemingly very famous, I have never really heard from most of these people in any way, or interacted
2626+with them, for that matter. A lot of these accounts just ended up dying.
2727+2828+So I wanted to unfollow _most_ people from my list (and remove most of my followers), while also keeping my friends,
2929+the people I do actually interact with. Preferrably without initiating a denial--of--service attack on my instance.
3030+3131+I thought about seeing how many likes my posts have gotten from different accounts, but that would require database
3232+access (which I don't have).
3333+3434+Likes "given" to others are also out, as the `likes.json` file in the export only lists post URLs, so I'd need to query
3535+my instance a zillion times to see who each post belongs to. Suboptimal.
3636+3737+Then I had an idea to just count how many times I've replied to different accounts. This is much simpler, as usually
3838+(not always, but usually is good enough here) posts in a reply chain will have all the users in the chain listed as
3939+mentions, and those replies are just there in the `outbox.json` file. I didn't even have to parse the post text, the
4040+format just has all the mentions for a given post neatly listed (with the used hashtags too).
4141+Then it's just a matter of writing a... kind of long jq filter and piping it into the usual sort | uniq -c | sort.
4242+4343+TL;DR I just made a new account, and this ended up being only somewhat useful to check if I had forgotten about someone.
4444+Still, pretty data.
+7
src/blog/2025-09-16-mastodon-stats/meta.json
···11+{
22+ "title": "see how many times you've talked with someone on the fediverse",
33+ "lang": "en",
44+ "date": "2025-09-16",
55+ "tags": ["software", "short"],
66+ "keywords": ["mastodon", "fediverse", "statistics"]
77+}
+1-1
src/blog/template_index.html
···2020 <main>
2121 <header>
2222 <h1>blog index</h1>
2323- <p>posts & things & various ramblings, probably</p>
2323+ <p>posts & things & projects & various ramblings, probably</p>
2424 </header>
2525 <ul>
2626 <!--BEGIN TEMPLATE-->