Bluesky Scraper: Posts, Profiles, Feeds & Interactions
Pricing
$1.00 / 1,000 bluesky items
Bluesky Scraper: Posts, Profiles, Feeds & Interactions
Scrape Bluesky posts, profiles, followers, feeds, threads, likes, reposts and authenticated search/hashtag results.
Pricing
$1.00 / 1,000 bluesky items
Rating
0.0
(0)
Developer
Richard Feng
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Scrape Bluesky public data through the AT Protocol XRPC APIs: posts, profiles, author feeds, followers, following, custom feeds, threads, likers, reposters, actor likes, plus authenticated search and hashtag results.
Features
| Feature | Description |
|---|---|
| Multi-mode coverage | One Actor covers search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes and hashtag modes |
| Public API first | Most modes use public.api.bsky.app without credentials |
| Authenticated search | Search and hashtag modes use a Bluesky app password, because anonymous search pagination is unreliable |
| Interaction exports | Export post likers and reposters, which many competing Actors omit |
| Clean JSON | Posts and profiles are normalized for monitoring, BI and RAG pipelines |
Quick Start
{"mode": "posts","handles": ["bsky.app"],"maxItems": 100}
Search requires an app password:
{"mode": "search","query": "open source AI","language": "en","identifier": "your-handle.bsky.social","appPassword": "YOUR_APP_PASSWORD","maxItems": 100}
Input
| Field | Type | Description |
|---|---|---|
mode | string | search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes, hashtag |
query | string | Search text or hashtag text |
handles | array | Handles for profile, posts, followers, following and actorLikes |
postUri | string | AT URI for thread, likers and reposters |
feedUri | string | AT URI for a custom feed |
dateFrom | string | Earliest date for search/hashtag modes |
language | string | Optional language filter for search |
identifier | string | Bluesky handle/email for search/hashtag authentication |
appPassword | secret string | Bluesky app password for search/hashtag; do not use your main password |
maxItems | integer | Maximum saved items |
Output
Post item:
{"itemType": "post","mode": "posts","uri": "at://did:plc:.../app.bsky.feed.post/...","author": { "handle": "bsky.app", "displayName": "Bluesky" },"text": "Example post text","createdAt": "2026-06-11T00:00:00Z","replyCount": 10,"repostCount": 20,"likeCount": 100,"url": "https://bsky.app/profile/bsky.app/post/..."}
Profile item:
{"itemType": "profile","mode": "followers","did": "did:plc:...","handle": "alice.bsky.social","displayName": "Alice","followersCount": 1234,"url": "https://bsky.app/profile/alice.bsky.social"}
Recipes
Brand monitoring
{"mode": "search","query": "\"my brand\"","identifier": "your-handle.bsky.social","appPassword": "YOUR_APP_PASSWORD","maxItems": 500}
Export a creator's audience
{"mode": "followers","handles": ["bsky.app"],"maxItems": 1000}
Analyze who engaged with a post
{"mode": "likers","postUri": "at://did:plc:.../app.bsky.feed.post/...","maxItems": 1000}
Pricing
Pay-per-event: $0.001 per saved item. A 1,000-item export costs $1.00.
FAQ
Do I need credentials?
Only for search and hashtag. Create an app password in Bluesky settings and pass it as appPassword. Public profile/feed/thread/interaction modes do not require credentials.
How do I find a feed URI?
Open a feed in Bluesky, copy its AT URI from developer tooling or API output, and pass it as feedUri. Feed URIs look like at://did:plc:.../app.bsky.feed.generator/....
Legal & Compliance
This Actor uses the open AT Protocol APIs and only reads public Bluesky data. For authenticated search, use an app password rather than your main password.