ActivityPub Actor Types
ActivityStreams 2.0 §4.1 defines five actor types. Every entity in the Fediverse – users, communities, bots, servers – is one of these. The type determines how clients and servers display and interact with the actor.
5
Actor Types
Person
ActivityStreams §4.1Person represents a human user. It is the most common actor type in the Fediverse. Used by Mastodon user accounts, Pixelfed user profiles, and PeerTube channel owners. A Person actor has an inbox, outbox, followers, and following collection. Discovery via WebFinger: @username@domain resolves to the Person actor URL.
Group
ActivityStreams §4.1Group represents a collection of actors that can receive and forward activities to members. Used by Lemmy communities, Friendica groups, and Hubzilla forums. When a Group receives a Create activity in its inbox, it announces (boosts) the activity to all followers, acting as a community hub for topic-based discussion.
Organization
ActivityStreams §4.1Organization represents a formal organization, company, or institution. Semantically similar to Group but intended for organizations rather than informal communities. Less commonly used than Person or Group in current Fediverse deployments. ActivityStreams does not define significantly different behavior from Group.
Service
ActivityStreams §4.1Service represents an automated account or bot that performs a specific function. Used by Mastodon relay actors, bridge bots (Bridgy Fed), moderation bots, and automated content aggregators. The Service type signals to clients that the actor is not a human and behaves programmatically.
Application
ActivityStreams §4.1Application represents an entire application or software system acting as an ActivityPub actor. Used for server-level actors – the Mastodon instance actor, for example, is an Application type. The instance actor signs HTTP requests on behalf of the server itself (for server-to-server operations that are not tied to a specific user, like fetching remote actor documents).
All actors share the same federation protocol: Every actor type has an inbox and outbox. The type is semantic – it signals intent to clients, not different wire behavior. Source: ActivityStreams §4.1 →