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://macaw.social/users/thinkingfish/statuses/111049220858544975/activity", "type": "Create", "actor": "https://macaw.social/users/thinkingfish", "published": "2023-09-11T23:57:16Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://macaw.social/users/thinkingfish/followers", "https://discuss.systems/users/epcjones", "https://nondeterministic.computer/users/martin", "https://fediscience.org/users/marcbrooker", "https://discuss.systems/users/irene", "https://discuss.systems/users/dan", "https://mastodon.social/users/danluu" ], "object": { "id": "https://macaw.social/users/thinkingfish/statuses/111049220858544975", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-09-11T23:57:16Z", "url": "https://macaw.social/@thinkingfish/111049220858544975", "attributedTo": "https://macaw.social/users/thinkingfish", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://macaw.social/users/thinkingfish/followers", "https://discuss.systems/users/epcjones", "https://nondeterministic.computer/users/martin", "https://fediscience.org/users/marcbrooker", "https://discuss.systems/users/irene", "https://discuss.systems/users/dan", "https://mastodon.social/users/danluu" ], "sensitive": false, "atomUri": "https://macaw.social/users/thinkingfish/statuses/111049220858544975", "inReplyToAtomUri": null, "conversation": "tag:nondeterministic.computer,2023-09-11:objectId=2825665:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@epcjones\" class=\"u-url mention\">@<span>epcjones</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://nondeterministic.computer/@martin\" class=\"u-url mention\">@<span>martin</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fediscience.org/@marcbrooker\" class=\"u-url mention\">@<span>marcbrooker</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@irene\" class=\"u-url mention\">@<span>irene</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@dan\" class=\"u-url mention\">@<span>dan</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@danluu\" class=\"u-url mention\">@<span>danluu</span></a></span> Specifically about Twitter— since Evan quoted the blog post, we opted for client-side caching because 1. most hotkeys were either immutable (eg. tweets*) or loose on correctness (eg. counts); 2. for far too long there was a ridiculously low network bandwidth limitation so anything else wouldn’t work. We never even attempted the server-side, sharding based solutions. If you can get away with client-side caching it’s just so much more scalable.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@epcjones\" class=\"u-url mention\">@<span>epcjones</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://nondeterministic.computer/@martin\" class=\"u-url mention\">@<span>martin</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fediscience.org/@marcbrooker\" class=\"u-url mention\">@<span>marcbrooker</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@irene\" class=\"u-url mention\">@<span>irene</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://discuss.systems/@dan\" class=\"u-url mention\">@<span>dan</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@danluu\" class=\"u-url mention\">@<span>danluu</span></a></span> Specifically about Twitter— since Evan quoted the blog post, we opted for client-side caching because 1. most hotkeys were either immutable (eg. tweets*) or loose on correctness (eg. counts); 2. for far too long there was a ridiculously low network bandwidth limitation so anything else wouldn’t work. We never even attempted the server-side, sharding based solutions. If you can get away with client-side caching it’s just so much more scalable.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://discuss.systems/users/epcjones", "name": "@epcjones@discuss.systems" }, { "type": "Mention", "href": "https://nondeterministic.computer/users/martin", "name": "@martin@nondeterministic.computer" }, { "type": "Mention", "href": "https://fediscience.org/users/marcbrooker", "name": "@marcbrooker@fediscience.org" }, { "type": "Mention", "href": "https://discuss.systems/users/irene", "name": "@irene@discuss.systems" }, { "type": "Mention", "href": "https://discuss.systems/users/dan", "name": "@dan@discuss.systems" }, { "type": "Mention", "href": "https://mastodon.social/users/danluu", "name": "@danluu@mastodon.social" } ], "replies": { "id": "https://macaw.social/users/thinkingfish/statuses/111049220858544975/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://macaw.social/users/thinkingfish/statuses/111049220858544975/replies?min_id=111049228157360646&page=true", "partOf": "https://macaw.social/users/thinkingfish/statuses/111049220858544975/replies", "items": [ "https://macaw.social/users/thinkingfish/statuses/111049228157360646" ] } }, "likes": { "id": "https://macaw.social/users/thinkingfish/statuses/111049220858544975/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://macaw.social/users/thinkingfish/statuses/111049220858544975/shares", "type": "Collection", "totalItems": 0 } } }