curl-x Now Supports Bluesky: Videos, Photos & GIFs
curl-x now downloads Bluesky videos, photos, and GIFs in original quality. Copy any public bsky.app post link, paste it in, and save the file — no app or login needed.
Want to try it now? Paste a post link from any supported platform to download its media instantly.
Open Downloadercurl-x now supports Bluesky. Paste the link to any public Bluesky post — a video, a photo, a multi-image post, or a GIF — into curl-x and get the media back as a real file, the same way it already works for Twitter/X, Instagram, Facebook, Threads, Reddit, and TikTok. No Bluesky account, no app, no browser extension.
This guide covers what shipped, which Bluesky links work, the download flow, why the files you get are higher quality than what the Bluesky app shows, where support currently stops short, and an FAQ.
Table of contents
- What's new: Bluesky support
- Which Bluesky links work
- How to download from Bluesky with curl-x
- You get the original file, not a compressed copy
- The curl trick works on Bluesky too
- What's not supported
- FAQ
What's new: Bluesky support
curl-x's Bluesky extractor reads a post through the same public AT Protocol API that powers the Bluesky app itself, then hands back a normal downloadable file instead of a page you have to screenshot or screen-record. As of this release it handles:
- Videos — Bluesky serves video to browsers as a streaming playlist that no player will save as a file; curl-x resolves the post back to the original uploaded MP4 instead.
- Photos — single images and multi-image posts (Bluesky allows up to four per post), resolved to one file per image, in order.
- GIFs — both kinds: clips uploaded as looping GIFs (which Bluesky stores as MP4 video) and GIFs picked from Bluesky's built-in Tenor GIF picker.
- Quote posts with media — if someone attached a photo or video to a quote post, curl-x extracts the attached media.
It sits alongside curl-x's existing platforms, so if you already use curl-x for Twitter/X threads or Reddit galleries, Bluesky posts now go through the exact same paste-and-download flow.
Which Bluesky links work
curl-x needs a link that points at one specific post — not a profile, not a feed, not a search page. These forms all work:
| Link type | Example | Works? |
|---|---|---|
| Standard post link | bsky.app/profile/user.bsky.social/post/3mq5yidyc3c2g | Yes |
| Custom-domain handle | bsky.app/profile/name.example.com/post/3mq5yidyc3c2g | Yes |
| DID form (from some share sheets) | bsky.app/profile/did:plc:abc123…/post/3mq5yidyc3c2g | Yes |
| Profile page | bsky.app/profile/user.bsky.social | No — no single post to extract |
| Feed, list, or starter pack | — | No — same reason |
Tracking query strings appended by share sheets are stripped automatically, so pasting straight from the app's Share button works without editing the URL.
How to download from Bluesky with curl-x
- Open the post, not the profile or your feed. You want the page for one specific post.
- Copy the link — tap Share > Copy link in the Bluesky app, or copy the URL from your browser's address bar on desktop.
- Paste the URL into curl-x on the homepage and start the extraction.
- Let curl-x read the post. It fetches the public post data and lists what it found: a video, a GIF, or every photo in the post.
- Pick the item you want. A multi-image post lists every photo individually — each one saves with its own download button.
- Save the file. Video and native GIFs come back as MP4; photos come back in the format they were uploaded in, ready for your device's Downloads folder or Files app.
You get the original file, not a compressed copy
This is worth calling out because it's different from most Bluesky download tricks floating around. The common workaround — right-click the image in your browser and "Save image as…" — grabs Bluesky's CDN rendition: a re-encoded, downsized WebP built for fast feed loading.
curl-x instead fetches the original uploaded file from Bluesky's underlying storage (the same AT Protocol blob the poster uploaded). In practice that means:
- Photos at their full uploaded resolution and original format — on a typical photography post that's the multi-megabyte original JPEG instead of a few-hundred-kilobyte WebP preview.
- Videos as the complete original MP4, not a stitched-together stream capture.
The CDN rendition is still listed as a fallback option for images, but the original is the default download.
The curl trick works on Bluesky too
curl-x's whole gimmick is that you don't need the web UI at all if you'd rather stay on the command line. Bluesky posts now have dedicated pages at curl-x.com/bluesky/<handle>/<rkey>, so the same CLI trick that works for Twitter/X and Reddit links works here — take the handle and post ID from the bsky.app URL and swap the rest:
curl -OJ https://www.curl-x.com/bluesky/user.bsky.social/3mq5yidyc3c2g
Hit that URL with curl or wget and you get the media file streamed straight back — no HTML, no browser. Open the same URL in a normal browser and you get the regular post page with a download button. Same link, two audiences.
What's not supported
We'd rather be specific than vague here:
- Text-only posts. No media, nothing to download — curl-x says so rather than returning a screenshot.
- Quote posts without attached media. curl-x extracts media attached to the post you link; it doesn't reach into the quoted post. Link the quoted post directly instead.
- Deleted posts and blocked or deactivated accounts. If Bluesky's public API can't see the post, curl-x can't either.
- Video from self-hosted accounts. Bluesky is a federated network, and a small number of users host their data on their own personal servers rather than Bluesky's. For those rare accounts, photo downloads still work but full-quality video may not.
If you want the general shape of what curl-x won't do across every platform (not just Bluesky), see 7 Common Download Errors curl-x Helps You Avoid.
FAQ
Does curl-x download Bluesky videos?
Yes. Paste the link to a public Bluesky post with a video and curl-x returns the original MP4 — the actual uploaded file, not a capture of the streaming version the app plays.
Can curl-x download all the photos in a multi-image Bluesky post?
Yes. Bluesky posts can hold up to four images; curl-x lists each one individually, in order, at original resolution.
Does curl-x download Bluesky GIFs?
Yes, both kinds. Clips uploaded as looping GIFs download as MP4 (that's how Bluesky actually stores them), and GIFs added from the built-in Tenor picker download as real .gif files.
Do I need a Bluesky account to use curl-x?
No. curl-x reads Bluesky's public post data the same way a logged-out visitor would. If a post requires login to view, curl-x can't see it either.
Why is my downloaded photo bigger than the one I saved from the browser?
Because it's the original. Right-clicking in the browser saves Bluesky's compressed WebP preview; curl-x fetches the full-resolution file the poster actually uploaded.
Why did I get "post not found" on a link that opens fine in the app?
The most common causes are a deleted post, a deactivated or blocked account, or a link that points at a profile or feed rather than a single post. Double-check you copied the specific post's link.
Bottom line
Bluesky joins curl-x's lineup today: paste a public bsky.app post link, get the video, photos, or GIF back as an original-quality file, from the browser or straight from the terminal. Start at curl-x whenever you've got a Bluesky link handy.
Related Guides
Baixar Vídeo do Reddit: Guia Completo (2026)
O curl-x agora baixa vídeos, galerias, imagens e GIFs do Reddit. Veja como copiar o link, colar no curl-x, escolher a qualidade e salvar o arquivo.
Baixar Vídeo do TikTok: Guia Completo (2026)
O curl-x agora baixa vídeos e posts de fotos do TikTok. Veja como colar o link (inclusive vm.tiktok.com), escolher a qualidade e salvar o arquivo.
Cách Tải Video Reddit: curl-x Đã Hỗ Trợ Reddit
curl-x giờ đã hỗ trợ Reddit: tải video, gallery, ảnh và GIF từ bài đăng công khai. Dán link, chọn chất lượng, lưu file - không cần app hay đăng nhập.