AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
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

39stars
3forks
1contributors
2open issues

Dates

Created:May 30, 2023
Last updated:May 9, 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

🦋 AT Protocol and Bluesky things for Dart and Flutter.

196•Dart
myConsciousnessbluesky-post

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

43•Dart
videahSkyBridge

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

598•Dart

Resources

GitHub Repository

License

AGPL-3.0

Author

skyfeed-dev
skyfeed-dev

Activity

Last commit: May 9, 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 listFirsto

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.