A curated list of resources for ActivityPub developers who create software for the Fediverse.
ActivityPub: Generic library to federate an app with ActivityPub (uses a queue for incoming/outgoing activities and adapter modules for tight integration).
activityPub-core: An attempt to build a spec-compliant ActivityPub core library.
ActivityPub Express: Modular ActivityPub implementation as Express.js middleware to easily add decentralization and federation to Node apps
ActivityPub-Federation: A high-level framework for ActivityPub federation in Rust, extracted from Lemmy.
:heavy_check_mark ActivityPub Models - "ActivityPub JS/TS models with docs
ActivityPub Starter Kit: A tiny, single user ActivityPub server, meant to be a starting point for your own ActivityPub projects.
activityPub4j: W3C ActivityPub and ActivityStreams implementation in Java using Spring Boot.
ActivityHub.Net: A C# .NET Implementation of ActivityPub Entity Types.
ActivityPub.Net: A parser for ActivityPub.
ActivityStreams: Full ActivityStreams 1.0 and 2.0 reference implementation in Java.
ActivityStreams: A .NET implementation of the Activity Streams vocabulary in the form of classes that can be serialized using System.Text.Json
ActivityStreams-2: ActivityStreams 2.0 library for Node.js and TypeScript.
atoot: Library providing an easy way to create Mastodon API applications
Clovis: [ARCHIVED] Implementation of ActivityPub in Scala. (Hobby project included here for reference only.)
Chatter Net Client: A decentralized semantic web built atop self-sovereign identity. Client-side.
Chatter Net Server: A decentralized semantic web built atop self-sovereign identity. Server-side.
corpus-activity-streams: Activity Streams 2.0 vocabulary data and alternative docs.
Unlicense license, Typescript
DarkLink.Web.ActivityPub: A framework (kinda) to work with ActivityPub with .NET
Dialtone: An "un-imagined" ActivityPub service, to address emergent use cases. Multi-tenant, multi-personality, multi-ownership.
Apache-2.0 / MIT, Rust
Digit: Simple API for building WebFinger resource responses.
Disboard: Collection of fediverse API wrapper libraries for .NET Standard 2.0.
Drastic.Mastodon: A fork of Masto.NET, a C#/.NET Library for accessing Mastodon.
Express ActivityPub: A very simple reference implementation of an ActivityPub server using Express.js.
Federails: An ActivityPub engine for Ruby on Rails.
FediKit: Building Blocks for Fediverse.
go-fed activity (site, Fedi account): Full ActivityStreams & ActivityPub implementation in Golang. Extensions can be easily added by design-time code generation from JSON-LD schema's (also supports ForgeFed this way, by default).
go-mastodon: Mastodon client for Golang.
Hannibal: ActivityPub library for Golang.
http-signature: Implementation of the HTTP Signature scheme as used in ActivityPub.
Incognitum: A .NET Standard library for Mastodon.
Little Boxes: Tiny ActivityPub framework, both database and server agnostic
Little Library: A digital give-a-book, take-a-book library for ebooks
Mastodon.py: Python wrapper for the Mastodon API.
Masto.Net: A C# Library for Mastodon.
Megalodon: Mastodon, Pleroma and Misskey API client library for node.js and browser.
Megalodon-rs: Mastodon and Pleroma API client library for Rust.
Mod.ActivityPub: ActivityPub Server services for ASP.NET
Pub: A tiny ActivityPub to Mastodon bridge.
Pubstrate: ActivityStreams and ActivityPub library implementation for GNU Guile. Includes a full ActivityStreams library and most of an ActivityPub implementation.
pynodeinfo: NodeInfo library implemented with poetry.
Python ActivityPub: A general ActivityPub library
The Old Dog and Duck: A Clojure library designed to implement the ActivityPub protocol.
Fediverse Tools for Joomla!: Integrate Mastodon with your Joomla! site.
Pterotype: WordPress plugin. Pterotype connects your blog to the Fediverse by giving it an ActivityPub feed
Vue Component Library for ActivityPub Timelines: Integrate your Fediverse timeline into your Vue 3 with Bootstrap 5 application.
WordPress-ActivityPub: ActivityPub for Wordpress
WordPress-OStatus: An OStatus plugin for WordPress
ActivityRelay: A generic LitePub relay (works with all LitePub consumers and Mastodon).
activity-relay: Yet another powerful customizable ActivityPub relay server written in Go
Social relay: Public post relay for the diaspora* federated social network protocol.
toot-relay: Relay that forwards web push notifications to APNs, built for Toot!.app but usable for anyone.
AodeRelay: A simple and efficient ActivityPub relay.
For an overview of known relays, see Relay List, a regularly updated, sorted list of ActivityPub relays for Mastodon or Pleroma.
bleroma: Telegram bot for Pleroma and Mastodon.
Fediverse-Action: Github Action that posts to Fediverse when code is changed.
feedToMasto: Node app that checks a list of feeds (Atom, RSS, RDF) periodically, post new items to Mastodon.
feediverse: Send RSS/Atom feeds to Mastodon.
gemifedi: A Gemini frontend to the fediverse (specifically, Mastodon and Pleroma instances).
ghostcms-activitypub: An ExpressJS server that integrates with GhostCMS webhooks to publish ActivityPub content on the Fediverse.
Hatsu: Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
Instagram2Fedi: Script for crossposting from Instagram to Mastodon or Pixelfed.
Kazarma: A Matrix bridge to ActivityPub.
ligh7hau5: A Matrix to Fediverse / ActivityPub client / bridge. Also, some media proxying.
mastodon-bot: a bot for mirroring Twitter / Tumblr accounts and RSS feeds on Mastodon
Mobilizon Crossposter: A modular crossposter to bridge events from sources you have to setup yourself to Mobilizon.
Nautilus: A standalone service to deliver posts from your own website to ActivityPub followers.
PeerTube (on Matrix) Search: Search PeerTube via Matrix, using Sepia Search API to search on all participating public PeerTube instances. You can also select any single instance. It's implemented as a module for Hemppa the bot.
pleroma-bot: Mirrors Twitter accounts to Fediverse, or migrates Twitter account to Fediverse using a Twitter archive. Supports Mastodon, Pleroma and Misskey.
RSS-to-ActivityPub Converter: Convert any RSS feed to an ActivityPub actor that can be followed by users on ActivityPub-compliant social networks like Mastodon.
YouTube2PeerTube: A bot that mirrors YouTube channels to PeerTube channels as videos are released in a YouTube channel.
ActivityPubSchema: JSON Schema definition of the ActivityStreams and ActivityPub specifications.
ActivityPub Pelican Plugin: Experimental ActivityPub plugin for Pelican static site generator.
AP follow - A remote follow tool to share links and buttons that allow people to follow you from their own ActivityPub instance
bridge: A simple web app that helps you find your Twitter friends on the federated Mastodon network. It is also an example of how the Mastodon API can be used and the federated OAuth authorization flow.
f2ap: A web application that uses the RSS/Atom feed of your website to expose it on the Fediverse through ActivityPub.
FediAct: Chrome/Firefox extension that simplifies interactions on other Mastodon instances than your own.
fediblock-importer: Import domain blocks to your Mastodon v4+ instance.
FediCraft: Federated network support for Minecraft. (fabric and quilt).
MIT / Apache-2.0, Java
Fedifinder - Find fediverse addresses in the profiles of your Twitter followings
Mastodon Archive:Archive your statuses, favorites and media using the Mastodon API.
Mastodon Backup Resore: Bash scripts for backup / restore of Mastodon.
Mastodon Bird UI: Alternative stylesheet to make Mastodon UI represent the Birdsite.
mastodon_recommender: Script that recommends people for you to follow on Mastodon based on your own account.
Mastotool: A collection of tools to work with your Mastodon account; displays account statistics and lets you search your toots.
Pherephone: An ActivityPub server that reblogs all the statuses of certain actors. You set it up to follow a few accounts and it announces everything they post.
PocketToots:A Firefox extension that saves your Mastodon bookmarks to Pocket.
Steampipe Mastodon Plugin: Use SQL to instantly query Mastodon timelines and more. Open source CLI to Steampipe SaaS. No DB required.
Steampipe Mastodon Insights Mod: View Mastodon timelines, search hashtags, find interesting people, and check server stats.
tags-pub: Provides hashtag objects on the ActivityPub network.
TootSDK: Cross-platform Swift library for the Mastodon API.
toot-volute: An interpreter for Mastodon posts.
yt2pt: A simple set of scripts to quickly import your youtube channel to Peertube.
activitypub-mock: A mock ActivityPub server to use in testing code
FediDB (site, Fedi account): A suite of tools for AP devs to help make it easier to test and validate your implementation with existing implementations like Mastodon, PeerTube, Pixelfed and Pleroma
Test Suite: An unofficial partially-automated ActivityPub test suite
This category is dedicated to an important new direction on the Fediverse, where Software Development itself becomes federated. Currently the focus is on projects and protocols that allow for the federation of code forges (such as Gitea and Gitlab).
ForgeFlux StarChart: Software forge spider. Crawler that maps and advertises self-hosted code forge instances.
giteacat: Python script that allows sign up to a Gitea instance to all local users of a Mastodon server.
This category is for any code project related to the Fediverse. They need not be directly development related.
Fedishare: Firefox toolbar extension to share the current browser tab on the Fediverse
NodeInfo: Defines a standardized way to expose metadata about an installation of a distributed social network.
Podcasting: Workspace for defining ActivityPub and ActivityStream extensions for Podcasting with the intention to define a W3C Recommendation for them.
Guide for new ActivityPub Implementers: A crowd-sourced wiki maintained by SocialHub community with a ton of information and links.
ActivityPub for Podcast Client Apps: Overview on how to implement cross-app comments for podcasts.
Content-addressible RDF: A scheme based on RDF allowing for data to be referred to by an identifier determined by the data itself (written by @pukkamustard of openEngiadina, specification now part of DREAM)
Encoding for Robust Immutable Storage (ERIS): ERIS is an encoding of arbitrary content into a set of uniformly sized, encrypted and content-addressed blocks as well as a short identifier (a URN) (written by @pukkamustard of openEngiadina, specification now part of DREAM).
If you have questions or feedback regarding this list, then please create an Issue in our tracker, and optionally
@mention one or more of our maintainers: