Close

BlueSky API Pains

A project log for SeaGL 2025 Badge (Unofficial)

An interactive badge for the Seattle GNU/Linux Conference with live hashtag updates for the event.

johnsonfarmsusJohnsonFarms.us 10/18/2025 at 03:060 Comments

So connecting to BlueSky is super easy, and calling the API and pulling posts based off hashtags is no problem. Even pulling recent posts, which is what we are doing, is easy peasy. However, I kept having an issue and it would only pull a single most recent post, then the next two were 15 days old.

So I took to the BlueSky website and did the search on the site and sorted by latest and got the same result. The interesting thing is that the first post it showed was in fact the most recent post, but the second was 15 days old, and the next was chronologically the next post to that one. The interesting thing was that the 15 day old post was pinned. After messing around a bit with trying to pull the posts in different methods with the API, it seems like somehow the pinned post messes up a few posts following it, then returns back to the actual "most recent" order. 

Why is this? I don't know. It seems like it was only doing this to the pinned post plus 6 more. The pinned post was from seagl.org, which makes sense, but is a pain none-the-less. Thankfully this was a number of posts we could overcome. With the hardware limits of the ESP32 we could only pull 10 posts at a time, so basically we pull 10 posts and ignore any posts from @seagl.org and use the 3 most recent posts remaining. 

So is this my ideal operation? No, but it does allow the tool to work and does still scoop up the community posts related to the event, so still a win in my book.

Discussions