{"id":81454,"date":"2026-10-03T08:55:00","date_gmt":"2026-10-03T08:55:00","guid":{"rendered":"https:\/\/www.arimetrics.com\/?post_type=encyclopedia&#038;p=81454"},"modified":"2026-10-03T09:16:46","modified_gmt":"2026-10-03T09:16:46","slug":"activitypub","status":"publish","type":"encyclopedia","link":"https:\/\/www.arimetrics.com\/en\/digital-glossary\/activitypub","title":{"rendered":"ActivityPub"},"content":{"rendered":"<p><img decoding=\"async\" class=\"boxpad alignright wp-image-81455 size-full\" src=\"https:\/\/www.arimetrics.com\/wp-content\/uploads\/2026\/10\/activitypub-square.png\" style=\"margin-top:0;\" alt=\"ActivityPub symbol in turquoise\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.arimetrics.com\/wp-content\/uploads\/2026\/10\/activitypub-square.png 300w, https:\/\/www.arimetrics.com\/wp-content\/uploads\/2026\/10\/activitypub-square-150x150.png 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <strong>Definition:<\/strong><\/p>\n<p><strong>ActivityPub<\/strong> is an open protocol for decentralized social networking that defines how applications and servers represent and exchange activities such as publishing, following, sharing or liking content. It became a World Wide Web Consortium, W3C, Recommendation in 2018.<\/p>\n<p>The protocol enables independently managed services to communicate. It is a <strong>technical foundation<\/strong> of the <a href=\"https:\/\/www.arimetrics.com\/en\/digital-glossary\/fediverse\">fediverse<\/a>, but it is not itself a social network, a platform or a universal directory of servers.<\/p>\n\n<h2>How ActivityPub works<\/h2>\n<p>The main unit is an <strong>actor<\/strong>, which may represent a person, service, application, group or organization. Each actor has its own web address and publishing and receiving endpoints that support exchanges with other compatible systems.<\/p>\n<p>The <strong>outbox<\/strong> contains activities created by the actor. When an account publishes content, its server may generate a <code>Create<\/code> activity containing or referring to the published object. The post and the activity are not exactly the same: one describes the content, while the other expresses the action performed on it.<\/p>\n<p>The <strong>inbox<\/strong> receives activities addressed to an actor. The origin server determines the recipients and delivers the activity to the relevant servers. Each recipient validates the request, applies its own rules and decides how to store or display the information.<\/p>\n<p>The <a href=\"https:\/\/www.w3.org\/TR\/activitypub\/\" target=\"_blank\" rel=\"noopener\">W3C specification<\/a> uses HTTP and the ActivityStreams 2.0 format to describe these exchanges. <strong>Federated delivery<\/strong> means that accounts and posts do not need to be stored in one central database.<\/p>\n<h2>Two communication interfaces<\/h2>\n<p>ActivityPub describes <strong>two related interfaces<\/strong>, although projects do not have to provide both in the same way:<\/p>\n<ul>\n<li><strong>Client to server:<\/strong> allows a client application to act on a person&#8217;s account, for example by creating a post or reading its outbox.<\/li>\n<li><strong>Server to server:<\/strong> allows different servers to deliver activities to each other and is the most visible part of federation.<\/li>\n<\/ul>\n<p>Many platforms focus on <strong>server communication<\/strong> and use their own APIs for mobile or web applications. Two services can therefore federate through ActivityPub without sharing the same client or supporting every operation defined for the client-to-server interface.<\/p>\n<h2>Actors and activities<\/h2>\n<p>ActivityPub uses a <strong>shared vocabulary<\/strong> to express social actions. Common activities include the following:<\/p>\n<ul>\n<li><strong>Create:<\/strong> communicates the creation of a post or another object.<\/li>\n<li><strong>Follow:<\/strong> requests a relationship with another actor.<\/li>\n<li><strong>Accept and Reject:<\/strong> accept or reject a request, such as following an account.<\/li>\n<li><strong>Like:<\/strong> expresses a positive reaction to an object.<\/li>\n<li><strong>Announce:<\/strong> redistributes an object in a way similar to sharing a post.<\/li>\n<li><strong>Update and Delete:<\/strong> communicate changes to an object or its removal.<\/li>\n<\/ul>\n<p>Objects and activities are represented with <strong>ActivityStreams 2.0<\/strong>, a data model that uses JSON-LD. Its vocabulary includes types such as people, notes, images, videos and collections, and applications can add properties when they need to express their own features.<\/p>\n<p>The <code>@user@domain<\/code> address used by many services is often resolved through <strong>WebFinger<\/strong> before the ActivityPub actor is located. WebFinger is a separate specification: it helps discover the identity associated with a domain but does not replace activity exchange.<\/p>\n<h2>Interoperability in the fediverse<\/h2>\n<p><strong>Practical interoperability<\/strong> depends on whether two applications understand the activities and objects they exchange. ActivityPub provides a common foundation, but it does not require every platform to offer the same interface, formats or features.<\/p>\n<p><a href=\"https:\/\/www.arimetrics.com\/en\/digital-glossary\/mastodon\">Mastodon<\/a> focuses on posts and conversations; <a href=\"https:\/\/www.arimetrics.com\/en\/digital-glossary\/pixelfed\">Pixelfed<\/a>, on visual content; <a href=\"https:\/\/www.arimetrics.com\/en\/digital-glossary\/peertube\">PeerTube<\/a>, on video; and <a href=\"https:\/\/www.arimetrics.com\/en\/digital-glossary\/friendica\">Friendica<\/a>, on social networking with contact management. These services can exchange <strong>compatible activities<\/strong> while presenting content differently.<\/p>\n<p>A Mastodon account may follow a Pixelfed profile or PeerTube channel and receive some of its posts. <strong>Partial compatibility<\/strong> means that certain polls, edits, reactions, audiences or moderation features may be displayed differently or remain unavailable in the receiving application.<\/p>\n<p>There is no index containing every account and post. Each server discovers information through its users&#8217; <strong>federated relationships<\/strong>, resolved searches and received activities. Two instances may therefore know about different sets of content.<\/p>\n<h2>Scope of the protocol<\/h2>\n<p>ActivityPub defines activity exchange, but it <strong>does not establish<\/strong> one moderation system, content policy, business model or central administration. Each service and server retains its own rules and operational decisions.<\/p>\n<p>Federation does not imply <strong>confidentiality<\/strong> either. The recipients included in an activity guide its distribution, but participating servers process the information and may retain logs or copies. ActivityPub does not provide end-to-end encryption by itself.<\/p>\n<p>The <code>Update<\/code> and <code>Delete<\/code> activities communicate changes and deletions. Their reception does not ensure that every <strong>remote copy<\/strong>, screenshot, archive or reference already outside the origin server disappears.<\/p>\n<p>Request authentication, authorization, abuse prevention and blocking depend on the implementation and other technical components. <strong>Effective security<\/strong> results from the protocol together with server software, configuration and policies.<\/p>\n<h2>Differences from the fediverse<\/h2>\n<p>ActivityPub belongs to an architecture made up of <strong>different layers<\/strong> that should be distinguished:<\/p>\n<ul>\n<li><strong>ActivityPub:<\/strong> the protocol defining APIs and delivery of social activities.<\/li>\n<li><strong>Fediverse:<\/strong> the ecosystem of federated services and servers, some of which may use other protocols.<\/li>\n<li><strong>ActivityStreams:<\/strong> the data model and vocabulary used to represent actors, objects and activities.<\/li>\n<li><strong>WebFinger:<\/strong> a discovery mechanism commonly used to resolve domain-based identities.<\/li>\n<li><strong>Federated applications:<\/strong> programs such as Mastodon, Pixelfed, PeerTube or Friendica that implement the protocol with different features.<\/li>\n<\/ul>\n<p>The <strong>complementary relationship<\/strong> between these elements lets different products exchange information without becoming a single platform. ActivityPub supplies communication rules; the fediverse is the social and technical environment formed when many independent services use them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ActivityPub is the open protocol used to federate social platforms. Learn how actors, activities, inboxes, outboxes and server delivery work.<\/p>\n","protected":false},"author":6,"featured_media":81459,"template":"","encyclopedia-tag":[365],"class_list":["post-81454","encyclopedia","type-encyclopedia","status-publish","has-post-thumbnail","hentry","encyclopedia-tag-fediverso-en"],"_links":{"self":[{"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/encyclopedia\/81454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/encyclopedia"}],"about":[{"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/types\/encyclopedia"}],"author":[{"embeddable":true,"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/users\/6"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/media\/81459"}],"wp:attachment":[{"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/media?parent=81454"}],"wp:term":[{"taxonomy":"encyclopedia-tag","embeddable":true,"href":"https:\/\/www.arimetrics.com\/en\/wp-json\/wp\/v2\/encyclopedia-tag?post=81454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}