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", "https://w3id.org/security/v1", { "RsaSignature2017": "https://w3id.org/security#RsaSignature2017" }, { "pt": "https://joinpeertube.org/ns#", "sc": "http://schema.org/", "Hashtag": "as:Hashtag", "category": "sc:category", "licence": "sc:license", "subtitleLanguage": "sc:subtitleLanguage", "automaticallyGenerated": "pt:automaticallyGenerated", "sensitive": "as:sensitive", "language": "sc:inLanguage", "identifier": "sc:identifier", "isLiveBroadcast": "sc:isLiveBroadcast", "liveSaveReplay": { "@type": "sc:Boolean", "@id": "pt:liveSaveReplay" }, "permanentLive": { "@type": "sc:Boolean", "@id": "pt:permanentLive" }, "latencyMode": { "@type": "sc:Number", "@id": "pt:latencyMode" }, "Infohash": "pt:Infohash", "SensitiveTag": "pt:SensitiveTag", "tileWidth": { "@type": "sc:Number", "@id": "pt:tileWidth" }, "tileHeight": { "@type": "sc:Number", "@id": "pt:tileHeight" }, "tileDuration": { "@type": "sc:Number", "@id": "pt:tileDuration" }, "aspectRatio": { "@type": "sc:Float", "@id": "pt:aspectRatio" }, "uuid": { "@type": "sc:identifier", "@id": "pt:uuid" }, "originallyPublishedAt": "sc:datePublished", "uploadDate": "sc:uploadDate", "hasParts": "sc:hasParts", "views": { "@type": "sc:Number", "@id": "pt:views" }, "state": { "@type": "sc:Number", "@id": "pt:state" }, "size": { "@type": "sc:Number", "@id": "pt:size" }, "fps": { "@type": "sc:Number", "@id": "pt:fps" }, "commentsEnabled": { "@type": "sc:Boolean", "@id": "pt:commentsEnabled" }, "canReply": "pt:canReply", "commentsPolicy": { "@type": "sc:Number", "@id": "pt:commentsPolicy" }, "downloadEnabled": { "@type": "sc:Boolean", "@id": "pt:downloadEnabled" }, "waitTranscoding": { "@type": "sc:Boolean", "@id": "pt:waitTranscoding" }, "support": { "@type": "sc:Text", "@id": "pt:support" }, "likes": { "@id": "as:likes", "@type": "@id" }, "dislikes": { "@id": "as:dislikes", "@type": "@id" }, "shares": { "@id": "as:shares", "@type": "@id" }, "comments": { "@id": "as:comments", "@type": "@id" }, "PropertyValue": "sc:PropertyValue", "value": "sc:value" } ], "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://video.canadiancivil.com/accounts/reece/followers" ], "type": "Video", "id": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b", "name": "This Tiny Austrian Village has an U-Bahn?! (w/ TSF Transport)", "duration": "PT652S", "uuid": "16ac1de4-bd68-434f-bc81-a710d39cdd5b", "language": { "identifier": "en", "name": "English" }, "views": 110, "sensitive": false, "summary": null, "waitTranscoding": true, "state": 1, "commentsEnabled": true, "canReply": null, "commentsPolicy": 1, "downloadEnabled": true, "published": "2025-05-30T13:43:51.110Z", "originallyPublishedAt": "2025-05-30T00:00:00.000Z", "updated": "2025-06-24T06:12:42.566Z", "tag": [ { "type": "Hashtag", "name": "rail" }, { "type": "Hashtag", "name": "railfan" }, { "type": "Hashtag", "name": "railway" }, { "type": "Hashtag", "name": "transit" }, { "type": "Hashtag", "name": "transportation" } ], "mediaType": "text/markdown", "content": "Watch this video ad-free on Nebula: https://nebula.tv/videos/rmtransit-riding-the-serfaus-ubahn-with-tsf-transport\n\nTSF Transport uncovers unique railway lines, stations, and future transport projects in Austria and beyond. Check out this video on the U-Bahn Serfaus - an underground railway in a small Austrian village!\n\nSupport the Channel and Get Exclusive Content: https://www.patreon.com/rmtransit\n\nMy Blog: https://reecemartin.ca\nBluesky: https://bsky.app/profile/rmtransit.bsky.social\nTwitter: https://twitter.com/RM_Transit\nInstagram: https://instagram.com/rm_transit\nMastodon: https://masto.canadiancivil.com/@reece\nThreads: https://www.threads.net/@rm_transit\n\nCommunity Discord Server: https://discord.gg/jfz3fqT\n\nMusic from Epidemic Sound: https://share.epidemicsound.com/nptgfg\nMap Data © OpenStreetMap contributors", "support": null, "subtitleLanguage": [ { "identifier": "en", "name": "English", "automaticallyGenerated": true, "url": "https://cdn.f-h.co//canadiancivil-captions/bce67ee7-1125-4366-9687-55281ca7c900-en.vtt" } ], "icon": [ { "type": "Image", "url": "https://video.canadiancivil.com/lazy-static/thumbnails/9738570c-9519-42d9-ba92-6c4340c9e685.jpg", "mediaType": "image/jpeg", "width": 280, "height": 157 }, { "type": "Image", "url": "https://video.canadiancivil.com/lazy-static/previews/f999d83f-a75b-4427-9b6f-e813ef2caa03.jpg", "mediaType": "image/jpeg", "width": 850, "height": 480 } ], "aspectRatio": 1.7778, "url": [ { "type": "Link", "mediaType": "text/html", "href": "https://video.canadiancivil.com/w/3No7psBP14KCfgnr9TdDMD" }, { "type": "Link", "mediaType": "text/html", "href": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b" }, { "type": "Link", "mediaType": "application/x-mpegURL", "href": "https://cdn.f-h.co//canadiancivil-playlists/hls/16ac1de4-bd68-434f-bc81-a710d39cdd5b/6ae52b46-9486-4e06-ae53-d411b574a5c6-master.m3u8", "tag": [ { "type": "Infohash", "name": "6d6b68773858666b4e447535303845714f4c2b2b" }, { "type": "Infohash", "name": "2b6163466d717631595844762b45376b70397558" }, { "type": "Link", "name": "sha256", "mediaType": "application/json", "href": "https://cdn.f-h.co//canadiancivil-playlists/hls/16ac1de4-bd68-434f-bc81-a710d39cdd5b/50cefd75-193f-4446-bb7b-b1d42011daab-segments-sha256.json" }, { "type": "Link", "mediaType": "video/mp4", "href": "https://cdn.f-h.co//canadiancivil-playlists/hls/16ac1de4-bd68-434f-bc81-a710d39cdd5b/e4a38b71-44d0-42f6-9a64-9e27b9e9fa35-1080-fragmented.mp4", "height": 1080, "width": 1920, "size": 174203681, "fps": 25, "attachment": [ { "type": "PropertyValue", "name": "ffprobe_codec_type", "value": "audio" }, { "type": "PropertyValue", "name": "ffprobe_codec_type", "value": "video" }, { "type": "PropertyValue", "name": "peertube_format_flag", "value": "fragmented" } ] }, { "type": "Link", "rel": [ "metadata", "video/mp4" ], "mediaType": "application/json", "href": "https://video.canadiancivil.com/api/v1/videos/16ac1de4-bd68-434f-bc81-a710d39cdd5b/metadata/165383", "height": 1080, "width": 1920, "fps": 25 }, { "type": "Link", "mediaType": "application/x-bittorrent", "href": "https://video.canadiancivil.com/lazy-static/torrents/247c3372-6943-4237-80c3-a1be48dfa5eb-1080-hls.torrent", "height": 1080, "width": 1920, "fps": 25 }, { "type": "Link", "mediaType": "application/x-bittorrent;x-scheme-handler/magnet", "href": "magnet:?xs=https%3A%2F%2Fvideo.canadiancivil.com%2Flazy-static%2Ftorrents%2F247c3372-6943-4237-80c3-a1be48dfa5eb-1080-hls.torrent&xt=urn:btih:3a957fde87f5148d4fd1d1f71a8abdf47e9f493f&dn=This+Tiny+Austrian+Village+has+an+U-Bahn%3F!+(w%2F+TSF+Transport)&tr=https%3A%2F%2Fvideo.canadiancivil.com%2Ftracker%2Fannounce&tr=wss%3A%2F%2Fvideo.canadiancivil.com%3A443%2Ftracker%2Fsocket&ws=https%3A%2F%2Fcdn.f-h.co%2F%2Fcanadiancivil-playlists%2Fhls%2F16ac1de4-bd68-434f-bc81-a710d39cdd5b%2Fe4a38b71-44d0-42f6-9a64-9e27b9e9fa35-1080-fragmented.mp4", "height": 1080, "width": 1920, "fps": 25 }, { "type": "Link", "mediaType": "video/mp4", "href": "https://cdn.f-h.co//canadiancivil-playlists/hls/16ac1de4-bd68-434f-bc81-a710d39cdd5b/6ba033c9-2d83-4a54-a503-240be3dc1150-360-fragmented.mp4", "height": 360, "width": 640, "size": 47570646, "fps": 25, "attachment": [ { "type": "PropertyValue", "name": "ffprobe_codec_type", "value": "audio" }, { "type": "PropertyValue", "name": "ffprobe_codec_type", "value": "video" }, { "type": "PropertyValue", "name": "peertube_format_flag", "value": "fragmented" } ] }, { "type": "Link", "rel": [ "metadata", "video/mp4" ], "mediaType": "application/json", "href": "https://video.canadiancivil.com/api/v1/videos/16ac1de4-bd68-434f-bc81-a710d39cdd5b/metadata/165382", "height": 360, "width": 640, "fps": 25 }, { "type": "Link", "mediaType": "application/x-bittorrent", "href": "https://video.canadiancivil.com/lazy-static/torrents/76d9bd73-e416-420e-a451-d0608d033f57-360-hls.torrent", "height": 360, "width": 640, "fps": 25 }, { "type": "Link", "mediaType": "application/x-bittorrent;x-scheme-handler/magnet", "href": "magnet:?xs=https%3A%2F%2Fvideo.canadiancivil.com%2Flazy-static%2Ftorrents%2F76d9bd73-e416-420e-a451-d0608d033f57-360-hls.torrent&xt=urn:btih:71097587b9876d89198ba43b3c78c5044220b4f0&dn=This+Tiny+Austrian+Village+has+an+U-Bahn%3F!+(w%2F+TSF+Transport)&tr=https%3A%2F%2Fvideo.canadiancivil.com%2Ftracker%2Fannounce&tr=wss%3A%2F%2Fvideo.canadiancivil.com%3A443%2Ftracker%2Fsocket&ws=https%3A%2F%2Fcdn.f-h.co%2F%2Fcanadiancivil-playlists%2Fhls%2F16ac1de4-bd68-434f-bc81-a710d39cdd5b%2F6ba033c9-2d83-4a54-a503-240be3dc1150-360-fragmented.mp4", "height": 360, "width": 640, "fps": 25 } ] }, { "type": "Link", "name": "tracker-http", "rel": [ "tracker", "http" ], "href": "https://video.canadiancivil.com/tracker/announce" }, { "type": "Link", "name": "tracker-websocket", "rel": [ "tracker", "websocket" ], "href": "wss://video.canadiancivil.com:443/tracker/socket" } ], "likes": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b/likes", "dislikes": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b/dislikes", "shares": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b/announces", "comments": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b/comments", "hasParts": "https://video.canadiancivil.com/videos/watch/16ac1de4-bd68-434f-bc81-a710d39cdd5b/chapters", "attributedTo": [ { "type": "Person", "id": "https://video.canadiancivil.com/accounts/reece" }, { "type": "Group", "id": "https://video.canadiancivil.com/video-channels/transit" } ], "isLiveBroadcast": false, "liveSaveReplay": null, "permanentLive": null, "latencyMode": null }