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.
{
"@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
}
}
]
}