Social graph

Working with AT Protocol Social Graphs

Querying social graphs

New applications that build on the AT Protocol can leverage existing social graph data — for example, from the app.bsky.graph.getFollows Lexicon RPC endpoint — to build new use cases, and bootstrap with an existing user base. This, in turn, gets you to native atproto concepts like A Social Filesystem.

See Exploring AT Protocol with Python for another example of this approach.

One of the most powerful ways to get social graph data from AT Protocol is through the use of backlinks. Querying backlinks lets you resolve all of the records linking to any given record, or identity.

Microcosm provides a set of resources for working with backlinks. Because all AT Protocol records are openly available and addressible via an at:// URI, this makes it possible to encode nested API queries into individual URLs. Microcosm does this, for example.

For Claude code plugins that implement backlinks, see protopack.

Reusing Lexicons

When building new experiences on atproto, it's up to you to decide how much to reuse the existing social graph from popular Lexicons on the network. For example, some apps might choose to reuse "follow" or "block" relationships from app.bsky.graph — perhaps by integrating Microcosm — while others might implement their own. You could also reuse the media blobs from existing posts to build an image board or video sharing app that bootstraps with existing content. This has implications for how much data you need to backfill, and how much hosting infrastructure you may need to drive an app view.

Further Reading and Resources