How to Export Bluesky Comments to Excel, CSV & JSON
Export every reply from any Bluesky post, or every post from a whole profile, to Excel, CSV or JSON — with author handles, likes, reposts and full thread depth.
Bluesky threads can run thousands of replies deep — here's how to pull every one of them (plus a whole profile's posts) into a clean spreadsheet in a couple of minutes, no login required.
Why export Bluesky comments
Bluesky (bsky.app) runs on the open AT Protocol, and its conversations move fast. A single announcement can collect thousands of nested replies that are impossible to read — let alone analyze — inside the app. Exporting turns that firehose into something you can sort, filter, count and share.
- Community & sentiment research — pull every reply on a post and measure how people actually reacted, instead of eyeballing the first few.
- Giveaways & contests — export all replies to a giveaway post, then de-duplicate and pick winners fairly from the full list.
- Brand & creator monitoring — export a whole profile's posts to track engagement (likes, reposts, quotes) over time in one sheet.
- Archiving — keep a permanent, offline record of a thread or account before posts get edited or deleted.
Two ways to export from Bluesky
ExportComments supports both Bluesky URL types — it automatically detects which one you paste:
- A post URL like
https://bsky.app/profile/bsky.app/post/3l6oveex3ii2lexports every reply (comment) on that post, walking the full thread tree to any depth. - A profile URL like
https://bsky.app/profile/bsky.appexports every post from that account's feed.
How to export — step by step
Step 1: Copy the Bluesky URL
Open the post or profile on bsky.app. For a single thread, click the post and copy the address from your browser (or use the post's share button → Copy link). For a whole account, just copy the profile URL. Handles (bsky.app) and DID-based URLs both work.
Step 2: Paste it on ExportComments.com
Go to the Bluesky comments exporter (or the Bluesky posts exporter) and paste the URL into the box. No Bluesky login, cookie or password is needed — Bluesky's public API is read-only and open.
Step 3: Click “Start Export Process”
ExportComments fetches the thread or feed in the background. For comments it follows every branch of the reply tree, including the lower-quality “other replies” that Bluesky tucks away, so nothing is missed. You'll see a live progress count as it runs.
Step 4: Download Excel, CSV or JSON
When it finishes, download the result as Excel (.xlsx), CSV or JSON. Excel and CSV are ready for spreadsheets and pivot tables; JSON is ideal if you're feeding the data into a script or another tool.
Inside the export — what fields you get
Each comment or post is one row, with these columns:
- message — the post or reply text.
- time — when it was created (timestamp).
- name — the author's display name.
- username — the author's Bluesky handle (e.g.
alice.bsky.social). - profile_id — the author's stable AT Protocol DID.
- avatar — the author's profile picture URL.
- likes — like count.
- reply_count — number of direct replies to that post.
- repost_count — reposts.
- quote_count — quote posts.
- bookmark_count — bookmarks.
- language — the post's declared language.
- permalink — direct link back to the post on bsky.app.
- parent_id — the post this reply answers (empty for top-level replies), so you can rebuild the conversation.
- depth — how deep in the thread the reply sits.
Common workflows
- Pick giveaway winners — export a post's replies, then use
username+profile_idto remove duplicates before drawing. - Rebuild a conversation — sort by
timeor useparent_idanddepthto reconstruct exactly who replied to whom. - Find your top posts — export a profile's feed and sort by
likesorrepost_countto see what resonated. - Track engagement over time — re-export a profile periodically and chart the metrics in a spreadsheet.
Plan limits & API access
The Free tier returns up to 100 results per export. Paid plans raise the cap: Personal 5,000, Premium 50,000 and Business 250,000 results per export. See Pricing for the full breakdown. Need to automate Bluesky exports? The REST API is available on Premium and Business plans, so you can trigger exports and pull results straight from your own code.
Exporting more than one Bluesky URL at once? Bulk URL upload processes each URL as a separate export and bundles the resulting files into a single ZIP — one file per URL.
FAQ
- Do I need a Bluesky account or login?
No. Bluesky's public API is open and read-only, so you can export public posts and replies without any login, cookie or password. - Does it get every reply, even deeply nested ones?
Yes. The exporter walks the entire reply tree to any depth and also pulls Bluesky's separate “other replies” bucket, so you get the complete conversation, not just the first level. - Can I export all of a profile's posts?
Yes — paste the profile URL (e.g.https://bsky.app/profile/handle) instead of a post URL and the exporter pulls the account's feed. - What's the difference between username and profile_id?
usernameis the human-readable handle, which can change;profile_idis the account's permanent AT Protocol DID, which never changes — use it for reliable de-duplication. - Which format should I choose?
Use Excel or CSV for spreadsheets and analysis, and JSON if you're importing the data into another program. - Can I automate this?
Yes — Premium and Business plans include access to the REST API for programmatic exports.