How to Build a Bluesky Analytics Dashboard with the AT Protocol API
Bluesky grew 302% in 2025 (10M → 41M users). If you're building analytics tools for this platform, here's a complete guide using the AT Protocol. What We'll Build A dashboard that tracks: Account g...

Source: DEV Community
Bluesky grew 302% in 2025 (10M → 41M users). If you're building analytics tools for this platform, here's a complete guide using the AT Protocol. What We'll Build A dashboard that tracks: Account growth (followers over time) Post engagement (likes, reposts, replies per post) Hashtag trends (which tags are gaining traction) Content performance (best posting times, top formats) Step 1: Profile Analytics Fetch any account's stats: const API = "https://public.api.bsky.app"; // Resolve handle to DID const { did } = await fetch( `${API}/xrpc/com.atproto.identity.resolveHandle?handle=bsky.app` ).then(r => r.json()); // Get profile const profile = await fetch( `${API}/xrpc/app.bsky.actor.getProfile?actor=${did}` ).then(r => r.json()); console.log(profile.followersCount); // 32,420,172 console.log(profile.postsCount); // 725 Step 2: Engagement Metrics Fetch posts with engagement data: const feed = await fetch( `${API}/xrpc/app.bsky.feed.getAuthorFeed?actor=${did}&limit=50` ).then(r =&