Top Posts
What it does
Section titled “What it does”Top Posts reads an account’s posts over a period you choose and ranks them by likes, reposts, replies, quotes, or all four together. Use it to see what worked on your own account, to study another account, or to find a post you remember being popular.
The result shows:
- The account, with its post count and an Open on Bluesky button.
- A summary: Posts scanned, Average engagement per ranked post, the period and how far back the scan reached, how long it took, and the average likes, reposts, replies, and quotes per post.
- The ranked posts: the first 50, each with its rank, date, text (up to four lines), images, link card, or quoted post, its counts, and an Open button that opens it on Bluesky. Show 50 more adds the next 50.
Before you start
Section titled “Before you start”- You do not need to sign in. Top Posts reads public posts.
- You need the account’s handle, DID, or a bsky.app profile link.
- The address holds the account and every option, so a ranking is a shareable link. Options left at their defaults are left out of the address.
Step by step
Section titled “Step by step”- Open Top Posts.
- Type a handle, DID, or profile link in Handle, DID, or profile link, or pick a suggested account as you type.
- Choose a Period. On a narrow screen, Period is a menu.
- Choose Find top posts. A bar shows the scan’s progress and how far back it has read (Back to <date>).
- The ranking fills in as the scan reads. Choose Stop and keep results to end it early.
- Change Sort by or Include reposts of others to re-rank the same posts at once.
- To save the posts, choose Export and pick CSV or JSON.
- To start over, choose Clear in the box. The options stay as they are.
Options
Section titled “Options”Period
Section titled “Period”| Choice | Reads |
|---|---|
| 30 days | The last 30 days. |
| 90 days | The last 90 days. This is the default. |
| 1 year | The last 365 days. |
| All time | Every post the account has. |
| Custom | The days you choose. |
With Custom, From and To date fields appear, filled with the period you had. Both days are included, in your time zone. The new dates apply when you choose Find top posts. Posts newer than To are read past to reach the period, and the summary says how many.
Changing the period starts a new scan.
Sort by
Section titled “Sort by”Likes (the default), Reposts, Replies, Quotes, or Total engagement (the four added together). Ties go to the post with more total engagement, then to the newer post. Changing the sort re-ranks what was read, with no new scan.
Include replies
Section titled “Include replies”Off by default: only the account’s own top-level posts are read. On, its replies to others are read and ranked too. Changing this starts a new scan.
Include reposts of others
Section titled “Include reposts of others”Off by default. On, posts by other accounts that this account reposted are ranked with those posts’ counts, dated by the repost. The account reposting its own posts never counts. Changing this re-ranks what was read, with no new scan.
Export
Section titled “Export”Export offers CSV and JSON. Both hold every post read in the period, newest first, not only the ranked ones: reposts of others are included even when Include reposts of others is off. Pinned posts, the account’s reposts of itself, and posts Bluesky hides are left out.
Each row has url, uri, kind (post, reply, or repost), author_handle, date, text,
likes, reposts, replies, quotes, total, media, and quotes_post, then the post’s links,
mentions, tags, quoted post, image alt text (up to four), and link card. JSON uses the same fields
in camelCase, with the content nested.
Files are named after the account and period, such as top-posts-alice.bsky.social-90d.csv.
What gets changed
Section titled “What gets changed”Nothing: it only reads. The account and its posts come from Bluesky’s public API (AppView). The scan stays only in the open tab: if you move to another BskyKit page and come back, it is still there, and a scan still running keeps going.
Nothing to undo: it only reads.
Limits
Section titled “Limits”- Bluesky sends 100 posts per request, newest first, so a long period on a busy account takes a while. As a guide: 1,365 posts of a news account over 30 days took 4 seconds; 4,312 posts over a year took 23 seconds; 10,000 posts took about 40 seconds.
- A scan pauses every 10,000 posts read, with Scan further to read up to 10,000 more. The posts read past to reach a custom period count toward the 10,000.
- Counts are those Bluesky shows at the time of the scan.
- Accounts that Bluesky hides (labeled
!hideor!takedown) and accounts that ask to be shown only to people signed in to Bluesky are not read. Posts Bluesky hides are skipped. - When Bluesky asks to slow down, or has a passing error, the scan waits and tries again up to five times, starting at 2 seconds and doubling up to 60.
Troubleshooting
Section titled “Troubleshooting”“Read the newest 10,000 posts”
Section titled ““Read the newest 10,000 posts””The scan paused at its 10,000-post step. Older posts are not ranked yet. Choose Scan further to read up to 10,000 more, or keep the ranking you have.
“The scan stopped after … posts”
Section titled ““The scan stopped after … posts””Bluesky kept failing after five tries. The results cover only the posts scanned so far. Choose Try again from there to carry on from the last page read.
“No posts to rank”
Section titled ““No posts to rank””The account has no posts in this period for these options. Try a longer Period, or turn on Include replies if the account mostly replies.
Date errors with Custom
Section titled “Date errors with Custom”- Choose the start date. or Choose the end date.: fill in both days.
- The start date must be on or before the end date.: swap the days.
- The start date cannot be in the future.: choose today or an earlier day.
“This account asks to be shown only to people signed in to Bluesky, so BskyKit does not read it.”
Section titled ““This account asks to be shown only to people signed in to Bluesky, so BskyKit does not read it.””The account has chosen to be hidden from people who are signed out, and BskyKit respects that. Bluesky hides this account, so BskyKit does not read it. means Bluesky’s moderation has hidden or taken it down.
“No Bluesky account was found for …”
Section titled ““No Bluesky account was found for …””Check the spelling, or look the account up in Handle & DID Lookup to find its current handle or DID.

