Activity Streams 2.0 is a W3C Recommendation defining a JSON-based syntax and vocabulary for representing social activities and objects. It is the data model used by ActivityPub and the federated social web.
ActivityStreams
ActivityStreams 2.0 is a W3C Recommendation that defines a JSON-based syntax and vocabulary for describing social activities and the objects they act on — a person “Create”-ing a “Note,” “Follow”-ing an “Actor,” or “Like”-ing an “Image.” Split into a core syntax and an extended vocabulary, it gives the social web a shared, machine-readable grammar for “who did what to what, and when.” It is the data model that ActivityPub carries across the federated social web.
- Core syntax - A JSON (and JSON-LD compatible) structure for actors, activities, objects, and their relationships.
- Extended vocabulary - A standard set of activity and object types like Create, Follow, Like, Note, and Image so implementations agree on meaning.
- JSON-LD grounding - Built on linked-data conventions, allowing the vocabulary to be extended without breaking interoperability.
- Protocol-independent - Usable on its own to model activity feeds, not only inside federation protocols.
In real operations, ActivityStreams 2.0 is the payload standard beneath federated APIs: every message ActivityPub servers exchange is an ActivityStreams object, so the vocabulary is what actually makes cross-server interoperability possible. Beyond the fediverse, its typed activity-and-object model is a clean, reusable pattern for any API that needs to represent event or activity feeds in a consistent, extensible way. As more systems emit machine-readable activity data for agents to consume, a shared vocabulary like this becomes increasingly valuable.