Convert Bluesky posts to Markdown
Turn a public Bluesky URL into clean, portable Markdown for LLMs, notes, research, and archives. This guide follows the same domain-swap workflow as the X guide, adapted for Bluesky.
Want to test the form first? Use the Bluesky converter or start from the all-platform preview.
Why use AnyPost for Bluesky?
Skeets and reply chains, ready to paste. Instead of pasting a live URL and hoping an AI tool can read it, AnyPost returns the post as a stable Markdown document with attribution.
| Approach | What you get |
|---|---|
| Paste the original link | Preview cards, login walls, or incomplete context |
| anypost.md | Clean Markdown with source URL and platform context |
01: Cleaner context
Markdown removes navigation, overlays, embeds, and tracking parameters so models see the post content first.
02: Better archives
The output is plain text, easy to diff, store in Obsidian, add to a CMS, or keep in a research folder.
03: Predictable automation
The browser URL swap and the JSON API share the same conversion pipeline, so scripts and manual workflows produce the same style of output.
Step-by-step workflow
01: Copy the Bluesky URL
Use the public permalink for the post, article, story, video, pin, or thread you want to preserve.
02: Swap the domain to anypost.md
Open the AnyPost URL in your browser. The platform prefix keeps routing explicit.
Before: https://bsky.app/profile/bsky.app/post/3mmwmlxefkf2h
After: https://anypost.md/bluesky/profile/bsky.app/post/3mmwmlxefkf2h
03: Add paid options when needed
Free tier covers 10 single-post conversions per day. Threads, comments, author metadata, and API usage need credits and an apk_ key.
04: Copy the Markdown output
Use the result in a prompt, archive, markdown editor, CMS, or API workflow.
What you get
- Skeets and full reply chains, ready to paste
- Comments unrolled, up to 50 with comments=50
- Author metadata available on request
- Works on the free tier for single posts
# Example Bluesky post
Clean post text appears here, with line breaks preserved and noisy page chrome removed.
- Source platform: Bluesky
- Original URL: https://bsky.app/profile/bsky.app/post/3mmwmlxefkf2h
- Markdown URL: https://anypost.md/bluesky/profile/bsky.app/post/3mmwmlxefkf2h
---
2026-06-01 · Bluesky · [Original post](https://bsky.app/profile/bsky.app/post/3mmwmlxefkf2h)
Good for
- Feeding exact Bluesky context into ChatGPT, Claude, Gemini, Cursor, or another AI assistant.
- Saving source posts in Obsidian, Notion, a research database, or a static-site content folder.
- Quoting public posts with the original URL and platform timestamp kept together.
- Building lightweight review, monitoring, or archive scripts around a stable Markdown response.
For agents: fetch Markdown, not web pages
Give AnyPost to OpenClaw, Codex, Cursor agents, Claude Code, and RAG workers as their Bluesky fetch layer. Instead of driving the original site, the agent should rewrite the URL to anypost.md or call /api/convert, then read the clean Markdown response.
That keeps agents out of brittle DOM scraping, rate-limit loops, login walls, and browser automation noise.
Agent setup
- Install the anypost-md skill, or give your agent the raw SKILL.md.
- Store an
apk_key from Login for Agents and send it asAuthorization: Bearer apk_live_xxxfor paid options. - Use the domain-swap URL when the agent wants a plain Markdown document; use
/api/convertwhen it needs JSON fields such asmarkdown,credits, or structured errors.
Original: https://bsky.app/profile/bsky.app/post/3mmwmlxefkf2h
Agent: https://anypost.md/bluesky/profile/bsky.app/post/3mmwmlxefkf2h
Paid options and API usage
Single Bluesky posts work on the free tier. Add your key when you want comments, thread context, author metadata, or reliable API usage:
curl -sS -H "Authorization: Bearer apk_live_xxx" \
"https://anypost.md/bluesky/profile/bsky.app/post/3mmwmlxefkf2h"
When your app needs JSON fields such as markdown, credits, or structured errors, call /api/convert with the original URL:
curl -sS -H "Authorization: Bearer apk_live_xxx" \
"https://anypost.md/api/convert?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fbsky.app%2Fpost%2F3mmwmlxefkf2h"
| Entry point | Response | Best for |
|---|---|---|
/bluesky/... domain swap | text/plain Markdown | Browser, curl pipes, agents that want a document |
/api/convert?url=... | JSON with markdown | Apps that need metadata and structured errors |
See Documentation for query parameters, credit costs, and authentication.
Bluesky FAQ
Can I pull the replies to a Bluesky post?
Yes. Turn on Comments to include reply chains, up to 50 replies with comments=50. Each comment adds 1 credit.
Is Bluesky available without credits?
Single Bluesky posts convert on the free tier. Threads, comments and author metadata need credits and an API key.
Is Bluesky available on the free tier?
Yes. Free tier users get 10 single-post Bluesky conversions per day. Threads, comments, author metadata, and API access require credits and an apk_ key.
Can agents use AnyPost instead of scraping Bluesky?
Yes. Give OpenClaw, Codex, Cursor agents, Claude Code, or your RAG worker the anypost-md skill at /i/skill.md and an apk_ key from Login for Agents. The agent should call AnyPost for Bluesky URLs and read Markdown instead of scraping the original page, which avoids brittle selectors, rate limits, and login walls.
Next
- Try the Bluesky converter with a real URL.
- Convert any post to Markdown, the multi-platform overview.
- Feed context to AI models, prompt patterns for using Markdown output.
- Archive posts into Obsidian, frontmatter and vault organization.