VOOZH about

URL: https://apify.com/goat255/mastodon-scraper

โ‡ฑ Mastodon Scraper - Posts, Profiles & Hashtags (No Login) ยท Apify


Pricing

Pay per usage

Go to Apify Store

Scrape Mastodon (fediverse) posts, profiles, hashtags, and account search without a login. Pull a user's posts by handle, a hashtag timeline, the public timeline, or matching profiles. Works against any instance and walks pagination up to your chosen limit.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

๐Ÿ‘ Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

10 days ago

Last modified

Share

Scrape public Mastodon posts, profiles, hashtags, and account search from across the fediverse with no login and no API key required. Point it at any Mastodon instance and pull a user's posts by handle, a hashtag timeline, the public timeline, or matching profiles as clean structured JSON, CSV, or Excel.

What it does

  • Mastodon user posts by handle. Works with a bare username on your chosen instance, a full user@host for a remote account, or a profile link. Pulls recent posts (statuses, boosts, replies) with engagement counts.
  • Profile data. Optionally emit a profile row per handle with display name, bio, follower count, following count, and post count.
  • Hashtag scraper. Pull every post on any instance's public hashtag timeline.
  • Public timeline scraper. Stream an instance's public timeline (where the server allows it).
  • Profile search. Find matching public Mastodon accounts by keyword.
  • Automatic pagination. Walks page after page up to the limit you set, deduplicates posts, and stops cleanly when a source is exhausted.
  • Clean normalized output. Plain-text post bodies, parsed media URLs, hashtags, mentions, and engagement metrics in one stable schema across every mode.

No account, no password, no API key. Give it an instance plus handles, hashtags, or search terms and it returns structured rows.

Use cases

  • Social media monitoring. Track a brand, topic, or hashtag across the fediverse and watch engagement over time.
  • Lead generation and audience research. Search profiles by keyword and export handles, bios, and follower counts for outreach lists.
  • Market and competitor research. Collect posts from accounts in your niche and analyze what resonates by favourites and boosts.
  • News and trend tracking. Stream a hashtag or public timeline to spot emerging stories and conversations early.
  • Dataset building. Assemble labeled post and profile datasets for sentiment analysis, content classification, or LLM training.

Input

FieldTypeDescription
instancestringThe Mastodon server to scrape from for hashtags, search, and bare usernames. Host or URL. Default mastodon.social.
handlesarrayUsernames to pull posts from. Bare username, user@host, or a profile link.
hashtagsarrayHashtags to pull from the instance's public tag timeline. With or without the # prefix.
searchQueriesarrayKeywords to find matching public profiles on the chosen instance.
publicTimelinebooleanWhen on, also pull the instance's public timeline.
maxItemsPerSourceintegerCap per handle, hashtag, search, or timeline. Pagination is walked to reach it. Default 100.
includeRepliesbooleanInclude a handle's reply posts, not just top-level posts. Default false.
includeReblogsbooleanInclude posts a handle has boosted. Default true.
onlyMediabooleanRestrict feeds and the public timeline to posts that carry an image or video. Default false.
includeProfilebooleanEmit one profile row per handle before its posts. Default true.
concurrencyintegerHow many sources to process in parallel. Default 5.
proxyConfigobjectOptional proxy. The public endpoints do not require one.

Example input

{
"instance":"mastodon.social",
"handles":["example_user","example_user@example.social"],
"hashtags":["opensource"],
"maxItemsPerSource":200,
"includeProfile":true,
"includeReplies":false,
"includeReblogs":true
}

Output

Each post is one row. Fields are ordered identity first, then engagement metrics, then content and media:

{
"type":"post",
"id":"100000000000000000",
"url":"https://example.social/@example_user/100000000000000000",
"authorHandle":"example_user@example.social",
"authorDisplayName":"Example User",
"authorUrl":"https://example.social/@example_user",
"favouritesCount":42,
"reblogsCount":7,
"repliesCount":3,
"quotesCount":1,
"text":"An example post about open source.",
"language":"en",
"tags":["opensource"],
"mentions":["another_user@example.social"],
"images":["https://example.com/image.jpg"],
"videos":[],
"links":["https://example.com"],
"visibility":"public",
"sensitive":false,
"spoilerText":null,
"isReply":false,
"inReplyToId":null,
"isReblog":false,
"createdAt":"2026-06-01T12:00:00.000Z",
"editedAt":null
}

