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", "Hashtag": "as:Hashtag", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" } } ], "id": "https://urbanists.social/users/markstos/collections/featured", "type": "OrderedCollection", "totalItems": 3, "orderedItems": [ { "id": "https://urbanists.social/users/markstos/statuses/114118319361616345", "type": "Note", "summary": null, "inReplyTo": null, "published": "2025-03-07T00:29:23Z", "url": "https://urbanists.social/@markstos/114118319361616345", "attributedTo": "https://urbanists.social/users/markstos", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://urbanists.social/users/markstos/followers" ], "sensitive": false, "atomUri": "https://urbanists.social/users/markstos/statuses/114118319361616345", "inReplyToAtomUri": null, "conversation": "tag:urbanists.social,2025-03-07:objectId=97634656:objectType=Conversation", "content": "<p>355 small and mid-sized towns in the US now have AI-generated newsletter sites that appear to local. They make money by summarizing local news and adding ads.</p><p>Here’s the story of how investigating one such site led to discovering a whole network of doppelgängers with questionable practices. </p><p><a href=\"https://limestonepostmagazine.com/today-in-bloomington-not-local-newsletter/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">limestonepostmagazine.com/toda</span><span class=\"invisible\">y-in-bloomington-not-local-newsletter/</span></a></p><p><a href=\"https://urbanists.social/tags/ai\" class=\"mention hashtag\" rel=\"tag\">#<span>ai</span></a> <a href=\"https://urbanists.social/tags/journalism\" class=\"mention hashtag\" rel=\"tag\">#<span>journalism</span></a></p>", "contentMap": { "en": "<p>355 small and mid-sized towns in the US now have AI-generated newsletter sites that appear to local. They make money by summarizing local news and adding ads.</p><p>Here’s the story of how investigating one such site led to discovering a whole network of doppelgängers with questionable practices. </p><p><a href=\"https://limestonepostmagazine.com/today-in-bloomington-not-local-newsletter/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">limestonepostmagazine.com/toda</span><span class=\"invisible\">y-in-bloomington-not-local-newsletter/</span></a></p><p><a href=\"https://urbanists.social/tags/ai\" class=\"mention hashtag\" rel=\"tag\">#<span>ai</span></a> <a href=\"https://urbanists.social/tags/journalism\" class=\"mention hashtag\" rel=\"tag\">#<span>journalism</span></a></p>" }, "attachment": [], "tag": [ { "type": "Hashtag", "href": "https://urbanists.social/tags/ai", "name": "#ai" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/journalism", "name": "#journalism" } ], "replies": { "id": "https://urbanists.social/users/markstos/statuses/114118319361616345/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://urbanists.social/users/markstos/statuses/114118319361616345/replies?only_other_accounts=true&page=true", "partOf": "https://urbanists.social/users/markstos/statuses/114118319361616345/replies", "items": [] } }, "likes": { "id": "https://urbanists.social/users/markstos/statuses/114118319361616345/likes", "type": "Collection", "totalItems": 20 }, "shares": { "id": "https://urbanists.social/users/markstos/statuses/114118319361616345/shares", "type": "Collection", "totalItems": 25 } }, { "id": "https://urbanists.social/users/markstos/statuses/113578621139070371", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-12-01T16:57:01Z", "url": "https://urbanists.social/@markstos/113578621139070371", "attributedTo": "https://urbanists.social/users/markstos", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://urbanists.social/users/markstos/followers" ], "sensitive": false, "atomUri": "https://urbanists.social/users/markstos/statuses/113578621139070371", "inReplyToAtomUri": null, "conversation": "tag:urbanists.social,2024-12-01:objectId=84466983:objectType=Conversation", "content": "<p>New Post: Intersection Crash Analysis with QGIS</p><p><a href=\"https://mark.stosberg.com/intersection-crash-analysis-with-qgis/?ref=mastodon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mark.stosberg.com/intersection</span><span class=\"invisible\">-crash-analysis-with-qgis/?ref=mastodon</span></a></p><p>The post shares four methods for crash analysis and compares them.</p><p><a href=\"https://urbanists.social/tags/mapping\" class=\"mention hashtag\" rel=\"tag\">#<span>mapping</span></a> <a href=\"https://urbanists.social/tags/urbanplanning\" class=\"mention hashtag\" rel=\"tag\">#<span>urbanplanning</span></a> <a href=\"https://urbanists.social/tags/gis\" class=\"mention hashtag\" rel=\"tag\">#<span>gis</span></a> <a href=\"https://urbanists.social/tags/gischat\" class=\"mention hashtag\" rel=\"tag\">#<span>gischat</span></a> <a href=\"https://urbanists.social/tags/qgis\" class=\"mention hashtag\" rel=\"tag\">#<span>qgis</span></a></p>", "contentMap": { "en": "<p>New Post: Intersection Crash Analysis with QGIS</p><p><a href=\"https://mark.stosberg.com/intersection-crash-analysis-with-qgis/?ref=mastodon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mark.stosberg.com/intersection</span><span class=\"invisible\">-crash-analysis-with-qgis/?ref=mastodon</span></a></p><p>The post shares four methods for crash analysis and compares them.</p><p><a href=\"https://urbanists.social/tags/mapping\" class=\"mention hashtag\" rel=\"tag\">#<span>mapping</span></a> <a href=\"https://urbanists.social/tags/urbanplanning\" class=\"mention hashtag\" rel=\"tag\">#<span>urbanplanning</span></a> <a href=\"https://urbanists.social/tags/gis\" class=\"mention hashtag\" rel=\"tag\">#<span>gis</span></a> <a href=\"https://urbanists.social/tags/gischat\" class=\"mention hashtag\" rel=\"tag\">#<span>gischat</span></a> <a href=\"https://urbanists.social/tags/qgis\" class=\"mention hashtag\" rel=\"tag\">#<span>qgis</span></a></p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://cdn.masto.host/urbanistssocial/media_attachments/files/113/578/612/379/474/219/original/7a35b7a86d890587.png", "name": "Heatmap of crashes in a city", "blurhash": "U07nL9~V4:9v0MIr-o=^Rjt6xasW~V=_NI9b", "focalPoint": [ 0, 0 ], "width": 1200, "height": 1021 } ], "tag": [ { "type": "Hashtag", "href": "https://urbanists.social/tags/mapping", "name": "#mapping" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/UrbanPlanning", "name": "#UrbanPlanning" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/gis", "name": "#gis" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/gischat", "name": "#gischat" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/qgis", "name": "#qgis" } ], "replies": { "id": "https://urbanists.social/users/markstos/statuses/113578621139070371/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://urbanists.social/users/markstos/statuses/113578621139070371/replies?min_id=113578762982533161&page=true", "partOf": "https://urbanists.social/users/markstos/statuses/113578621139070371/replies", "items": [ "https://urbanists.social/users/markstos/statuses/113578762982533161" ] } }, "likes": { "id": "https://urbanists.social/users/markstos/statuses/113578621139070371/likes", "type": "Collection", "totalItems": 24 }, "shares": { "id": "https://urbanists.social/users/markstos/statuses/113578621139070371/shares", "type": "Collection", "totalItems": 15 } }, { "id": "https://urbanists.social/users/markstos/statuses/112735494832117446", "type": "Note", "summary": null, "inReplyTo": "https://urbanists.social/users/markstos/statuses/112730332158400923", "published": "2024-07-05T19:18:55Z", "url": "https://urbanists.social/@markstos/112735494832117446", "attributedTo": "https://urbanists.social/users/markstos", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://urbanists.social/users/markstos/followers" ], "sensitive": false, "atomUri": "https://urbanists.social/users/markstos/statuses/112735494832117446", "inReplyToAtomUri": "https://urbanists.social/users/markstos/statuses/112730332158400923", "conversation": "tag:urbanists.social,2024-07-03:objectId=65233378:objectType=Conversation", "content": "<p>I&#39;ve now published a write-up and the source code for how I calculated a connectivity rank which could be used to help prioritize how a bike network is built out based how segments would improve connections with the existing network.</p><p><a href=\"https://mark.stosberg.com/bike-network-connectivity-rank/?ref=mastodon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mark.stosberg.com/bike-network</span><span class=\"invisible\">-connectivity-rank/?ref=mastodon</span></a></p><p>Thanks to all the open source mapping projects that helped make this possible, including <a href=\"https://urbanists.social/tags/qgis\" class=\"mention hashtag\" rel=\"tag\">#<span>qgis</span></a> <a href=\"https://urbanists.social/tags/valhalla\" class=\"mention hashtag\" rel=\"tag\">#<span>valhalla</span></a> <a href=\"https://urbanists.social/tags/josm\" class=\"mention hashtag\" rel=\"tag\">#<span>josm</span></a> and <a href=\"https://urbanists.social/tags/turfjs\" class=\"mention hashtag\" rel=\"tag\">#<span>turfjs</span></a>. And yes, I used JavaScript for this. </p><p>Feedback, improvements welcome!</p><p><a href=\"https://urbanists.social/tags/mapping\" class=\"mention hashtag\" rel=\"tag\">#<span>mapping</span></a> <a href=\"https://urbanists.social/tags/spatialAnalysis\" class=\"mention hashtag\" rel=\"tag\">#<span>spatialAnalysis</span></a> <a href=\"https://urbanists.social/tags/minneapolis\" class=\"mention hashtag\" rel=\"tag\">#<span>minneapolis</span></a></p>", "contentMap": { "en": "<p>I&#39;ve now published a write-up and the source code for how I calculated a connectivity rank which could be used to help prioritize how a bike network is built out based how segments would improve connections with the existing network.</p><p><a href=\"https://mark.stosberg.com/bike-network-connectivity-rank/?ref=mastodon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mark.stosberg.com/bike-network</span><span class=\"invisible\">-connectivity-rank/?ref=mastodon</span></a></p><p>Thanks to all the open source mapping projects that helped make this possible, including <a href=\"https://urbanists.social/tags/qgis\" class=\"mention hashtag\" rel=\"tag\">#<span>qgis</span></a> <a href=\"https://urbanists.social/tags/valhalla\" class=\"mention hashtag\" rel=\"tag\">#<span>valhalla</span></a> <a href=\"https://urbanists.social/tags/josm\" class=\"mention hashtag\" rel=\"tag\">#<span>josm</span></a> and <a href=\"https://urbanists.social/tags/turfjs\" class=\"mention hashtag\" rel=\"tag\">#<span>turfjs</span></a>. And yes, I used JavaScript for this. </p><p>Feedback, improvements welcome!</p><p><a href=\"https://urbanists.social/tags/mapping\" class=\"mention hashtag\" rel=\"tag\">#<span>mapping</span></a> <a href=\"https://urbanists.social/tags/spatialAnalysis\" class=\"mention hashtag\" rel=\"tag\">#<span>spatialAnalysis</span></a> <a href=\"https://urbanists.social/tags/minneapolis\" class=\"mention hashtag\" rel=\"tag\">#<span>minneapolis</span></a></p>" }, "attachment": [ { "type": "Document", "mediaType": "image/jpeg", "url": "https://cdn.masto.host/urbanistssocial/media_attachments/files/112/735/473/829/979/548/original/5694036bf18ef137.jpg", "name": null, "blurhash": "U38}6[tR4Uf9NGt6jGRjnjWVoyf5RkaxbHoL", "width": 2446, "height": 1543 } ], "tag": [ { "type": "Hashtag", "href": "https://urbanists.social/tags/qgis", "name": "#qgis" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/valhalla", "name": "#valhalla" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/josm", "name": "#josm" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/turfjs", "name": "#turfjs" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/mapping", "name": "#mapping" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/spatialanalysis", "name": "#spatialanalysis" }, { "type": "Hashtag", "href": "https://urbanists.social/tags/minneapolis", "name": "#minneapolis" } ], "replies": { "id": "https://urbanists.social/users/markstos/statuses/112735494832117446/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://urbanists.social/users/markstos/statuses/112735494832117446/replies?min_id=112938957368836941&page=true", "partOf": "https://urbanists.social/users/markstos/statuses/112735494832117446/replies", "items": [ "https://urbanists.social/users/markstos/statuses/112774236738096369", "https://urbanists.social/users/markstos/statuses/112938957368836941" ] } }, "likes": { "id": "https://urbanists.social/users/markstos/statuses/112735494832117446/likes", "type": "Collection", "totalItems": 27 }, "shares": { "id": "https://urbanists.social/users/markstos/statuses/112735494832117446/shares", "type": "Collection", "totalItems": 20 } } ] }