Skip to content
scrapeatlas.Dashboard

Get a Mastodon server

Try in Playground

Retrieve a Mastodon server’s public details: title, description, version, monthly active users, languages, rules, registration settings and contact, plus up to 12 weeks of post, login and sign-up counts.

GET/v1/mastodon/serverx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
serverenumquery

Optional Mastodon server whose public view to read; default mastodon.social. One of the supported servers listed in the schema.

one of: mastodon.social, mastodon.online, mstdn.social, mas.to, mastodon.world, mstdn.jp, fosstodon.org, hachyderm.io, infosec.exchange, techhub.social, universeodon.com, mastodon.art, social.vivaldi.net, mastodon.cloud, sfba.social, chaos.social, piaille.fr, mastodon.gamedev.place, toot.community, ioc.exchange, indieweb.social, masto.ai, journa.host, newsie.social, social.coop, mastodon.scot, aus.social, kolektiva.social

Examplemastodon.social
Response fields
23
requestIdstring

Request correlation UUID.

Upstream requests, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Public Mastodon page the data describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

serverstring

Optional Mastodon server whose public view to read; default mastodon.social. One of the supported servers listed in the schema.

min 1 chars

complete is false when a warning names an omission, such as federated_view, counters_hidden or reply_limit.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

Server record: domain, title, version, description, usage.users.active_month, thumbnail, languages, configuration, registrations, contact and rules, with remaining source fields passed through.

instance.domainstring

Always included.

min 1 chars

instance.titlestring

Always included.

instance.versionstring

Always included.

instance.descriptionstring

Always included.

Always included.

Always included.

instance.usage.users.active_monthinteger

Always included.

≥ 0

activityobject[]nullable

Weekly counts, newest first: week (Unix timestamp string), statuses, logins and registrations as strings. null when the server does not publish them (warning activity_unavailable).

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
12
HTTPfailure.codeMeaning
200partialUsable data with federated_view, counters_hidden, reply_limit, ancestor_limit, activity_unavailable or unsupported_*_omitted warnings.
400invalid_requestMissing, duplicate, unsafe or unsupported parameters, a post URL outside the supported servers or an invalid cursor.
401unauthorizedMissing or invalid worker API key.
403restricted_pageThe server does not share this data without login, or the account hides its followers and following.
404not_foundUnknown or removed account, post or hashtag.
429upstream_rate_limitedThe server’s rate limit is exhausted for every available network identity.
502upstream_challengedThe server answered with a challenge or non-JSON page.
502unsupported_pageMalformed, mismatched or looping source data.
502response_too_large payload_too_complexResponse exceeded byte or parsing limits.
502unsafe_redirect request_limit upstream_errorBounded source retrieval could not complete.
503busyAll worker slots and queue places are occupied.
504timeoutTotal request deadline expired.