This page provides details of some paths that have been observed being requested by bots, and why you might care about them.
Instance Info
/api/v1/instance
:
Generally low sensitivity, provides an overview of the instance itself:
- Instance Name
- Instance domain
- Instance description
- Admin contact email
- Instance Mastodon version
- User count
- Status count
- Count of observed other domains
- Instance rules
- Are registrations open etc
Also provides details of the person to contact about the instance, this includes a copy of the persons profile
This path is quite commonly requested by bots looking to show the overall size (or uptime) of the fediverse.
/api/v1/instance/activity
:
Provides an overview of activity by week:
[
{
"week": "1674998453",
"statuses": "0",
"logins": "1",
"registrations": "0"
},
{
"week": "1674393653",
"statuses": "114",
"logins": "2",
"registrations": "0"
},
Public Activity APIs
Paths:
/api/v1/timelines/public
/api/v1/trends/statuses
/api/v1/trends/tags
These are called to populate the Explore
, Local
and Federated
tabs, both for logged in users and for unauthenticated users hitting the default page.
They provide details of current activity (the /api/v1/timelines/public
endpoint accepts various querystrings to control whether toots returned are local or federated).
These paths cannot simply be blocked at the webserver without impacting legitimate users.
It it is, however, possible to implement and enforce active checks against these endpoints
- Ignores whether
Allow unauthenticated access to public timelines
is unchecked - Appears to honour
AUTHORIZED_FETCH
Public Streaming API: Activity
Paths:
/api/v1/streaming/public/local
/api/v1/streaming/public/remote
/api/v1/streaming/public/
Part of the streaming API.
Placing a request to these paths will establish a long lived HTTP request. Whenever related activity (i.e. local for local, federated for remote etc) occurs, the listening client will be sent a copy
- Ignores whether
Allow unauthenticated access to public timelines
is unchecked - Appears to honour
AUTHORIZED_FETCH
Hashtag Streaming API: Hashtags
Paths:
/api/v1/streaming/hashtag
Requires a query string arg tag
denoting the tag (e.g. /api/v1/streaming/hashtag?tag=nsfw
)
- Ignores whether
Allow unauthenticated access to public timelines
is unchecked - Appears to honour
AUTHORIZED_FETCH