NodeJS AP library

Hi folks, I’ve been working on a general NodeJS library for ActivityPub. It’s not ready for production but there is a basic example which just about works. I haven’t tested it federating with any real servers or other services yet, nor integrated it into any significantly sized project.

If anybody is willing to lend a hand, or just raise some issues about things like unclear documentation, I’d appreciate it.


Nice project @birdsofpraise !
I haven’t had time to post about this here, but I’m working on a project called SemApps, and we are also implementing an ActivityPub library in NodeJS. It’s based on microservices, using the Moleculer library. I don’t know if we will have the opportunity to work together but I guess it’s important to keep an eye on each others’ projects :wink:
The ActivityPub package is here:

Also redaktor /me is working on a generic ActivityPub server …
It will take a while cause we want to support the complete C2S API with the S.
It is written in TypeScript and NestJS and Dojo help us.

I hope all of us NodeJS people will have the opportunity to work together in the future …

Great, sounds like there’s more activity in this area than I had previously thought! I will have to check out these projects

I’m also working in this area. activitypub-express is a modular, customizable implementation as ExpressJS middleware functions.

It will be complete S2S and C2S APIs, but with no front-end. It is intended as a reusable library to simplify creating fediverse apps or adding the standard to an existing project. I’m including a MongoDB denormalized storage model, but planning on making the model easily interchangeable. I’ve based it on code from, my simple social groups fedi app that is in production now.

FWIW I have another project going. I’m using TypeScript on the back end to manage the type complexity, and wrote a library of all the AP/AS types along with resolvers to handle all the different types of identifiers it supports. I’m also building a UI that uses the C2S interface on the server. Storage is CouchDB, message queueing uses Redis.

The front-end is written in Vue/Nuxt, and follows a Diaspora/Facebook post-oriented paradigm.

Would love to share ideas and implementation.

Good to see so many people developing with node!

I’ve started another topic here to try and get a bit more of a structured discussion going in regards to sharing code: