Bluesky has grown from 10M to 41M users in one year (+302%). Built on the AT Protocol, it is the only major social network with a completely open, free API — no API keys, no rate limits on public data, no approval process.
Here are 4 free tools I built for working with Bluesky data, plus code examples you can use right now.
Why Bluesky for Developers?
-
Open protocol —
public.api.bsky.appis free and open - No auth for public data — profiles, posts, feeds are all accessible without login
- Decentralized — data is portable, not locked to one platform
- Growing fast — 41M+ users and counting
- JSON API — clean, structured responses
The AT Protocol Basics
Every Bluesky user has a DID (Decentralized Identifier) and a handle (like a username). The flow:
Handle → DID → Profile/Posts/Feed
Step 1: Resolve Handle to DID
const res = await fetch(
`https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=bsky.app`
);
const { did } = await res.json();
// did: \"did:plc:z72i7hdynmk6r22z27h6tvur\"
Step 2: Get Profile
const profile = await fetch(
`https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=${did}`
).then(r => r.json());
console.log(profile.displayName); // \"Bluesky\"
console.log(profile.followersCount); // 32,420,172
console.log(profile.postsCount); // 725
Step 3: Get Posts (Feed)
const feed = await fetch(
`https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=${did}&limit=50`
).then(r => r.json());
for (const item of feed.feed) {
const post = item.post;
console.log(post.record.text);
console.log(`Likes: ${post.likeCount}, Reposts: ${post.repostCount}`);
}
4 Free Bluesky Tools
1. Bluesky Scraper
The main tool. Enter handles → get full profiles + posts with engagement data. Supports pagination for 1000+ posts per profile.
2. Bluesky Feed Monitor
Track engagement metrics over time. See which posts get the most likes, reposts, and replies.
- Great for brand monitoring and content strategy
3. Bluesky Hashtag Tracker
Discover trending hashtags and topics. Monitor specific hashtags for volume and engagement.
- Perfect for trend analysis and content research
4. Bluesky Profile Batch
Look up 100+ profiles at once. Get follower counts, bio, avatar, DID for bulk analysis.
- Ideal for influencer research and migration tracking
Use Cases
- Brand monitoring — track mentions of your brand on Bluesky
- Influencer research — find and analyze top Bluesky creators
- Migration analysis — track which Twitter/X users moved to Bluesky
- AI training data — build NLP datasets from public conversations
- Sentiment analysis — analyze public opinion on trending topics
- Content research — discover what topics get the most engagement
Post Search (Requires Auth)
For searching posts by keyword, you need a Bluesky App Password:
- Go to Bluesky Settings → App Passwords
- Create a new password
- Use it with the search endpoint:
// Login
const session = await fetch(\"https://bsky.social/xrpc/com.atproto.server.createSession\", {
method: \"POST\",
headers: { \"Content-Type\": \"application/json\" },
body: JSON.stringify({ identifier: \"your.handle\", password: \"app-password\" })
}).then(r => r.json());
// Search
const results = await fetch(
`https://bsky.social/xrpc/app.bsky.feed.searchPosts?q=javascript&limit=25`,
{ headers: { Authorization: `Bearer ${session.accessJwt}` } }
).then(r => r.json());
Resources
Part of 60+ free web scraping tools. Also: 15 MCP servers for AI agents and free market research reports.
Top comments (0)