ActivityPub Viewer

A small tool to view real-world ActivityPub objects as JSON! Enter a URL or username from Mastodon or a similar service below, and we'll send a request with the right Accept header to the server to view the underlying object.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount" } ], "id": "https://toot.yosh.is/users/yosh/collections/featured", "type": "OrderedCollection", "totalItems": 1, "orderedItems": [ { "id": "https://toot.yosh.is/users/yosh/statuses/114574781703592560", "type": "Note", "summary": null, "inReplyTo": null, "published": "2025-05-26T15:13:45Z", "url": "https://toot.yosh.is/@yosh/114574781703592560", "attributedTo": "https://toot.yosh.is/users/yosh", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://toot.yosh.is/users/yosh/followers" ], "sensitive": false, "atomUri": "https://toot.yosh.is/users/yosh/statuses/114574781703592560", "inReplyToAtomUri": null, "conversation": "tag:toot.yosh.is,2025-05-26:objectId=700002:objectType=Conversation", "content": "<p>New blog post: Async Traits Can Be Directly Backed By Manual Future Impls</p><p><a href=\"https://blog.yoshuawuyts.com/async-traits-can-be-directly-backed-by-manual-future-impls/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">blog.yoshuawuyts.com/async-tra</span><span class=\"invisible\">its-can-be-directly-backed-by-manual-future-impls/</span></a></p><p>This is a pretty short one. It clarifies a common misconceptions people have about the performance of Async Functions in Traits (AFITs), showing how to back those using manually implemented future state machines. Which is important, because it means performance and convenience are not mutually exclusive.</p>", "contentMap": { "en": "<p>New blog post: Async Traits Can Be Directly Backed By Manual Future Impls</p><p><a href=\"https://blog.yoshuawuyts.com/async-traits-can-be-directly-backed-by-manual-future-impls/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">blog.yoshuawuyts.com/async-tra</span><span class=\"invisible\">its-can-be-directly-backed-by-manual-future-impls/</span></a></p><p>This is a pretty short one. It clarifies a common misconceptions people have about the performance of Async Functions in Traits (AFITs), showing how to back those using manually implemented future state machines. Which is important, because it means performance and convenience are not mutually exclusive.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://toot.yosh.is/users/yosh/statuses/114574781703592560/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://toot.yosh.is/users/yosh/statuses/114574781703592560/replies?only_other_accounts=true&page=true", "partOf": "https://toot.yosh.is/users/yosh/statuses/114574781703592560/replies", "items": [] } }, "likes": { "id": "https://toot.yosh.is/users/yosh/statuses/114574781703592560/likes", "type": "Collection", "totalItems": 6 }, "shares": { "id": "https://toot.yosh.is/users/yosh/statuses/114574781703592560/shares", "type": "Collection", "totalItems": 1 } } ] }