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", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" }, "Hashtag": "as:Hashtag" } ], "id": "https://gameliberty.club/users/xianc78/statuses/114095596246578416", "type": "Note", "summary": "gamedev", "inReplyTo": "https://gameliberty.club/users/xianc78/statuses/114095230725649940", "published": "2025-03-03T00:10:36Z", "url": "https://gameliberty.club/@xianc78/114095596246578416", "attributedTo": "https://gameliberty.club/users/xianc78", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://gameliberty.club/users/xianc78/followers" ], "sensitive": true, "atomUri": "https://gameliberty.club/users/xianc78/statuses/114095596246578416", "inReplyToAtomUri": "https://gameliberty.club/users/xianc78/statuses/114095230725649940", "conversation": "tag:gameliberty.club,2024-01-16:objectId=104018310:objectType=Conversation", "content": "<p>Added a delay after the player sprite disappears and before the level restarts. I kind of cheated by just copying the same transparent frame like 6 times just to give the illusion that there is a delay between the death animation finishing and the level restart, but the animation is still going up until the restart of the level.</p><p><a href=\"https://gameliberty.club/tags/gamedev\" class=\"mention hashtag\" rel=\"tag\">#<span>gamedev</span></a> <a href=\"https://gameliberty.club/tags/gamedevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>gamedevelopment</span></a> <a href=\"https://gameliberty.club/tags/indiegamedev\" class=\"mention hashtag\" rel=\"tag\">#<span>indiegamedev</span></a> <a href=\"https://gameliberty.club/tags/indiedev\" class=\"mention hashtag\" rel=\"tag\">#<span>indiedev</span></a> <a href=\"https://gameliberty.club/tags/indiegames\" class=\"mention hashtag\" rel=\"tag\">#<span>indiegames</span></a> <a href=\"https://gameliberty.club/tags/indie\" class=\"mention hashtag\" rel=\"tag\">#<span>indie</span></a> <a href=\"https://gameliberty.club/tags/SFML\" class=\"mention hashtag\" rel=\"tag\">#<span>SFML</span></a> <a href=\"https://gameliberty.club/tags/cplusplus\" class=\"mention hashtag\" rel=\"tag\">#<span>cplusplus</span></a></p>", "contentMap": { "en": "<p>Added a delay after the player sprite disappears and before the level restarts. I kind of cheated by just copying the same transparent frame like 6 times just to give the illusion that there is a delay between the death animation finishing and the level restart, but the animation is still going up until the restart of the level.</p><p><a href=\"https://gameliberty.club/tags/gamedev\" class=\"mention hashtag\" rel=\"tag\">#<span>gamedev</span></a> <a href=\"https://gameliberty.club/tags/gamedevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>gamedevelopment</span></a> <a href=\"https://gameliberty.club/tags/indiegamedev\" class=\"mention hashtag\" rel=\"tag\">#<span>indiegamedev</span></a> <a href=\"https://gameliberty.club/tags/indiedev\" class=\"mention hashtag\" rel=\"tag\">#<span>indiedev</span></a> <a href=\"https://gameliberty.club/tags/indiegames\" class=\"mention hashtag\" rel=\"tag\">#<span>indiegames</span></a> <a href=\"https://gameliberty.club/tags/indie\" class=\"mention hashtag\" rel=\"tag\">#<span>indie</span></a> <a href=\"https://gameliberty.club/tags/SFML\" class=\"mention hashtag\" rel=\"tag\">#<span>SFML</span></a> <a href=\"https://gameliberty.club/tags/cplusplus\" class=\"mention hashtag\" rel=\"tag\">#<span>cplusplus</span></a></p>" }, "attachment": [ { "type": "Document", "mediaType": "video/mp4", "url": "https://media.gameliberty.club/media/media_attachments/files/114/095/594/487/184/624/original/156ea80230573250.mp4", "name": null, "blurhash": "U57n8#JTRj$j^7I;t7$j~CEfWU$j#SJRtR$j", "width": 1920, "height": 1080 } ], "tag": [ { "type": "Hashtag", "href": "https://gameliberty.club/tags/gamedev", "name": "#gamedev" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/gamedevelopment", "name": "#gamedevelopment" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/indiegamedev", "name": "#indiegamedev" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/indiedev", "name": "#indiedev" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/indiegames", "name": "#indiegames" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/indie", "name": "#indie" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/sfml", "name": "#sfml" }, { "type": "Hashtag", "href": "https://gameliberty.club/tags/cplusplus", "name": "#cplusplus" } ], "replies": { "id": "https://gameliberty.club/users/xianc78/statuses/114095596246578416/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://gameliberty.club/users/xianc78/statuses/114095596246578416/replies?min_id=114146323719101660&page=true", "partOf": "https://gameliberty.club/users/xianc78/statuses/114095596246578416/replies", "items": [ "https://gameliberty.club/users/xianc78/statuses/114146323719101660" ] } } }