Bluesky Analytics Suite avatar

Bluesky Analytics Suite

Pricing

Pay per event

Go to Apify Store
Bluesky Analytics Suite

Bluesky Analytics Suite

All-in-one Bluesky analytics Apify Actor. Track followers, analyze engagement, benchmark accounts, and export reports via the open AT Protocol — no login required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

firas_mosbehi

firas_mosbehi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

An Apify Actor that turns Bluesky public data into actionable analytics. Built on the open AT Protocol — no login or API key required.

Features

  • Profile analytics — full profile metadata, follower/following counts, posting history.
  • Post analytics — engagement metrics (likes, reposts, replies, quotes), media detection, hashtags, mentions.
  • Engagement insights — engagement rate, median/P90 engagement, velocity score, posts-per-day, top hashtags, top mentions, engagement distribution.
  • Follower tracking — follower ratio, posts-per-follower, snapshot-based growth velocity across runs.
  • Competitor benchmarking — compare multiple handles with ranked overall scores.
  • Search — keyword/hashtag search with date, language, and min-likes filters.
  • Social graph — export followers and following lists with profile metadata.
  • Thread extraction — full conversation trees from any bsky.app URL.
  • Rich exports — JSON, CSV, Excel, and HTML reports.

Modes

ModeDescription
profileFetch one or many profiles.
postsFetch recent posts for a handle.
searchSearch posts by keyword/hashtag.
followersExport a handle's followers.
followingExport accounts a handle follows.
threadExtract a post thread.
analyticsFull analytics report for one or more handles.

Pricing

  • First 100 results free per run.
  • $0.003 per post or profile scraped.

Quick start

Run on Apify

  1. Open the actor on Apify Store: https://apify.com/frayess_mosbehi/bluesky-analytics-suite
  2. Choose a mode and enter handles/queries.
  3. Run the actor and download JSON/CSV/Excel/HTML results.

Run locally

npm install --legacy-peer-deps
npm run build
# Create input file
mkdir -p storage/key_value_stores/default
cp examples/analytics.json storage/key_value_stores/default/INPUT.json
# Run
APIFY_LOCAL_STORAGE_DIR=./storage node dist/main.js

Results are written to storage/datasets/default/ and analytics reports to storage/key_value_stores/default/:

  • REPORT.json — full analytics report
  • REPORT.csv — benchmark table
  • REPORT.xlsx — Excel workbook
  • REPORT.html — HTML report (when outputFormat: html)

Examples

See the ./examples directory for ready-to-use input configurations:

  • profile.json
  • posts.json
  • search.json
  • followers.json
  • thread.json
  • analytics.json

Input schema

FieldTypeDescription
modestringRequired. One of profile, posts, search, followers, following, thread, analytics.
handlesstring[]Handles/DIDs for profile, posts, followers, following, analytics modes.
queriesstring[]Keywords/hashtags for search mode.
postUrlstringbsky.app URL or AT URI for thread mode.
maxResultsintegerMax items per handle/query. Default 100, max 10000.
sortstringSearch sort: top or latest. Default latest.
languagestringISO language filter for search.
minLikesintegerMinimum likes filter.
sincestringStart date filter YYYY-MM-DD.
untilstringEnd date filter YYYY-MM-DD.
includeRepostsbooleanInclude reposts in author feed. Default false.
includeAnalyticsbooleanCompute analytics report. Default true.
outputFormatstringAnalytics report format: json or html. Default json.

Development

npm install --legacy-peer-deps
npm run dev # run with Apify CLI
npm run test # run Vitest tests
npm run lint # run ESLint
npm run format # run Prettier
npm run build # compile TypeScript

Deploy to Apify

Manual deploy

npm run build
apify login
apify push

Automated deploy via GitHub Actions

  1. Create an Apify API token in the Apify Console.
  2. Add it as a repository secret named APIFY_TOKEN in GitHub.
  3. Publish a GitHub release — the actor will deploy automatically.

Tech stack

  • Node.js 20 + TypeScript
  • Apify SDK + Crawlee
  • Direct AT Protocol XRPC calls
  • Zod for input validation
  • Vitest for testing

FAQ

Do I need a Bluesky login or API key?
No. The actor reads only public data via Bluesky's public AT Protocol endpoints.

What data can I scrape?
Public profiles, posts, followers, following lists, search results, and threads. Private accounts and DMs are not accessible.

How is pricing calculated?
You pay $0.003 per post or profile returned, plus a $0.00005 actor start fee. The first 100 results of every run are free.

What are the rate limits?
The actor uses polite exponential backoff and respects Bluesky's public rate limits. Very large lists may take longer to finish.

Can I schedule runs?
Yes. Use the Apify Scheduler to run the actor daily or weekly for follower tracking or mention monitoring.

Comparison with raw Bluesky scrapers

CapabilityRaw scraperBluesky Analytics Suite
Public posts & profiles
Engagement rate & velocity
Follower growth tracking
Multi-handle benchmarking
CSV / Excel / HTML reportsRarely
No login or API keyVaries

Screenshots

Store screenshots will be added here: input UI, HTML report, Excel output, and CSV output.

Love this actor?

If it saved you time, please leave a review on the Apify Store — it helps others discover the tool and supports ongoing development.

Support

For issues or feature requests, open an issue on GitHub or contact the developer through Apify.

License

MIT