Gathering Data from Bluesky Social

The incredible thing about Bluesky Social is that its entirely decentralized. For end users, this means you can gather essentially anything that you want. Bluesky itself is organized as a series of records, which have strict definitions described in lexicons. bskyr provides a number of functions to help you gather data from Bluesky Social, by querying those lexicons. The corresponding records are described in the “Lexicon references” section of the documentation for each function.

bskyr offers the most comprehensive set of tools for gathering Bluesky data from R. This vignette walks through the process of gathering data from Bluesky Social using bskyr.

Gathering data from Bluesky Social

To collect data, we first need to load the bskyr package.

library(bskyr)

We also need to authenticate you as a user. To do that, we can use the bs_auth() function, which communicates with Bluesky Social, creating a list of details usable to later functions.

auth <- bs_auth(user = bs_get_user(), pass = bs_get_pass())

Alternatively, each function can authenticate you on its own, but this can result in timeouts from the API.

Your data

Several lexicons allow you to gather data about yourself, but not others. These are largely useful for managing your own account.

For example, the API (reasonably) only lets you interact with your own preferences. You can do this with bs_get_preferences()

bs_get_preferences()

Other self-focused functions include blocks, (e.g. bs_get_blocks()), mutes (e.g. bs_get_muted_lists()), and notifications (e.g. bs_get_notifications()).

Other people’s data

Most functions engage with lexicons that allow you to gather data about other people.