Bluesky Scraper
Pricing
Pay per usage
Bluesky Scraper
Scrape Bluesky via the official AT Protocol API. Export posts, profiles, user feeds and search results to JSON, CSV or Excel. For brand monitoring, social media research and AI datasets.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Joao Paulo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Bluesky posts, profiles and users at scale. Built directly on the official AT Protocol API for stable, reliable social media data. Most modes need no login — only post search uses a free Bluesky app password.
What it does
Bluesky Scraper extracts public data from Bluesky and exports it as clean, structured rows (JSON, CSV, Excel). It covers four modes so you can pull exactly the data you need:
- Search posts — find every public post matching a keyword or phrase. (Requires a free Bluesky app password — Bluesky requires login to search posts.)
- User posts — collect the full author feed for one or more handles. (No login.)
- Profiles — fetch profile details (followers, bio, post counts) for a list of handles. (No login.)
- Search users — discover accounts matching a query. (No login.)
No browser automation, no scraping of HTML — every request goes through the official AT Protocol API, so results are fast and consistent.
Features
- Four scrape modes (
search_posts,user_posts,profile,search_users). - Automatic pagination via cursors up to your
maxItemslimit. - Flattened, ready-to-use output — no raw nested AT Protocol objects to untangle.
- Direct
bsky.apppost URLs derived for every post. - Polite request pacing plus automatic retries on transient errors.
- Pay-per-result friendly and export to JSON, CSV, Excel, or via API.
Input
| Field | Type | Description |
|---|---|---|
mode | enum | One of search_posts, user_posts, profile, search_users. |
query | string | Search term. Required for search_posts and search_users. |
handles | array of string | Handles (e.g. bsky.app). Required for user_posts and profile. |
maxItems | integer | Max items to scrape across all inputs. Default 1000. |
identifier | string | Your Bluesky handle/email. Required only for search_posts. |
appPassword | string (secret) | A Bluesky app password (Settings → App Passwords). Required only for search_posts. |
Authentication (only for search_posts)
Bluesky requires a logged-in session to search posts. Create a free app password at Bluesky → Settings → App Passwords (never use your main password) and pass it as appPassword along with your handle as identifier. All other modes work without any credentials.
Example input
{"mode": "search_posts","query": "artificial intelligence","identifier": "you.bsky.social","appPassword": "xxxx-xxxx-xxxx-xxxx","maxItems": 500}
Output example
Each post is flattened into a row like this:
{"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3kabc123xyz","cid": "bafyreih...","authorHandle": "bsky.app","authorDisplayName": "Bluesky","text": "Welcome to Bluesky!","createdAt": "2025-01-10T12:34:56.000Z","likeCount": 1280,"repostCount": 215,"replyCount": 64,"langs": ["en"],"url": "https://bsky.app/profile/bsky.app/post/3kabc123xyz"}
Profiles are flattened to: did, handle, displayName, description, followersCount, followsCount, postsCount, avatar.
Use cases
- Brand monitoring — track mentions of your product, company, or campaign in real time.
- Market research — measure share of voice, sentiment, and trending topics on Bluesky.
- AI training datasets — build clean, structured text corpora from public social posts.
- OSINT & research — map accounts, follower networks, and posting activity around a topic.
Why this actor
This Bluesky scraper is built on the official public AT Protocol API, not fragile HTML scraping or undocumented endpoints. That means:
- Stable — uses the same documented endpoints the Bluesky app relies on.
- Minimal setup — most modes need no login; only post search uses a free app password.
- Fast & clean — structured JSON output ready for analysis or import.
Whether you need to scrape Bluesky posts for social media data, monitor a brand, or build datasets from the AT Protocol network, this Bluesky API actor delivers reliable results.