VOOZH about

URL: https://apify.com/nocodeventure/bluesky-scraper

⇱ Bluesky Scraper πŸ¦‹ Β· Apify


Pricing

from $1.50 / 1,000 results

Go to Apify Store

Bluesky Scraper πŸ¦‹

Scrape Bluesky posts and DMs without the hassle. This Actor extracts posts, replies, and direct messages from Bluesky, fast, reliable.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ No-Code Venture

No-Code Venture

Maintained by Community

Actor stats

1

Bookmarked

24

Total users

4

Monthly active users

3 months ago

Last modified

Share

Scrape Bluesky posts and DMs without the hassle. Scrapes posts, replies, and direct messages from Bluesky β€” fast, reliable, and no browser automation needed.

✨ Features

  • πŸ” Search Mode – Search for posts by keyword across all of Bluesky
  • πŸ‘€ User Feed Mode – Scrape posts from any public Bluesky profile
  • πŸ’¬ Reply Threads – Extract full reply threads with configurable depth
  • πŸ“¨ Direct Messages – Scrape your private DM conversations (requires auth)
  • πŸ–ΌοΈ Rich Content – Extracts text, images, videos, external links, and quote posts
  • ⚑ Fast & Lightweight – Uses the AT Protocol API directly (no browser needed)
  • πŸ” Authenticated – Requires login with your credentials (app password)

πŸš€ Getting Started

πŸ“– Three Modes: Search, User Feed, or Messages

ModeWhen to UseRequired Fields
SearchFind posts by keyword across BlueskyscrapeMode: posts, searchQuery, auth
User FeedScrape posts from a specific userscrapeMode: posts, handle, auth
MessagesScrape your direct messagesscrapeMode: messages, auth

⚠️ Note: All modes require authentication.


πŸ“ Posts Mode

πŸ” Search for Posts

Search for posts by keyword across all of Bluesky.

{
"scrapeMode":"posts",
"searchQuery":"artificial intelligence",
"searchSort":"top",
"postCount":20
}

Search Sort Options:

  • top – Most relevant/popular results (default)
  • latest – Most recent posts first

πŸ‘€ Scrape User Feed

Scrape posts from a specific Bluesky user's profile.

{
"scrapeMode":"posts",
"handle":"apify.com",
"feedFilter":"posts_and_author_threads",
"postCount":25
}

Feed Filter Options:

FilterDescription
posts_and_author_threadsPosts + conversation threads (default)
posts_no_repliesOnly original posts, no replies
posts_with_repliesPosts including replies to others
posts_with_mediaOnly posts with images/videos

πŸ’¬ Including Reply Threads

Enable includeReplies to fetch the full reply thread for each post:

{
"scrapeMode":"posts",
"handle":"jay.bsky.team",
"postCount":10,
"includeReplies":true,
"repliesDepth":3
}

πŸ“¨ Messages Mode (DMs)

Scrape your direct message conversations. Requires authentication.

