Are Bluesky Likes Public? Yes, Just Not on Your Profile
A stranger can read every like you have ever tapped, in order, starting from your first one, without logging in and without you being told. What they can't do is find it in the app: the Likes tab renders on your own profile and nobody else's, and the API method behind it has refused to serve one account's likes to another since August 2023.
That gap is why the popular answer to this question is right in the verdict and wrong in every practical detail. The page currently ranking for this exact query tells readers that "if someone goes to your profile, they can click the 'Likes' tab and see everything you've liked." There is no such tab — not on anyone's profile but your own. Which sounds like good news right up until you learn what replaced it.
Who Can See Your Bluesky Likes?
Anyone who asks the right server — and nobody who asks the app. Bluesky keeps these two things in different places, and almost every guide collapses them into one:
| Where you look | What a stranger gets | Are you told? |
|---|---|---|
| Their profile in the Bluesky app | Nothing — no Likes tab exists for visitors | — |
app.bsky.feed.getActorLikes |
An error, unless they are you | — |
The app.bsky.feed.like records in the repo |
Everything, oldest first, no login | No |
app.bsky.feed.getLikes on one post |
Everyone who liked that post | No |
The middle row has a precise birthday, and Bluesky's own commit history is unusually candid about it. On August 18, 2023, a commit titled "only allow viewing your own likes" added a check rejecting any request where the viewer isn't the account being asked about. The error it threw was, verbatim, 'Likes are private'. Three days later a commit called "opaque errors" replaced that string with 'Profile not found' — which is still what you get today, and which isn't true. The profile is right there.
The client agrees. In Bluesky's app the tab hangs on a single line, const showLikesTab = isMe, while the neighbouring tabs behave normally: feeds and starter packs render for any visitor when there's something to show, and lists for any signed-in one. Likes are the only tab switched off for everyone but their owner.
None of which Bluesky has ever dressed up as privacy. Its user FAQ has said "Posts and likes are public" since 2023, and when the self-only tab shipped that August, TechCrunch reported that Bluesky had said in a post that a user's likes "can be accessed through the API because they are public" — and that while the native client doesn't show them, other apps can choose to display other people's.
Can You See Someone Else's Likes on Bluesky?
Yes, and it takes one request that no token, app password or sign-in stands in front of:
curl "https://<their-server>/xrpc/com.atproto.repo.listRecords
?repo=<their-did>&collection=app.bsky.feed.like&limit=100"
→ { "records": [ { "value": { "$type": "app.bsky.feed.like",
"subject": { "uri": "at://did:plc:y25.../app.bsky.feed.post/3mslcgbz6tc2u" },
"createdAt": "2026-08-08T16:31:47.883Z" } }, ... ] }
The host is the person's own server, which you look up from their handle, and the cursor at the bottom of each page walks the rest a hundred likes at a time. Two free websites already wrap this for people who don't want to touch a terminal — bluesky-likes, titled "See other profile's likes on Bluesky", and bskyinfo's likes viewer, which advertises itself as free and no-login. (I pointed the first one at my own handle before writing this paragraph. I don't especially recommend doing that in a good mood.)
The detail I keep coming back to is a checkbox on that first site labelled "Oldest first." On your own profile the app shows you your likes newest-first and makes you scroll. A stranger can start at the beginning.
What Can Someone Learn From Your Bluesky Likes?
95,098 like records, fifty accounts, one afternoon, no credentials. That's what a sweep of accounts posting into Bluesky's Discover feed returned on August 14, 2026 — and I stopped reading each history at 2,500 records, which 36 of the 50 hit, so the real total is comfortably higher.
| Measure | Result |
|---|---|
| Repositories readable with no login | 50 of 50 |
| Accounts returning at least one like | 49 |
| Accounts at my 2,500-record ceiling | 36 of 50 |
| Like records read | 95,098 |
| Oldest like read | May 3, 2023 |
| Liked posts that no longer resolve | 3.5% (49 of 1,392 checked) |
Nobody was notified that I'd looked, because there is no mechanism by which they could be.
That oldest record is worth a beat. May 3, 2023 puts it in the invite-only era, months before Bluesky opened to the public in February 2024, and it's still being served to anyone who asks three years later.
What turns a pile of records into a profile is the timestamp on each one. Bucketed by hour, all 95,098 of them:
- Quietest hour: 06:00 UTC — 1,362 likes
- Busiest hour: 14:00 UTC — 7,153 likes, a 5.3× swing
Read that curve at the aggregate level and it mostly tells you where Bluesky's posters live rather than when they sleep — these are UTC buckets across a worldwide sample. The per-account version is the one that would read as somebody's schedule, and I haven't published one. But the ingredients are sitting in every repository on the network, free, unnotified, and sorted.
Three caveats I'd want if I were reading this off someone else's site. These are Discover-feed posters, so they're the busy end of Bluesky rather than the average signup. The 3.5% is sampled across each history rather than audited in full. And because I read newest-first and capped each account at 2,500, likes older than that ceiling exist for the 36 accounts that hit it — May 2023 is the oldest I read, not the oldest there is.
Command: ./scripts/bsky_stats.py likeprivacy feed:<at-uri> 50 25
Can You Hide or Make Your Bluesky Likes Private?
No, and the reason is structural rather than a missing screen. The whole app.bsky.feed.like record is three fields: the post you liked, the timestamp, and an optional via. There's no visibility flag, no audience, nothing to switch — and a protocol where every server already holds a copy has nowhere to enforce one, which is the same wall no Bluesky list can be made private runs into.
That third field is the one nobody mentions. via records the route you took to the post — it points at the repost you came through, so the like can preserve not just what you liked but who put it in front of you. Two of the hundred most recent likes in the repo I pulled carried one.
What Bluesky built instead is a second verb. Bookmarks arrived on September 8, 2025 and were deliberately kept off the protocol, so they never enter your repository at all: createBookmark "creates a private bookmark," and getBookmarks serves "records bookmarked by the authenticated user." There is no method for reading anyone else's, because there's nothing there to read.
So the honest division of labour:
- Like to endorse in public and tell the author. Permanent, timestamped, enumerable by strangers.
- Bookmark to keep something. Private, invisible, useless as a signal to anyone else.
- Unlike to actually remove it — this deletes the record rather than hiding it.
If you've been using likes as a read-it-later pile, that's the swap to make.
Can You See Who Liked Your Post on Bluesky?
Yes, and so can everyone else. Tap the like count under any post and the app lists the accounts behind it; the endpoint doing that, app.bsky.feed.getLikes, answers logged-out requests just as happily. It's the one direction of this that works exactly as people expect — which is probably why so few realise the other direction works too.
Why Did My Bluesky Likes Disappear?
Usually they haven't. The feed showing them has. This is the most-reported version of the question and the most-misanswered, so it's worth separating three things.
The complaint people actually file is the Likes tab truncating by age. An open issue from February 2026 describes every like older than six or seven months vanishing from the feed while newer ones stayed; an earlier one, open since July 2025 and titled "all my likes seem to expire after 2 months," reports a two-month ceiling. There's a related pagination bug where the likes endpoint hands back a cursor after it has run out of likes, which is a good way to make a feed look empty or hang forever.
Here's the part I can settle with the data above: nothing is being deleted. I read likes going back to May 2023 straight out of people's repositories on the same day those reports were live. The records persist; it's the view of them that's lossy. Your likes are simultaneously harder to see than you'd like and more permanent than you'd think.
The second cause is real but smaller: the liked post went away. 3.5% of the likes I checked pointed at posts that no longer resolve — deleted, taken down, or belonging to a suspended account. Your record still names the address; there's just nothing at it any more.
The third is a different question wearing the same words: the like count on your own posts sliding down. That's a cached aggregate re-settling as accounts behind it deactivate or get purged — the same machinery that makes follower counts look wrong, and rarely anyone unliking you.
Where Does Agent Sky Fit?
Agent Sky could read every like you have. It holds the scope for it — the same over-broad transition:generic and transition:chat.bsky grant I flagged when writing about DMs, which carries write access to any record type in your repository, likes included.
It doesn't. The product never creates, reads or removes a like record; the only like-reading code in the repo is the offline research script behind the numbers above, which reads sampled public repositories and never a customer's. Targeting runs on the follow graph and four profile fields instead — no post content, no engagement history, no embeddings.
That's a worse interest model than likes would be, and I know it. A like history is the highest-fidelity public signal on Bluesky: a timestamped list of everything a person stopped scrolling for. I've left it alone because "we read everything you've ever liked" is not a sentence I want to write on a pricing page.
The part that matters if you run any automation at all: whatever your tools like is public, timestamped, and yours forever. Two hundred likes in four minutes at 3am is legible to anyone who pages through your repo, and it's the shape Bluesky's rules on bots exist to catch. My answer is to stay out of that record entirely — following is confined to a daytime window with randomised gaps between actions, and there's no like button in the thing to abuse. Signing up is free.
I read ninety-five thousand strangers' likes to write this, and not one of them will ever know. That's the real answer to the question in the title.
Quick FAQ
Are Bluesky likes public?
Yes, completely. Every like you tap writes an app.bsky.feed.like record into your public repository, carrying the post you liked and a timestamp, and anyone can read the whole history with one unauthenticated request. Bluesky's own user FAQ says it plainly: "Posts and likes are public." What confuses people is the app, which has not shown anyone else's likes since August 2023 — so the data is more exposed than the interface suggests, not less.
Can you see someone else's likes on Bluesky?
Not in the Bluesky app. The Likes tab renders only on your own profile, and the API method behind it refuses any request where the viewer isn't the account being asked about. But the underlying records are public, so a com.atproto.repo.listRecords call against that person's server returns their likes anyway, and free websites exist that do exactly this. TechCrunch reported in 2023 that Bluesky had said in a post that likes "can be accessed through the API because they are public", and that other apps may choose to display them.
How do you hide your likes on Bluesky or make them private?
You can't, and it isn't a missing setting so much as a missing place to put one. The like record schema has three fields — the post, the timestamp, and an optional "via" reference — with nothing resembling a visibility flag. The supported alternative is bookmarks, which Bluesky added in September 2025 and deliberately kept off-protocol; the lexicon calls createBookmark a "private bookmark" and getBookmarks serves only "the authenticated user". If you want to save a post without endorsing it in public, bookmark it instead of liking it.
Why did my Bluesky likes disappear? In most reports the likes are still there and the feed showing them isn't. Users have logged likes vanishing from the Likes tab by age — one issue describes everything older than six or seven months gone, another describes a two-month ceiling — while the records themselves stay in the repository. Reading 50 active accounts on August 14, 2026, I pulled likes going back to May 2023, so nothing is being deleted. A second, smaller cause is the liked post itself being removed: 3.5% of the likes I checked pointed at posts that no longer resolve.