Enterprise format · Growth plan

ActivityPub

activity.jsonSpec at w3.org

Federated identity for social AI.

4 / 5GEO score
JSON · Geordyactivity.json
Why it matters

ActivityPub is the W3C standard server-to-server and client-to-server protocol that powers the Fediverse (Mastodon, Pixelfed, PeerTube, Lemmy, Threads federation), letting AI agents and crawlers consume and publish social content as portable, JSON-LD-typed Activity Streams. Because every actor and object has a stable URI and a machine-typed JSON-LD context, content is structured for retrieval and attribution rather than scraped HTML.

Geordy generates this format for every page on your site that warrants it — auto-detected by page type, served from your subdomain, and refreshed on the cadence below.

Sample outputactivity.json
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Create",
  "actor": {
    "type": "Person",
    "id": "https://mastodon.social/@alice",
    "name": "Alice"
  },
  "object": {
    "type": "Note",
    "content": "<p>Hello, Fediverse!</p>"
  }
}
Get it right

How to make this format work for AI.

DoBest practices
  • Always include the JSON-LD @context (`https://www.w3.org/ns/activitystreams` plus `security/v1` when signing) and serve Activity objects with `Content-Type: application/activity+json`.
  • Use HTTP Signatures on all server-to-server POSTs to inboxes; verify signatures and the actor's publicKeyPem on receipt.
  • Implement idempotent inbox handling (deduplicate by activity id) and respect Accept/Reject for follow requests rather than auto-accepting.
  • Expose actor metadata via WebFinger (`.well-known/webfinger`) so user@host lookups resolve to the actor IRI.
AvoidCommon pitfalls
  • Treating delivery as synchronous - inboxes must be processed asynchronously and retried with backoff to handle slow/offline peers.
  • Sending un-signed activities or accepting un-signed activities, which breaks federation with Mastodon and exposes spoofing risks.
  • Confusing the Object id (a dereferenceable URI) with a database primary key; ids must be HTTPS URLs that resolve to the canonical JSON-LD representation.
Where it shines

Use cases, scored for AI visibility.

Decentralized social networksGEO 5/5
Content federationGEO 4/5
Social analyticsGEO 3/5
Used in production by

Real sites already shipping ActivityPub.

Working with it

Tools & resources for ActivityPub.

The trade-offs
Strengths
  • Open, decentralized protocol
  • Interoperability across Fediverse platforms
  • JSON-LD is parseable by AI systems
Spec sheet
Filename
activity.json
Refresh cadence
weekly
Released
2018 · W3C Social Web Working Group
Read byFederated AIMastodon agentsFediverse crawlers
Other enterprise formats

Generate every format at once.

Geordy emits all sixteen - auto-selected per page type, served from your subdomain. Set up in fifteen minutes.

ActivityPub (.json) format — spec, examples and AI readers | Geordy