Mastodon API: Mit "rtoot" die sozialen Netzwerke erkunden

Geschätzte Lesezeit 4 Minuten

Social Media ist für viele Menschen zu einem wichtigen Bestandteil ihres Lebens und der Kommunikation darüber geworden. Ereignisse, Meinungen etc., die gepostet, getweetet oder getootet werden, können über eine API abgerufen werden - wenn dies von den Inhabern der Plattform erlaubt ist. Bei "X" (vormals "Twitter") haben wir festgestellt, dass nur mehr schwer an Daten heranzukommen ist bzw. es sehr teuer geworden ist. Zum Glück ist das bei der Mastodon API der Fall.

Mastodon ist eine Plattform, die eine dezentrale Alternative zu den meisten Netzwerken bietet. Durch RStudio und dem Package "rtoot" haben wir die Möglichkeit, tief in die Welt von Mastodon einzutauchen und Daten zu sammeln. Wir zeigen dir heute, wie das funktioniert und was du mit den gewonnenen Daten machen kannst.

Was ist Mastodon?

Mastodon ist ein dezentrales soziales Netzwerk, das sich von Plattformen wie Facebook, X oder Instagram unterscheidet. Statt einer zentralen Instanz gibt es zahlreiche unabhängige Server, die miteinander kommunizieren. Dieses dezentrale Modell ermöglicht es Nutzer:innen, die Kontrolle über ihre Daten zu behalten und ihre Instanz nach ihren eigenen (Moderations-)Regeln zu betreiben. Wenn du mehr über Mastodon erfahren willst, haben wir dir in unserem Blog zu Mastodon schon das Wichtigste zusammengetragen.

rtoot: Dein Schlüssel zur Mastodon API

Wie schon erwähnt, nutzen wir RStudio und das Package "rtoot". "rtoot" wurde entwickelt, um den Zugriff auf die Mastodon API zu vereinfachen und die Analyse von Mastodon Daten zu ermöglichen. Damit können unter anderem folgende Informationen abgerufen werden:

  • Trends der jeweiligen Instanz
  • Aktivitäten auf einer Instanz (Anmeldungen, Anzahl der Toots etc.)
  • Follower von Nutzer:innen
  • Toots von Nutzer:innen und vieles mehr

Wie genau das funktioniert und auch du zum:zur Mastodon-Kenner:in wirst, verraten wir dir im Folgenden.

1. Authentifizierung für die Instanz

Der erste Schritt ist die einfache Authentifizierung. Da Mastodon dezentral durch verschiedene Instanzen organisiert ist, benötigst du für jene Instanz, die du untersuchen möchtest, eine Authentifizierung.

Nehmen wir z. B. den Mastodon Account von unserem Geschäftsführer Wolfgang "@wozzek@masto.ai": @wozzek ist sein Nutzername, @masto.ai verrät uns, dass sich Wolfgang bei der Anmeldung für die masto.ai Instanz entschieden hat.

Damit wir mit der Mastodon API Daten der masto.ai Instanz erhalten, reicht folgender Code:

Nach Eingabe des Befehls "auth_setup" wirst du gefragt, für welche Instanz du eine Authentifizierung benötigst und welche Art der Token haben soll. (Hier einfach "public" eingeben.)

Und schon ist es vollbracht! Wir haben durch die Mastodon API Zugriff auf Daten der Instanz masto.ai!

2. Ein Blick in die masto.ai Instanz

Sehen wir uns in einem nächsten Schritt die Trends und Aktivitäten von masto.ai an. Durch das "rtoot" Package fragen wir diese Informationen durch die Befehle "get_instance_trends()" und "get_instance_activity()" über die Mastodon API an.

Gratulation! Wir wissen jetzt unter anderem, dass auf masto.ai der Hashtag "billnyethescienceguyasong" gerade am stärksten trendet und dass seit 22.11.2023 über 21.000 Toots abgegeben wurden.

Nächster Halt: Wolfgangs Aktivitäten!

3. Über die Mastodon API Follower abfragen

Um die Follower des Users @wozzek zu bekommen, speichern wir uns seine ID und schon kann es losgehen. Der Befehl "get_account_followers()" bringt dir die gewünschten Daten.

Interessant bei den Ergebnissen, die wir über die Mastodon API erhalten ist, dass wir nicht nur erfahren, dass Wolfgang 12 Follower hat. Wir erfahren auch gleich die ID einer jeden Person, sehen, wann der Account erstellt wurde, wie viele Toots abgegeben wurden und auch, wie viele Follower etc. die Person hat. Gar nicht schlecht, für eine Zeile Code, oder?

4. Über die Mastodon API abfragen, wem gefolgt wird

Dasselbe Spiel geht natürlich auch in die andere Richtung: Wem folgt Wolfgang? Dafür benötigen wir den Befehl "get_account_following()".

Auch hier erfahren wir alle der obigen Informationen – also eine ganze Menge. Und wieder nur eine Zeile Code dafür notwendig!

5. Über die Mastodon API Toots abfragen

Und weiter geht es: Was schreibt Wolfgang auf Mastodon? Diese Daten erhalten wir mit folgendem Befehl:

Auch hier wird viel Information geliefert: z. B. wann wurde was getootet, wurden Emojis verteilt oder wurde es weitergeleitet.

Was tun mit den Daten aus der Mastodon API?

Jetzt haben wir eine Menge an Daten gesammelt. Was nun? Wie schon mit Daten von "X" kann eine Netzwerkanalyse durchgeführt werden. Wir haben ja die ID der Follower als auch der Personen, denen gefolgt wird. Durch das Programmieren einer "Schleife" kannst du die Datenabfrage zudem automatisieren.

Eine weitere der vielen Analysemöglichkeiten haben wir mit der Sentimentanalyse gezeigt. David Robinson veranschaulichte damit, dass von Donald Trumps Twitter Account während seiner Präsidentschaft nur die "wütenderen" Tweets von einem Android versendet wurden. Dies deutet darauf hin, dass er selbst twitterte – die andere Hälfte wurde von seinem Team mit einem iPhone gepostet.

Natürlich können mit den vorliegenden Daten ebenso Trendanalysen und unterschiedlichstes Nutzer:innenverhalten analysiert und interpretiert werden. Tob dich aus!

Interesse geweckt?

Die Mastodon API und das R-Paket "rtoot" bieten eine einfache Möglichkeit, die Welt von Mastodon zu erkunden und tiefere Einblicke in dieses dezentrale soziale Netzwerk zu gewinnen.

Du möchtest mehr über die Nutzung der Mastodon API wissen und/oder wie du Daten auswerten kannst? Dann melde dich bei uns. Unsere Expert:innen helfen dir gerne.

Daniel Gaubinger-Börner
Daniel Gaubinger-Börner

Daniel ist unser Data Scientist. Das bedeutet, dass er aus Zahlen und Daten logische Schlüsse zieht. Außerdem ist er ein Meister von statistischen Auswertungen, bezwingt erfolgreich R und weiß genau, welche Daten diverse Social-Media-Plattformen ausgeben.