ActivityPub is considered to be an update to the ActivityPump protocol used inpump.io, and the official W3C repository for ActivityPub is identified as a fork of ActivityPump.[4][5] The creation of a new standard fordecentralized social networking was prompted by the complexity ofOStatus, the most commonly used protocol at the time. OStatus was built using a multitude of technologies (such asAtom,Salmon,WebSub andWebFinger), a product of the infrastructure used inGNU social (the originator and largest user of the OStatus protocol), which made it difficult to implement the protocol into new software. OStatus was also only designed to work withmicroblogging services, with little flexibility to the types of data that it could hold.
The standard was first published by theWorld Wide Web Consortium (W3C) as a W3C Recommendation in January 2018 by the Social Web Working Group (SocialWG), aworking group chartered to build the protocols and vocabularies needed to create a standard for social functionality.[6] Shortly after, further development was moved to the Social Web Community Group (SocialCG), the successor to the SocialWG.
ActivityPub uses theActivityStreams 2.0 format for building its content, which itself usesJSON-LD. The three main data types used in ActivityPub are Objects, Activities and Actors. Objects are the most common data type, and can be images, videos, or more abstract items such as locations or events. Activities are actions that create and modify objects, for example aCreate activity creates an object. Actors are representative of an individual, a group, an application or a service, and are the owners of objects.
Every actor type contains an inbox and outbox stream, which sends and receives activities for a user. In order to publish data (for example liking an article), a user creates an activity that declares that they liked an Article object and publishes it to their outbox, where it is then delivered by the ActivityPub server via aPOST request to the inboxes listed in the activity'sto,bto,cc andbcc fields. The receiving servers then account for the newly received activity and update the article by adding the like action to it.
{"@context":["https://www.w3.org/ns/activitystreams",{"@language":"en-GB"}],"id":"https://rhiaro.co.uk/2016/05/minimal-activitypub","type":"Article","name":"Minimal ActivityPub update client","content":"Today I finished morph, a client for posting ActivityStreams2...","attributedTo":"https://rhiaro.co.uk/#amy","to":"https://rhiaro.co.uk/followers/","cc":"https://e14n.com/evan"}
The SocialCG previously organized a yearly free conference called ActivityPub Conf about the future of ActivityPub.[8][9] Triages are held regularly to review issues pertaining to the ActivityPub and ActivityStreams 2.0 specifications as part of the SocialCG.[10]
In 2023, Germany'sSovereign Tech Fund donated €152,000 to socialweb.coop with the goal of building a new suite for testing various ActivityPub implementations and their compliance with the specification.[11]
The initial wave of adoption for ActivityPub (circa 2016–2018) came from software that was already using OStatus as their federation protocol, such asMastodon,GNU social andPleroma.[12] Following theacquisition of Twitter by Elon Musk in 2022, many groups of users that were critical of the acquisition migrated to Mastodon, bringing new attention to the ActivityPub protocol with it.[13] Various major social media platforms and corporations have since pledged to implement ActivityPub support, includingTumblr,[14]Flipboard[15] andMeta Platforms'Threads.[16] Threads introduced crossposting to ActivityPub in 2024 for users outside of theEuropean Economic Area,[17] however full 2-way compatibility remains incomplete as of 2025.[18]
Poorlyoptimized ActivityPub implementations can cause unintentionaldistributed denial-of-service (DDOS) attacks on other websites and servers, due to the decentralized nature of the network.[citation needed] An example would beMastodon's implementation ofOpenGraph link previews, wherein every instance that receives a post that contains a link with OpenGraph metadata will download the associated data, such as athumbnail, in a very short timeframe, which can slow down or crash servers as a result of the sudden burst of requests.[19][20]
ActivityPub has been criticized for not natively supporting moving accounts from one server to another, forcing implementations to build their own solutions.[21] While there has been work on building a standardized system for migrating accounts using the Move activity via the Fediverse Enhancement Proposal organization, the current proposal only allows for basic follower migration, with all other data remaining linked to the original account.[22]
ActivityPub implementations have been criticized for missing replies and parts of reply threads from remote posts, and presenting outdated statistics (e.g. likes and reposts) about remote posts.[23][24] However, this isn't a problem with the ActivityPub protocol itself, but with implementations notrefreshing their content for updated data when needed.[25][26][citation needed]
GitLab, a Gitforge and development platform which had previously had an open issue discussing the topic, but was later closed due to the development team moving focus to other areas.[78]
Tumblr, a microblogging platform. Despite previous statements fromAutomattic CEOMatt Mullenweg,[79][80][81] ActivityPub integration has been delayed indefinitely. The integration would have been implemented with its WordPress migration, as the first-party plugin for interoperability would have been used for federation.[82]
^Supernault, Daniel (October 14, 2025)."Loops Joins the Fediverse".Loops Official Blog. RetrievedDecember 5, 2025.We're excited to announce that Loops now federates with the fediverse. After months of development, ActivityPub support has officially entered beta. Your loops can now travel across the open social web.