Indexers & Discovery
Why indexers?
ATProto is federated — data is distributed across multiple PDSs. To discover records, you need something that crawls the network and aggregates data into a queryable database.
That's what indexers do: they subscribe to the firehose (a real-time stream of repository commits), fetch and parse records according to their lexicons, and expose the results via APIs for searching, filtering, and aggregation.
Hyperindex
Hyperindex is a reference indexer for the Hypercerts ecosystem. It listens to the network via Jetstream, stores matching records in a database, and automatically generates a GraphQL API for querying them.
Multiple indexers are running across the ecosystem — see Hyperscan Indexers for a live list with health status.
You can also run your own instance and register custom lexicons alongside the standard org.hypercerts.* ones. See the Hyperindex repository for setup instructions.
For how indexers fit into the protocol stack, see Data Flow & Lifecycle.