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",
{
"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"
}
],
"id": "https://martianbase.net/users/mackuba/statuses/114254662220503582",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2025-03-31T02:23:10Z",
"url": "https://martianbase.net/@mackuba/114254662220503582",
"attributedTo": "https://martianbase.net/users/mackuba",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://martianbase.net/users/mackuba/followers"
],
"sensitive": false,
"atomUri": "https://martianbase.net/users/mackuba/statuses/114254662220503582",
"inReplyToAtomUri": null,
"conversation": "tag:martianbase.net,2025-03-31:objectId=143384:objectType=Conversation",
"content": "<p>Lulz, I've done some quick profiling now of my lib Skyfall reading from the Bluesky firehose websocket and just discarding packets, and it looks like as much as ~50% of time might be spent… converting an ascii string to a byte array on one level and then converting it back to an ascii string at the end 💀</p><p>websocket-driver calls String#bytes first, and then I get a byte array from faye-websocket and I call pack('C*') on it to get a string… <a href=\"https://martianbase.net/tags/rubylang\" class=\"mention hashtag\" rel=\"tag\">#<span>rubylang</span></a></p>",
"contentMap": {
"en": "<p>Lulz, I've done some quick profiling now of my lib Skyfall reading from the Bluesky firehose websocket and just discarding packets, and it looks like as much as ~50% of time might be spent… converting an ascii string to a byte array on one level and then converting it back to an ascii string at the end 💀</p><p>websocket-driver calls String#bytes first, and then I get a byte array from faye-websocket and I call pack('C*') on it to get a string… <a href=\"https://martianbase.net/tags/rubylang\" class=\"mention hashtag\" rel=\"tag\">#<span>rubylang</span></a></p>"
},
"attachment": [],
"tag": [
{
"type": "Hashtag",
"href": "https://martianbase.net/tags/rubylang",
"name": "#rubylang"
}
],
"replies": {
"id": "https://martianbase.net/users/mackuba/statuses/114254662220503582/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://martianbase.net/users/mackuba/statuses/114254662220503582/replies?only_other_accounts=true&page=true",
"partOf": "https://martianbase.net/users/mackuba/statuses/114254662220503582/replies",
"items": []
}
}
}