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", "litepub": "http://litepub.social/ns#", "directMessage": "litepub:directMessage", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" }, "Hashtag": "as:Hashtag" } ], "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134/replies", "type": "Collection", "first": { "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134/replies?page=true", "type": "CollectionPage", "next": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134/replies", "items": [ { "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867", "type": "Note", "summary": null, "inReplyTo": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134", "published": "2024-10-04T19:52:57Z", "url": "https://infosec.exchange/@GuillaumeRossolini/113250898901431867", "attributedTo": "https://infosec.exchange/users/GuillaumeRossolini", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/GuillaumeRossolini/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867", "inReplyToAtomUri": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113227999879395134", "conversation": "tag:infosec.exchange,2024-09-06:objectId=191694493:objectType=Conversation", "content": "<p>Attached is a video of the <a href=\"https://infosec.exchange/tags/esp32\" class=\"mention hashtag\" rel=\"tag\">#<span>esp32</span></a> happily blinking its payloads across WiFi networks to the <a href=\"https://infosec.exchange/tags/RaspberryPi\" class=\"mention hashtag\" rel=\"tag\">#<span>RaspberryPi</span></a> Zero, for storage in the <a href=\"https://infosec.exchange/tags/sqlite\" class=\"mention hashtag\" rel=\"tag\">#<span>sqlite</span></a> database</p><p>Thousands of readings per day (about 1300 each sensor so far, today), all sensors being within 15 readings of each other, I’d call that stable</p><p>I’m happy to notice that when a board fails, it eventually recovers on its own (it takes several hours, though)</p>", "contentMap": { "en": "<p>Attached is a video of the <a href=\"https://infosec.exchange/tags/esp32\" class=\"mention hashtag\" rel=\"tag\">#<span>esp32</span></a> happily blinking its payloads across WiFi networks to the <a href=\"https://infosec.exchange/tags/RaspberryPi\" class=\"mention hashtag\" rel=\"tag\">#<span>RaspberryPi</span></a> Zero, for storage in the <a href=\"https://infosec.exchange/tags/sqlite\" class=\"mention hashtag\" rel=\"tag\">#<span>sqlite</span></a> database</p><p>Thousands of readings per day (about 1300 each sensor so far, today), all sensors being within 15 readings of each other, I’d call that stable</p><p>I’m happy to notice that when a board fails, it eventually recovers on its own (it takes several hours, though)</p>" }, "attachment": [ { "type": "Document", "mediaType": "video/mp4", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/113/250/863/635/065/543/original/4b9c39ab261d4a8d.mp4", "name": "Video of a dark room with a steady red light and a blinking blue light", "blurhash": "U00J2GfSWrjusSWUWnjsspjva~jujra_Wna{", "focalPoint": [ -0.13, 0.2 ], "width": 1080, "height": 1920 } ], "tag": [ { "type": "Hashtag", "href": "https://infosec.exchange/tags/esp32", "name": "#esp32" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/raspberrypi", "name": "#raspberrypi" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/sqlite", "name": "#sqlite" } ], "replies": { "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867/replies?min_id=113308075312300689&page=true", "partOf": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867/replies", "items": [ "https://infosec.exchange/users/GuillaumeRossolini/statuses/113308075312300689" ] } }, "likes": { "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867/likes", "type": "Collection", "totalItems": 3 }, "shares": { "id": "https://infosec.exchange/users/GuillaumeRossolini/statuses/113250898901431867/shares", "type": "Collection", "totalItems": 0 } } ] } }