Mastodon Scraper - Profiles, Posts, Hashtags & Search avatar

Mastodon Scraper - Profiles, Posts, Hashtags & Search

Pricing

Pay per usage

Go to Apify Store
Mastodon Scraper - Profiles, Posts, Hashtags & Search

Mastodon Scraper - Profiles, Posts, Hashtags & Search

Scrape public Mastodon accounts with no login: profile stats, recent posts with engagement (favourites/boosts/replies), and account discovery search across the fediverse.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

aki ra

aki ra

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Mastodon Scraper — Profiles, Posts, Followers & Account Search (No Login)

Scrape public Mastodon data without an access token, app, or login. Get profile stats, recent posts with engagement (favourites, boosts, replies), and discover accounts by search query — across any instance in the fediverse. Export to JSON, CSV, or Excel.

No OAuth. No app registration. No anti-bot challenges. Just pass user@instance handles (or a search term) and get clean, structured data.

What you can scrape

  • Mastodon profile stats — followers, following, posts count, bio, display name, avatar, bot flag, account created date
  • Recent posts (toots) — text, timestamp, language, visibility, and per-post engagement (favourites, boosts/reblogs, replies), each with a direct post URL
  • Hashtag feeds — scrape recent public posts for any hashtag on an instance, with engagement
  • Account discovery / search — find Mastodon accounts matching a query (handle, display name, or bio)

Common use cases

  • Lead generation — build lists of Mastodon accounts in a niche and pull their bio + reach
  • Competitor & brand monitoring — track what specific accounts post and how it performs
  • Influencer research — rank fediverse accounts by followers and engagement before outreach
  • Social listening — watch a fixed set of accounts for new posts
  • AI / LLM datasets — feed clean Mastodon text + engagement into your models or agents

How to use it

  1. Enter one or more Mastodon handles as user@instance (e.g. Gargron@mastodon.social) — or a search query to discover accounts
  2. Optionally set how many recent posts to fetch per account (0–1000)
  3. Run the Actor and download the results as JSON, CSV, or Excel

At least one of handles or searchQuery is required.

Input

FieldTypeDefaultDescription
handlesarray["Gargron@mastodon.social"]Handles as user@instance (the @ prefix is optional)
maxPostsPerAccountinteger50Recent posts per handle (0–1000)
includeProfilebooleantrueEmit one profile record per handle
searchQuerystringOptional: find accounts matching this text
searchLimitinteger25Max accounts from the search query
searchInstancestringmastodon.socialInstance to run the account search against
hashtagsarrayOptional: scrape recent public posts for these hashtags
maxHashtagPostsinteger50Recent posts per hashtag
hashtagInstancestringmastodon.socialInstance to read hashtag timelines from

Output (dataset records)

Records are tagged by type: profile, post, account_hit, or error. Every dataset can be exported to JSON, CSV, Excel, XML, or HTML from the Apify console or API. Post and bio HTML is converted to clean plain text.

Example post record:

{
"type": "post",
"account": "Gargron@mastodon.social",
"authorHandle": "Gargron",
"text": "Mastodon is decentralized social media.",
"createdAt": "2026-06-26T20:36:12.000Z",
"favouritesCount": 791, "reblogsCount": 993, "repliesCount": 42,
"language": "en",
"postUrl": "https://mastodon.social/@Gargron/116827981"
}

Why it stays fast and low-maintenance

All data comes from Mastodon's public REST API (/api/v1/accounts/lookup, /api/v1/accounts/{id}/statuses, /api/v2/search) — open, documented endpoints that need no access token, no app registration, and no anti-bot challenge. There are no credentials to rotate, so the Actor rarely breaks (unlike HTML scrapers fighting anti-bot systems). It paces requests politely and retries on rate limits (HTTP 429) with backoff.

Pricing

Pay per result — you only pay for the records you actually get. No monthly subscription. See the live price on the Store page; a generous free tier lets you test before you commit.

FAQ

Do I need a Mastodon account, app, or access token? No. This Actor only reads Mastodon's public data, so there is nothing to log in to.

Does it work across different Mastodon instances? Yes. Mastodon is federated — pass any handle as user@instance and the Actor queries that account's home instance directly.

What output formats are supported? Any Apify dataset can be exported to JSON, CSV, Excel, XML, or HTML, or pulled via the API.

Can it scrape the global public timeline or full-text post search? No. Many instances require authentication for the public timeline (/api/v1/timelines/public returns 422 unauthenticated), so this Actor is intentionally account-centric to stay credential-free.

How many posts can I get per account? Up to 1000 recent posts per handle (set with maxPostsPerAccount). Reblogs are excluded so you get the account's own posts.

Is it legal to scrape Mastodon? This Actor accesses only public data through Mastodon's official public API. You are responsible for complying with each instance's terms and any applicable laws and privacy regulations in your use.

Local development

The core client (mastodon_client.py) uses only the Python standard library:

$python3 -c "from mastodon_client import scrape; print(list(scrape(['Gargron@mastodon.social'], max_posts_per_account=3)))"

The Actor wrapper (src/) additionally needs the apify SDK and the Apify CLI to run via apify run and to publish via apify push.