From my own experience querying public mastodon timelines via API (edit: removed incorrect /api/v1
s in the AP_IDs):
- Mastodon user accounts have an ActivityPub URI of
https://<instance.domain.tld>/users/<username>
- Mastodon posts have an ActivityPub URI of
https://<instance.domain.tld>/users/<post_author_username>/statuses/<post_id>
(they also have aurl
property ofhttps://<instance.domain.tld>/@<post_author_username>/<post_id>
but that tends to serve the html view of the post)
To see for yourself, pick an instance that allows viewing their public timeline without logging in (mastodon.social
is perfect for this) and follow the "Playing with public data" section of the docs. That page ellides most of the info you're looking for in the example payloads they give (as the JSON payloads themself are quite large and nested), but I can assure you that AP_IDs for user accounts and posts can be found pretty quickly from a single timeline query.
I don't think Mastodon has any notion of community, nor does it distinguish between posts and comments (when following a lemmy community, both posts and comments show up in my masto feed as "top-level" statuses (ie posts)).