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", { "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", "toot": "http://joinmastodon.org/ns#", "featured": { "@id": "toot:featured", "@type": "@id" }, "featuredTags": { "@id": "toot:featuredTags", "@type": "@id" }, "alsoKnownAs": { "@id": "as:alsoKnownAs", "@type": "@id" }, "movedTo": { "@id": "as:movedTo", "@type": "@id" }, "schema": "http://schema.org#", "PropertyValue": "schema:PropertyValue", "value": "schema:value", "discoverable": "toot:discoverable", "Device": "toot:Device", "Ed25519Signature": "toot:Ed25519Signature", "Ed25519Key": "toot:Ed25519Key", "Curve25519Key": "toot:Curve25519Key", "EncryptedMessage": "toot:EncryptedMessage", "publicKeyBase64": "toot:publicKeyBase64", "deviceId": "toot:deviceId", "claim": { "@type": "@id", "@id": "toot:claim" }, "fingerprintKey": { "@type": "@id", "@id": "toot:fingerprintKey" }, "identityKey": { "@type": "@id", "@id": "toot:identityKey" }, "devices": { "@type": "@id", "@id": "toot:devices" }, "messageFranking": "toot:messageFranking", "messageType": "toot:messageType", "cipherText": "toot:cipherText", "suspended": "toot:suspended", "memorial": "toot:memorial", "indexable": "toot:indexable", "Emoji": "toot:Emoji", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" }, "Hashtag": "as:Hashtag" } ], "id": "https://masto.ai/users/iuculano", "type": "Person", "following": "https://masto.ai/users/iuculano/following", "followers": "https://masto.ai/users/iuculano/followers", "inbox": "https://masto.ai/users/iuculano/inbox", "outbox": "https://masto.ai/users/iuculano/outbox", "featured": "https://masto.ai/users/iuculano/collections/featured", "featuredTags": "https://masto.ai/users/iuculano/collections/tags", "preferredUsername": "iuculano", "name": "joe•iuculano :mastodon:", "summary": "<p>Dual citizen of 2 fabulous countries, <a href=\"https://masto.ai/tags/Italy\" class=\"mention hashtag\" rel=\"tag\">#<span>Italy</span></a> &amp; <a href=\"https://masto.ai/tags/Canada\" class=\"mention hashtag\" rel=\"tag\">#<span>Canada</span></a>! 🇮🇹 🇨🇦 Mmm, <a href=\"https://masto.ai/tags/Pizza\" class=\"mention hashtag\" rel=\"tag\">#<span>Pizza</span></a> w/ Canadian <a href=\"https://masto.ai/tags/Bacon\" class=\"mention hashtag\" rel=\"tag\">#<span>Bacon</span></a>!•Doppia cittadinanza di 2 favolosi paesi, <a href=\"https://masto.ai/tags/Italia\" class=\"mention hashtag\" rel=\"tag\">#<span>Italia</span></a> &amp; Canada!</p><p>Politics is Life. Life is Politics</p><p>❤️ cannoli<br />❤️ arancini<br />❤️ tiramisù<br />❤️ espresso<br />❤️ bistecca alla fiorentina<br />❤️ maple syrup<br />❤️ poutine</p><p>Posts &amp; boosts will be in either English, French, or Italian (&amp; Sicilian, occasionally). It is what it is. Hope you enjoy the variety. If not, you know what to do.</p><p>:startrek: Live Long &amp; Prosper! 🖖</p>", "url": "https://masto.ai/@iuculano", "manuallyApprovesFollowers": false, "discoverable": false, "indexable": false, "published": "2022-11-19T00:00:00Z", "memorial": false, "devices": "https://masto.ai/users/iuculano/collections/devices", "publicKey": { "id": "https://masto.ai/users/iuculano#main-key", "owner": "https://masto.ai/users/iuculano", "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwClwLjRtywo65zxJ9yDv\ne+ccm9gg8XhmdCTMNhmJZay2hfLlw6HRFIXJFfZRFAOUPwUeG6jbQm7W9dIL/+70\nQX43UN8xT24TbTFLEN4f4s7WaxRdYiOLzEwvTU+iBbA+w81NoUMbQjeBdLGCVxbq\nkIeZrvPATONABodarqw0h+wbUoO/05nJqa7EZKV9DLp5CjG02uaTa3c677QoLjkU\no8lMBHw7knbuD4qcckcKhZrKFfTV5p8nX0IFEiXMQLei99AjwudNq3ebh5SEJefN\ni/1Y1awomhBT961oo91xnyscAj8bOcyLVXWOw3RrnjvEayaLkCbnYtbvNVAG8aOo\n3wIDAQAB\n-----END PUBLIC KEY-----\n" }, "tag": [ { "id": "https://masto.ai/emojis/265", "type": "Emoji", "name": ":startrek:", "updated": "2022-11-06T23:48:28Z", "icon": { "type": "Image", "mediaType": "image/png", "url": "https://s3.masto.ai/custom_emojis/images/000/000/265/original/b50fd3588a121e99.png" } }, { "id": "https://masto.ai/emojis/150", "type": "Emoji", "name": ":mastodon:", "updated": "2022-11-06T23:46:49Z", "icon": { "type": "Image", "mediaType": "image/png", "url": "https://s3.masto.ai/custom_emojis/images/000/000/150/original/eba832913e53f5f4.png" } }, { "type": "Hashtag", "href": "https://masto.ai/tags/pizza", "name": "#pizza" }, { "type": "Hashtag", "href": "https://masto.ai/tags/italy", "name": "#italy" }, { "type": "Hashtag", "href": "https://masto.ai/tags/canada", "name": "#canada" }, { "type": "Hashtag", "href": "https://masto.ai/tags/italia", "name": "#italia" }, { "type": "Hashtag", "href": "https://masto.ai/tags/bacon", "name": "#bacon" } ], "attachment": [ { "type": "PropertyValue", "name": "Fluent in four Languages", "value": "English, French, Italian, and Sicilian, with a little Spanish thrown in" }, { "type": "PropertyValue", "name": "Quote", "value": "Politics is Life. Life is Politics" }, { "type": "PropertyValue", "name": "Quote", "value": "To actively seek to avoid political discourse implies a reluctance to engage in discovering the essential meaning of life" }, { "type": "PropertyValue", "name": "Dear trolls and gaslighters", "value": "I don&#39;t answer to either, so you can fü¢k right off" } ], "endpoints": { "sharedInbox": "https://masto.ai/inbox" }, "icon": { "type": "Image", "mediaType": "image/jpeg", "url": "https://s3.masto.ai/accounts/avatars/109/371/463/144/920/705/original/ffe5752175556527.jpg" }, "image": { "type": "Image", "mediaType": "image/jpeg", "url": "https://s3.masto.ai/accounts/headers/109/371/463/144/920/705/original/f6657ac3095ae74c.jpg" } }