A curated list of resources for ActivityPub developers who create software for the Fediverse.
Emoji's for each entry indicate whether it is added to the Fediverse Party website:
✔️ 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.)
✔️ 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
✔️ 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.
✔️ 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.
✔️ 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.
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.
✔️ Python ActivityPub: A general ActivityPub library
The Old Dog and Duck: A Clojure library designed to implement the ActivityPub protocol.
✔️ Pterotype: WordPress plugin. Pterotype connects your blog to the Fediverse by giving it an ActivityPub feed
✔️ 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
✔️ Seattle relay
✔️ 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.
✔️ feediverse: Send RSS/Atom feeds to Mastodon.
✔️ gemifedi: A Gemini frontend to the fediverse (specifically, Mastodon and Pleroma instances).
✔️ 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
✔️ 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.
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.
✔️ Fedifinder - Find fediverse addresses in the profiles of your Twitter followings
✔️ FediHealth: Software to help you define federation policies for your node.
✔️ Mastodon Backup Resore: Bash scripts for backup / restore of Mastodon.
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.
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.
✔️ 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.
👻 NodeInfo2: An effort to create a standardized way of exposing metadata about a server. Helps expose ownership and organization details, usage statistics and protocol capabilities. (disappeared when feneas shut down)
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: