Short answer: the official Bluesky app doesn't have a "lists I'm on" screen, but you can still find out, because every list membership is public. When someone adds you to a list, their account publishes a small record that points at your account. Public indexes collect those records, so you can count them and look up each list by name.
This guide gives you two ways to do it: three links you paste into a browser, or one script that does all of it and prints a readable list.
Why This Works
A Bluesky list is two kinds of record. The list itself (app.bsky.graph.list) has a name, a description and a purpose. Each member is a separate app.bsky.graph.listitem record with two fields: the list it belongs to, and the subject, which is the member's DID (their permanent account ID).
Those records live in the list owner's repository, not yours, so your account has no record of them. To find them you need an index that has read the whole network and can answer "which listitem records point at this DID?" That's a backlink query. Constellation, a free public index run by the microcosm project, answers exactly that question.
Step 1: Find Your DID
Paste this into your browser, with your own handle at the end:
https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=you.bsky.social
You'll get back something like {"did":"did:plc:abc123..."}. Copy the did:plc:... part. That's what lists point at, so it still works if you've changed your handle.
Step 2: Count Your Lists
Swap your DID into this link:
https://constellation.microcosm.blue/xrpc/blue.microcosm.links.getBacklinksCount?subject=did:plc:YOUR_DID&source=app.bsky.graph.listitem:subject
The answer is a single number, such as {"total":23}. That's how many list entries name your account. It counts curation lists, moderation lists and starter packs together, because all three use the same listitem record.
Step 3: See Which Lists They Are
Change getBacklinksCount to getBacklinks and add &limit=100. Each result is one listitem record, identified by the owner's DID and a record key. That tells you who added you, but not the list's name yet. To get the name, fetch the record, read its list field, and look that list up with app.bsky.graph.getList. Doing that by hand gets tedious after two or three, which is what the script is for.
The Script: Name Every List in One Go
Open any web page, open the developer console (Cmd+Option+J in Chrome on a Mac, Ctrl+Shift+J on Windows, or Develop → Show JavaScript Console in Safari), paste this, change the handle on the second line, and press Enter:
// Paste into your browser's developer console (any page) and press Enter.
const handle = "you.bsky.social"; // <- change this
const source = "app.bsky.graph.listitem:subject";
const { did } = await (await fetch(
`https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=${handle}`)).json();
let cursor = "";
do {
const page = await (await fetch(
`https://constellation.microcosm.blue/xrpc/blue.microcosm.links.getBacklinks?subject=${did}&source=${source}&limit=100${cursor ? "&cursor=" + cursor : ""}`)).json();
for (const r of page.records) {
const item = await (await fetch(
`https://slingshot.microcosm.blue/xrpc/com.atproto.repo.getRecord?repo=${r.did}&collection=${r.collection}&rkey=${r.rkey}`)).json();
const res = await fetch(
`https://public.api.bsky.app/xrpc/app.bsky.graph.getList?list=${item.value.list}&limit=1`);
if (!res.ok) { console.log("(list deleted or hidden)", item.value.list); continue; }
const { list } = await res.json();
console.log(list.purpose.split("#")[1], "|", list.name, "| by @" + list.creator.handle);
}
cursor = page.cursor;
} while (cursor);
Every line it prints looks like this:
curatelist | Swift Devs | by @someone.bsky.social
modlist | Spam accounts | by @someone-else.com
referencelist | App Dev | by @another.bsky.social
It only reads public data, it doesn't need your password, and it doesn't send anything anywhere except the three public services it queries. It's safe to run against anyone's handle, not just your own.
Reading the Results
| Purpose | What it is | What it means for you |
|---|---|---|
curatelist | A curation list | Someone wants to read you. Usually a compliment. |
modlist | A moderation list | Subscribers can mute or block everyone on it, you included. |
referencelist | The member list behind a starter pack | Someone is recommending you to new users. |
We go into each type, and what to do about a moderation list, in Curation List, Moderation List or Starter Pack?
Why the Numbers Sometimes Disagree
- Deleted lists. If an owner deletes a list but some of its items linger, the script prints "list deleted or hidden" for those.
- Hidden lists. Bluesky's moderators can take down abusive lists. The records may still exist, but the app view won't serve them.
- Lists on other servers. The index covers the whole network, including accounts on self-hosted servers, so it can find lists the Bluesky app never shows you.
- Timing. New memberships show up within seconds. Removals show up when the owner deletes the listitem record.
What You Can Do About It
Nothing on this page changes your list memberships. Lists belong to whoever made them, so you can't remove yourself. Your options are to ask the owner, block them, or leave it. Our guide to getting off a Bluesky list covers each one. For most people the useful part is the reassurance: almost everyone who checks finds that most of their lists are curation lists and starter packs.
Frequently Asked Questions
Does Bluesky notify you when you're added to a list?
No. Bluesky sends no notification when you're added to a curation list, a moderation list or a starter pack.
Can I see what lists I'm on in the Bluesky app?
Not directly. The official app shows the lists an account has created, not the lists it's on. Because list membership is public, you can find it with a backlink index such as Constellation.
Is it safe to run the script?
Yes. It only reads public data from three public services, it doesn't ask for your password, and it doesn't post or change anything.
Can I check someone else's lists?
Yes. List membership is public, so the same steps work for any handle.
Why does the count include starter packs?
A starter pack stores its members in a list with the purpose referencelist, so each starter pack you're in adds one entry to the count.
Lists in Skyscraper
Skyscraper reads, pins and browses Bluesky lists on iPhone, iPad and Mac, alongside your feeds and saved searches, and keeps blocked and muted accounts on their own pages in Settings. If you also use Mastodon, Skyscraper Pro adds Mastodon lists next to your Bluesky ones.