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.
{
"@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
}