When includeProfile is on (or from profile search), a profile row carries:

{
"type":"profile",
"id":"1",
"handle":"example_user@example.social",
"url":"https://example.social/@example_user",
"displayName":"Example User",
"followersCount":12000,
"followingCount":300,
"statusesCount":4500,
"description":"Example bio.",
"avatar":"https://example.com/avatar.png",
"header":"https://example.com/header.png",
"locked":false,
"bot":false,
"createdAt":"2020-01-01T00:00:00.000Z"
}

Key fields

  • type tells post rows apart from profile rows.
  • url is the canonical link to the post or profile.
  • favouritesCount, reblogsCount, repliesCount, quotesCount are the engagement metrics at scrape time.
  • text is the post body as clean plain text. The original HTML is kept in contentHtml.
  • images, videos, links are arrays of media and card URLs (empty when the post has none).
  • isReblog marks a boosted post; isReply / inReplyToId mark replies.

FAQ

Is this scraper free? How is it priced? You pay only for what you run. There is no per-run start fee. See the pricing tab on this listing for the current rate.

Do I need a Mastodon account, login, or API key? No. The scraper reads public data through the open fediverse endpoints. No account, password, or token is needed.

How many posts or profiles can I get? Set maxItemsPerSource to any value up to 50000. The scraper walks pagination across as many pages as needed to reach your target or until the source runs out. Profile search returns up to the server's search limit.

Which Mastodon instances does it support? Any instance. Set instance to the host you want (for example mastodon.social or https://example.social), and use user@host handles to reach accounts on other servers.

Can I scrape a hashtag across the whole fediverse? You scrape a hashtag from the chosen instance's public tag timeline, which federates posts that instance has seen. Point at a larger, well-connected instance for broader coverage.

How fast is it? Multiple sources run in parallel (set with concurrency), and each source pages until your limit. A typical handle or hashtag of a few hundred posts completes in seconds.

What if a server blocks the public timeline or search? Some servers gate those endpoints. When one does, the run skips that mode and continues with your other handles, hashtags, and searches.

You might also like

Mastodon Scraper - Hashtags & Public Timeline (No Login)

arjunannamalai/mastodon-scraper

Scrape public Mastodon posts by hashtag across any instance, plus the public timeline where allowed. Clean text + engagement + author data. No login.

๐Ÿ‘ User avatar

Arjun Annamalai

2

๐Ÿ˜ Mastodon Scraper - Hashtags, Posts & Trends

benthepythondev/mastodon-scraper

Scrape Mastodon (any instance) via the public REST API โ€” no login needed. Get hashtag posts, a user's posts, the public/federated timeline, trending posts, or profile data. Clean JSON with engagement counts, media & hashtags.

Mastodon Scraper

dami_studio/mastodon-scraper

Scrapes public Mastodon posts from any instance via its REST API. Returns clean text, author, engagement counts, media URLs and tags by hashtag, account (@handle), or public/federated timeline. No login or API key.

2

5.0

Mastodon Scraper

crawlerbros/mastodon-scraper

Scrape any Mastodon instance like public timeline, hashtag streams, user profiles, account search, and trending tags. Pure HTTP, no login required, works against mastodon.social, mas.to, hachyderm.io, fosstodon.org, and every other federated instance.

Mastodon Public Posts & Profiles Scraper

rupom888/mastodon-scraper

Scrape Mastodon public posts, timelines, hashtag feeds, and profiles using the public Mastodon API. No login required. Works with mastodon.social and any Mastodon instance. Extracts post content, author, favourites, reblogs, replies, and media attachments.

Bluesky Scraper

goat255/bluesky-scraper

Scrape Bluesky posts, profiles, threads, and search results without a login. Pull a user's posts by handle, a post plus its reply thread, or keyword search results. Walks pagination up to your chosen limit.

2

5.0

Mastodon Scraper

gio21/mastodon-scraper

Scrape any Mastodon (or Fediverse-compatible) server's public API: trending statuses and tags, public timeline, hashtag feeds, account statuses. Useful for social listening, Fediverse research, brand monitoring, and decentralized social analytics.