{
"scrapeMode":"messages",
"conversationCount":10,
"messagesPerConversation":50,
"unreadOnly":false,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

Message Options:

ParameterDescriptionDefault
conversationCountNumber of conversations to fetch (0 = all)10
messagesPerConversationMessages per conversation (0 = all)50
unreadOnlyOnly fetch conversations with unread messagesfalse

πŸ“‹ JSON Examples for All Use Cases

1. Search Posts - Basic

Find posts about a topic (authentication required):

{
"scrapeMode":"posts",
"searchQuery":"web scraping",
"postCount":10,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

2. Search Posts - Latest

Get the latest posts:

{
"scrapeMode":"posts",
"searchQuery":"breaking news",
"searchSort":"latest",
"postCount":50,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

3. Search Posts - With Reply Threads

Search and get all reply threads:

{
"scrapeMode":"posts",
"searchQuery":"controversial topic",
"searchSort":"top",
"postCount":20,
"includeReplies":true,
"repliesDepth":5,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

4. User Feed - All Post Types

Get all posts from a user (posts + threads):

{
"scrapeMode":"posts",
"handle":"apify.com",
"feedFilter":"posts_and_author_threads",
"postCount":100
}

5. User Feed - Original Posts Only

Get only original posts (no replies to others):

{
"scrapeMode":"posts",
"handle":"jay.bsky.team",
"feedFilter":"posts_no_replies",
"postCount":50
}

6. User Feed - Media Only

Get only posts with images/videos:

{
"scrapeMode":"posts",
"handle":"photography.bsky.social",
"feedFilter":"posts_with_media",
"postCount":30
}

7. User Feed - With All Replies

Get posts including all replies to other users:

{
"scrapeMode":"posts",
"handle":"influencer.bsky.social",
"feedFilter":"posts_with_replies",
"postCount":100,
"includeReplies":true,
"repliesDepth":0
}

8. User Feed - Unlimited Posts

Get ALL posts from a user (0 = unlimited):

{
"scrapeMode":"posts",
"handle":"active-user.bsky.social",
"feedFilter":"posts_and_author_threads",
"postCount":0,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

9. Direct Messages - Basic

Get your recent DM conversations:

{
"scrapeMode":"messages",
"conversationCount":10,
"messagesPerConversation":50,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

10. Direct Messages - Unread Only

Get only conversations with unread messages:

{
"scrapeMode":"messages",
"conversationCount":0,
"messagesPerConversation":20,
"unreadOnly":true,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

11. Direct Messages - Full Backup

Export ALL conversations with ALL messages:

{
"scrapeMode":"messages",
"conversationCount":0,
"messagesPerConversation":0,
"unreadOnly":false,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

12. Brand Monitoring

Track mentions of your brand:

{
"scrapeMode":"posts",
"searchQuery":"\"your brand name\"",
"searchSort":"latest",
"postCount":100,
"includeReplies":true,
"repliesDepth":2,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

13. Competitor Analysis

Monitor competitor's posts:

{
"scrapeMode":"posts",
"handle":"competitor.bsky.social",
"feedFilter":"posts_no_replies",
"postCount":50,
"includeReplies":true,
"repliesDepth":3
}

14. Hashtag/Topic Research

Find posts about a specific hashtag or topic:

{
"scrapeMode":"posts",
"searchQuery":"#buildinpublic",
"searchSort":"top",
"postCount":100,
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

πŸ”‘ Authentication

Authentication is required for all operations.

{
"blueskyIdentifier":"your-handle.bsky.social",
"blueskyPassword":"your-app-password"
}

⚠️ Important: Use an App Password, not your main account password!

Create one at: Settings β†’ App Passwords β†’ Add App Password


Input Parameters

Mode Selection

ParameterTypeDescriptionDefault
scrapeModeStringWhat to scrape: posts or messagesposts

Posts Mode Parameters

ParameterTypeDescriptionDefault
searchQueryStringSearch term (enables search mode)β€”
searchSortStringSort: top, latesttop
handleStringUser handle without "@"β€”
feedFilterStringFeed filter typeposts_and_author_threads
postCountIntegerPosts to scrape (0 = all)10
includeRepliesBooleanFetch reply threadsfalse
repliesDepthIntegerReply thread depth (0 = all)2

Messages Mode Parameters

ParameterTypeDescriptionDefault
conversationCountIntegerConversations to fetch (0 = all)10
messagesPerConversationIntegerMessages per convo (0 = all)50
unreadOnlyBooleanOnly unread conversationsfalse

Authentication

ParameterTypeDescriptionDefault
blueskyIdentifierStringYour handle or emailβ€”
blueskyPasswordStringYour app passwordβ€”

Protocol Settings

ParameterTypeDescriptionDefault
serviceStringAT Protocol service URL (for alternative PDS servers)https://bsky.social

πŸ“Š Output Examples

Post Output

{
"uri":"at://did:plc:xxx/app.bsky.feed.post/yyy",
"cid":"bafyrei...",
"text":"Just launched our new web scraping platform! πŸš€",
"author":"Apify",
"authorHandle":"apify.com",
"authorDid":"did:plc:vu5ic5ygdeyunpefgmlamsmw",
"authorAvatar":"https://cdn.bsky.app/img/avatar/...",
"createdAt":"2024-01-15T10:30:00.000Z",
"likeCount":142,
"repostCount":28,
"replyCount":15,
"quoteCount":5,
"url":"https://bsky.app/profile/apify.com/post/yyy",
"embed":{
"type":"images",
"images":[
{
"url":"https://cdn.bsky.app/img/feed_fullsize/...",
"alt":"Screenshot of the new platform"
}
]
},
"replies":[
{
"uri":"at://did:plc:abc/app.bsky.feed.post/zzz",
"text":"This looks amazing!",
"author":"TechEnthusiast",
"authorHandle":"techlover.bsky.social",
"likeCount":8,
"depth":1
}
]
}

DM Output

{
"conversation":{
"id":"3abc123...",
"members":[
{
"did":"did:plc:xxx",
"handle":"friend.bsky.social",
"displayName":"Friend Name",
"avatar":"https://cdn.bsky.app/..."
}
],
"lastMessage":{
"id":"msg123",
"text":"Hey, how's it going?",
"sender":"did:plc:xxx",
"sentAt":"2024-01-15T10:30:00.000Z"
},
"unreadCount":0,
"muted":false
},
"messages":[
{
"id":"msg123",
"text":"Hey, how's it going?",
"sender":{
"did":"did:plc:xxx",
"handle":"friend.bsky.social",
"displayName":"Friend Name"
},
"sentAt":"2024-01-15T10:30:00.000Z",
"conversationId":"3abc123..."
}
]
}

Embed Types

TypeDescriptionFields
imagesOne or more imagesimages[].url, images[].alt
videoVideo contentvideo.url, video.thumbnail
externalLink previewexternal.uri, external.title, external.description
quoteQuote postrecord.uri, record.cid, record.text

🎯 Use Cases

Posts

  • Brand Monitoring – Track mentions of your company or product
  • Market Research – Analyze trends and sentiment
  • Content Curation – Find popular posts for content ideas
  • Competitor Analysis – Monitor competitor activity

Direct Messages

  • Backup DMs – Export your conversation history
  • Message Analytics – Analyze your communication patterns
  • Data Migration – Move conversations to another platform
  • Research – Study DM patterns (with consent)

βš™οΈ How It Works

  1. Initialize – Creates a connection to Bluesky's API
  2. Authenticate (if provided) – Logs in for DM access or higher rate limits
  3. Fetch – Retrieves posts via search/feed or DMs via chat API
  4. Process – Extracts replies or messages as configured
  5. Output – Saves structured data to the dataset

πŸ›‘οΈ Rate Limits

StatusApproximate Limits
Authenticated~3000 requests/minute

πŸ’‘ Tips

  • App passwords – Always use app passwords, never your main password
  • Start small – Test with small counts before scaling
  • Feed filters – Use posts_no_replies for cleaner original content
  • Search tips – Use quotes for exact phrases: "machine learning"
  • Alternative PDS – If your account is on a self-hosted PDS, set the service parameter

πŸ“œ Legal & Ethical Use

This Actor scrapes Bluesky's. Please:

  • Respect Bluesky's Terms of Service
  • Don't share or expose private messages
  • Use reasonable rate limits
  • Comply with data protection laws

🀝 Support

Having issues? Found a bug? Want a feature?

  • Open an issue on the Actor's page
  • Contact the developer through Apify

Built by nocodeventure β€’ Made with πŸ’™ for the Apify community

You might also like

Bluesky Lead Scraper

scrapapi/bluesky-lead-scraper

Bluesky Profile Posts Scraper

piotrv1001/bluesky-profile-posts-scraper

The Bluesky Profile Posts Scraper efficiently extracts posts from Bluesky profiles, capturing text content, images, videos, and engagement metrics. Ideal for social media analysis, trend tracking, and content monitoring.

68

1.0

Bluesky Scraper

kelvinosse/bluesky-scraper

Scrape profiles, posts, followers, and threads from Bluesky AT Protocol API.

Bluesky Profile Details Scraper

scrapers-hub/bluesky-profile-scraper

πŸ”Ž Bluesky Profile Scraper extracts key bio details from Bluesky profilesβ€”user info, stats, and profile textβ€”fast & reliable. πŸš€ Perfect for research, lead gen, and community insights. 🌐

Bluesky Scraper β€” Posts, Profiles & Search

aurumworks/bluesky-scraper

Scrape Bluesky social network. Search posts by keyword, get user profiles, fetch user feeds, and extract post threads with replies. Uses Bluesky's official public API. No login or API key needed.

Bluesky Posts Scraper

lexis-solutions/bluesky-posts-scraper

The Apify Bluesky Posts Scraper allows a programmatic search for posts on Bluesky and the option to export to CSV, JSON, Excel, or integration with Zapier, Make, or any custom workflow.

πŸ‘ User avatar

Lexis Solutions

253

4.5

Bluesky Scraper

theguide/bluesky-scraper

Scrape recent posts and user details from the Bluesky social network based on handles and/or search keywords..