AD
Launch on Firsto—Launch your project today — get a DR57 backlink instantly.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Dart
  3. /indexer
skyfeed-dev

indexer

A Dart SDK for Bluesky and AT Protocol by skyfeed-dev

ATProto/Bluesky Indexer powered by SurrealDB.

GitHub Stats

38stars
3forks
1contributors
2open issues

Dates

Created:May 30, 2023
Last updated:October 19, 2025

README

The following content is from indexer's GitHub repository. All rights reserved by the original author.

SkyFeed Indexer

ATProto/Bluesky Indexer, powered by SurrealDB and written in the Dart programming language.

The Firehose indexer subscribes to one (or multiple) Bluesky Firehose endpoints (/xrpc/com.atproto.sync.subscribeRepos), converts all events to SurrealQL queries and inserts them into the database.

This repository also includes a historical indexer for the full current state of the network using the com.atproto.sync.listRepos and com.atproto.sync.getCheckout endpoints. It can be configured to only persist specific events, for example the social graph (follows, blocks, profiles).

The database can then be used to run powerful queries on the network data or build advanced custom feeds. All skyfeed.xyz feeds are powered by this service.

Warning: The implementation does NOT verify the integrity of events or blocks right now.

Setup SurrealDB

  1. Install SurrealDB Nightly on your system, instructions are available here: https://surrealdb.com/docs/installation/nightly
  2. Generate a secure password, for example using pwgen -s 32 1
  3. Run SurrealDB with surreal start --user root --pass CHANGEME_TO_YOUR_PASSWORD --bind 127.0.0.1:8000 file:surreal.db

When using file:surreal.db, all data is stored in the subdirectory surreal.db/ of your current working directory.

If you want to expose the database to your network, use --bind 0.0.0.0:8000 instead.

Setup the indexer

  1. Install Dart (https://dart.dev/get-dart)
  2. Clone this repository using git clone https://github.com/skyfeed-dev/indexer.git
  3. Copy the .env.example file to .env
  4. Put your SurrealDB password in .env
  5. Run dart pub get to install dependencies
  6. Run dart run bin/setup_surreal.dart to create tables

Run the Firehose indexer

dart run bin/firehose_indexer.dart

Run the Historical indexer

dart run bin/historical_indexer.dart

Related SDKs

myConsciousnessatproto.dart

🦋 Production-Ready AT Protocol & Bluesky SDK for Flutter & Dart 💙

202•Dart
videahSkyBridge

A work in progress bridge/proxy that lets you use Mastodon apps with Bluesky

606•Dart
myConsciousnessbluesky-post

Use this action to send a post to Bluesky Social from GitHub actions workflow.

43•Dart

Resources

GitHub Repository

License

AGPL-3.0

Author

skyfeed-dev
skyfeed-dev

Activity

Last commit: October 19, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.