Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluesky Posts Scraper

Export Bluesky posts by keyword search or user profile — no browser required. Get post text, author, engagement metrics, timestamps, and embedded media URLs in a clean JSON or CSV dataset. Works with the public AT Protocol API.

What it does

  • Keyword search — search Bluesky for any term and collect matching posts (requires Bluesky credentials for search)
  • Profile scraping — scrape posts from any public Bluesky profile without credentials
  • Filter by date range, include or exclude replies and reposts
  • Returns structured data ready to export as JSON, CSV, or Excel

Use cases

  • Social listening — track mentions of your brand, product, or topic on Bluesky
  • Trend research — collect posts around a hashtag or keyword for analysis
  • Competitor monitoring — see what's being posted about competitors
  • Influencer research — pull posts from specific Bluesky accounts
  • Sentiment analysis — feed posts into NLP pipelines or AI models
  • Dataset building — create Bluesky post datasets for research or fine-tuning

Input

Field Type Description
searchQueries string[] Keywords to search (e.g. ["AI tools", "#buildinpublic"]). Requires Bluesky credentials.
profiles string[] Bluesky handles to scrape (e.g. ["jack.bsky.social"]). Public — no credentials needed.
maxPosts integer Max posts to collect per query or profile (default: 100).
sortBy string latest (default) or top.
sinceDate string Only collect posts after this date (ISO format: "2025-01-01").
includeReplies boolean Include reply posts when scraping profiles (default: false).
includeReposts boolean Include reposts when scraping profiles (default: false).
blueskyIdentifier string Your Bluesky handle or email (required for keyword search).
blueskyAppPassword string Your Bluesky app password (required for keyword search). Create one at Settings → App Passwords.

At least one of searchQueries or profiles must be provided.

Note: Keyword search requires a Bluesky account. Profile scraping is public and does not require credentials.

Output

Each result is one post:

{
  "uri": "at://did:plc:abc123/app.bsky.feed.post/xyz789",
  "cid": "bafyreig...",
  "author_handle": "alice.bsky.social",
  "author_display_name": "Alice",
  "text": "Just shipped a new feature! #buildinpublic",
  "created_at": "2026-07-20T14:32:00Z",
  "like_count": 42,
  "repost_count": 11,
  "reply_count": 5,
  "is_reply": false,
  "is_repost": false,
  "embed_type": null,
  "embed_url": null,
  "query": "#buildinpublic",
  "post_url": "https://bsky.app/profile/alice.bsky.social/post/xyz789"
}

Pricing

This actor uses Pay per result pricing:

  • $1.00 per 1,000 posts scraped
  • A run collecting 200 posts costs ~$0.20

Frequently asked questions

Do I need a Bluesky account to use this? For keyword/hashtag search: yes, you need a Bluesky handle and app password. For profile scraping (collecting posts from a specific user), no credentials are needed — public profiles are accessible via the AT Protocol API.

How do I create an app password? Log in to Bluesky → Settings → Privacy & Security → App Passwords → Add App Password. Use the generated password as blueskyAppPassword. Do not use your main account password.

What's the maximum number of posts I can collect? Set maxPosts up to any number. In practice, Bluesky's search API paginates in batches of 100. Very high limits on keyword searches may be rate-limited — 500–1,000 posts per query is a reliable range.

Can I filter posts by date? Yes. Set sinceDate to an ISO date string (e.g. "2026-01-01") to only collect posts after that date.


More from dbott23

Actor What it does
App Store & Google Play Reviews Scraper Export iOS and Android app reviews by keyword or app ID
Trustpilot Reviews Scraper Export Trustpilot reviews to CSV or JSON — no API key needed
B2B Reviews Scraper Pull reviews from G2, Capterra, and Trustpilot in one run
AI Brand Visibility Tracker Track how AI assistants mention your brand vs. competitors
AI Citation Auditor Check if your website is cited by ChatGPT, Perplexity, and Gemini
Reddit Posts Scraper Scrape posts, comments, and user histories from any subreddit
YouTube Comments Scraper Export comments from any YouTube video — no proxies needed
Google Maps Reviews Scraper Extract reviews from any Google Maps business listing

About

Apify actor: Scrape posts from Bluesky by keyword search or profile. Uses the public AT Protocol API — no proxies, no browser needed.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages