Reply Export
What it does
Section titled “What it does”Reply Export loads every reply to a Bluesky post, including replies to replies, however deep the conversation goes. You can read them on the page, nested as conversations or in time order, and download them as a CSV or JSON file with each reply’s author, text, time, counts, and labels.
Use it to archive a discussion, to collect answers to a question you asked, or to study the replies to a popular post in a spreadsheet.
The result shows:
- The post itself, at the top.
- Totals: Replies, People (how many different accounts replied, not counting the post’s author), and Requests (how many times the tool asked Bluesky). When there are any, also Deleted, Blocked, Hidden, and Not listed by Bluesky.
- The replies, each with its author, time, text, images, link card, or quoted post, its counts, and any labels.
Before you start
Section titled “Before you start”- You do not need to sign in. Replies are read from Bluesky’s public API.
- You need a link to the post. The box takes a post link from bsky.app, Deer.social, Blacksky,
and other clients that use the same post addresses, or an
at://post URI. Links with a handle or a DID both work. - The address holds the post link (
?q=), so a loaded thread is a shareable link.
Step by step
Section titled “Step by step”- On Bluesky, open the post and copy its link.
- Open Reply Export and paste the link in Post link.
- Choose Load replies. A bar shows replies loaded, branches left, and requests used. Replies appear as they load.
- To end early, choose Stop and keep what is loaded.
- If the load stops with branches left, choose Continue to load them.
- Under Reply order, choose Nested or Oldest first.
- Choose Export and pick CSV or JSON. Export is available once the replies finish loading or you stop.
- To start over, choose Clear in the box.
Options
Section titled “Options”Reply order
Section titled “Reply order”- Nested (the default): replies under the post they answer, indented by depth, so each conversation reads top to bottom.
- Oldest first: every reply in time order. A reply to another reply says Replying to whom.
The order on the page does not change the export, which is always in nested order.
Export
Section titled “Export”Export offers CSV and JSON. The file starts with the post, then every reply in nested
order. It is named after the post’s author and the post’s ID, such as
replies-alice.bsky.social-3k2a….csv.
Each row has:
| Field | What it holds |
|---|---|
uri, parent_uri, depth |
The reply, the post it answers, and how deep it sits (the post is 0). |
status |
ok, or why the reply is not shown: notFound (deleted), blocked, or hidden. |
author_did, handle, display_name |
Who wrote it. |
text, created_at |
What it says and when it was written. |
like_count, repost_count, reply_count, quote_count |
Its counts when loaded. |
labels, author_labels |
Moderation labels on the reply and on its author. |
langs, has_media, embed_type |
Its languages, whether it has media, and what it embeds. |
Then the content fields: links, mentions, tags, the quoted post (quoted_uri,
quoted_kind, quoted_status, quoted_author_did, quoted_handle, quoted_text),
image_count, image_alt_1 to image_alt_4, external_url, and external_title. JSON uses
camelCase names (parentUri) and nests the content.
In the CSV, a cell that starts with =, +, -, @, a tab, or a line break gets a leading ',
so a spreadsheet does not run it as a formula.
What gets changed
Section titled “What gets changed”Nothing: it only reads. The post and its replies come from Bluesky’s public API (AppView). The thread stays only in the open tab: if you move to another BskyKit page and come back, it is still there, and a load still running keeps going.
Nothing to undo: it only reads.
Limits
Section titled “Limits”- One load makes at most 500 requests to Bluesky. After that it stops, and Continue loads the branches left. Four requests run at a time.
- Bluesky lists only about 200 direct replies under a very popular post and offers no way to ask for more. It also never lists deleted replies or replies the author hid. Those are counted as Not listed by Bluesky and cannot be loaded.
- Bluesky sends ten levels of replies at a time, so deep conversations take more requests. As a guide, a post with 2,763 replies gave 1,024 loadable replies, 17 levels deep, in 27 requests and 3 seconds.
- Deleted and blocked replies keep their place as Deleted post and Blocked post rows. Replies Bluesky’s moderation hides, or by authors it hides, keep only their place as Hidden by moderation, without author or text.
Troubleshooting
Section titled “Troubleshooting”“Paste a bsky.app post link or an at:// post URI.”
Section titled ““Paste a bsky.app post link or an at:// post URI.””The box holds something other than a post link, such as a profile link or a link from a client the tool does not know. Open the post on bsky.app and copy its link from there.
“This post was not found. It may have been deleted.”
Section titled ““This post was not found. It may have been deleted.””The post is gone, or the link is mistyped. Open the link on Bluesky to check.
“No Bluesky account has the handle …”
Section titled ““No Bluesky account has the handle …””The handle in the link no longer belongs to an account, often because the author changed it. Open the post on Bluesky and copy a fresh link.
“This post is not available: its author blocks, or is blocked by, someone in the thread.”
Section titled ““This post is not available: its author blocks, or is blocked by, someone in the thread.””Bluesky does not show the post you pasted because of a block. Reply Export reads the same public view, so it cannot load it either.
“Stopped at the limit of 500 requests with … branches left.”
Section titled ““Stopped at the limit of 500 requests with … branches left.””A very large thread used up the run’s requests. Export now to keep what is loaded, or choose Continue to load the branches left.
“… branches could not be loaded”
Section titled ““… branches could not be loaded””Some requests failed. Their replies are missing from the list and the export. Choose Try again to load them.

