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", "Hashtag": "as:Hashtag" } ], "id": "https://fosstodon.org/users/dcz/statuses/114049041856734119", "type": "Note", "summary": null, "inReplyTo": null, "published": "2025-02-22T18:51:12Z", "url": "https://fosstodon.org/@dcz/114049041856734119", "attributedTo": "https://fosstodon.org/users/dcz", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://fosstodon.org/users/dcz/followers" ], "sensitive": false, "atomUri": "https://fosstodon.org/users/dcz/statuses/114049041856734119", "inReplyToAtomUri": null, "conversation": "tag:fosstodon.org,2025-02-22:objectId=291000490:objectType=Conversation", "content": "<p>Woohoo, <a href=\"https://fosstodon.org/tags/libobscura\" class=\"mention hashtag\" rel=\"tag\">#<span>libobscura</span></a> returned an image from the <a href=\"https://fosstodon.org/tags/librem5\" class=\"mention hashtag\" rel=\"tag\">#<span>librem5</span></a> !</p><p>```<br />Buffer size: 823296, seq: 0, timestamp: 18178.362439 [s]<br />Writing to frame.GRBG<br />```</p><p>Now I&#39;m scared to look at the data. It&#39;s probably garbage.</p><p>But the proof of concept is there: you can treat the Media Controller API as a database and query it for valid image pipeline configurations.</p><p>I wonder if the debayering <a href=\"https://fosstodon.org/tags/shader\" class=\"mention hashtag\" rel=\"tag\">#<span>shader</span></a> still works.</p><p>But first, clean up and publish.</p><p><a href=\"https://fosstodon.org/tags/images\" class=\"mention hashtag\" rel=\"tag\">#<span>images</span></a> <a href=\"https://fosstodon.org/tags/camera\" class=\"mention hashtag\" rel=\"tag\">#<span>camera</span></a> <a href=\"https://fosstodon.org/tags/linuxmobile\" class=\"mention hashtag\" rel=\"tag\">#<span>linuxmobile</span></a> <a href=\"https://fosstodon.org/tags/linux\" class=\"mention hashtag\" rel=\"tag\">#<span>linux</span></a> <a href=\"https://fosstodon.org/tags/rust\" class=\"mention hashtag\" rel=\"tag\">#<span>rust</span></a></p>", "contentMap": { "en": "<p>Woohoo, <a href=\"https://fosstodon.org/tags/libobscura\" class=\"mention hashtag\" rel=\"tag\">#<span>libobscura</span></a> returned an image from the <a href=\"https://fosstodon.org/tags/librem5\" class=\"mention hashtag\" rel=\"tag\">#<span>librem5</span></a> !</p><p>```<br />Buffer size: 823296, seq: 0, timestamp: 18178.362439 [s]<br />Writing to frame.GRBG<br />```</p><p>Now I&#39;m scared to look at the data. It&#39;s probably garbage.</p><p>But the proof of concept is there: you can treat the Media Controller API as a database and query it for valid image pipeline configurations.</p><p>I wonder if the debayering <a href=\"https://fosstodon.org/tags/shader\" class=\"mention hashtag\" rel=\"tag\">#<span>shader</span></a> still works.</p><p>But first, clean up and publish.</p><p><a href=\"https://fosstodon.org/tags/images\" class=\"mention hashtag\" rel=\"tag\">#<span>images</span></a> <a href=\"https://fosstodon.org/tags/camera\" class=\"mention hashtag\" rel=\"tag\">#<span>camera</span></a> <a href=\"https://fosstodon.org/tags/linuxmobile\" class=\"mention hashtag\" rel=\"tag\">#<span>linuxmobile</span></a> <a href=\"https://fosstodon.org/tags/linux\" class=\"mention hashtag\" rel=\"tag\">#<span>linux</span></a> <a href=\"https://fosstodon.org/tags/rust\" class=\"mention hashtag\" rel=\"tag\">#<span>rust</span></a></p>" }, "attachment": [], "tag": [ { "type": "Hashtag", "href": "https://fosstodon.org/tags/libobscura", "name": "#libobscura" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/librem5", "name": "#librem5" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/shader", "name": "#shader" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/images", "name": "#images" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/camera", "name": "#camera" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/linuxmobile", "name": "#linuxmobile" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/linux", "name": "#linux" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/rust", "name": "#rust" } ], "replies": { "id": "https://fosstodon.org/users/dcz/statuses/114049041856734119/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://fosstodon.org/users/dcz/statuses/114049041856734119/replies?only_other_accounts=true&page=true", "partOf": "https://fosstodon.org/users/dcz/statuses/114049041856734119/replies", "items": [] } }, "likes": { "id": "https://fosstodon.org/users/dcz/statuses/114049041856734119/likes", "type": "Collection", "totalItems": 27 }, "shares": { "id": "https://fosstodon.org/users/dcz/statuses/114049041856734119/shares", "type": "Collection", "totalItems": 10 } }