Mastodon Scraper - Hashtags, Accounts & Posts (No Login)
Pricing
from $1.00 / 1,000 mastodon posts
Mastodon Scraper - Hashtags, Accounts & Posts (No Login)
Scrape public Mastodon posts by hashtag, account or trending on any instance (mastodon.social, fosstodon, etc.) via the official public API - no login or token. Text, author, followers, boosts, favourites, links, media as JSON. Brand and topic monitoring for the fediverse. $1 per 1,000 posts.
Pricing
from $1.00 / 1,000 mastodon posts
Rating
0.0
(0)
Developer
leo zhu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Mastodon Scraper - Hashtags, Accounts & Trending Posts (No Login)
Scrape public Mastodon posts by hashtag, account or trending on any Mastodon instance (mastodon.social, fosstodon.org, mstdn.social, infosec.exchange ...) and export clean JSON / CSV / Excel. Uses the official public Mastodon REST API - no account, no access token, no browser, no proxies. 80 posts in about 2 seconds.
Who uses it
- Brand & community managers: monitor your product hashtag or competitors' accounts across the fediverse every day.
- Social listening & PR agencies: add Mastodon to your Twitter/X, Bluesky and Reddit monitoring - many developer, open-source, science and journalism communities moved here.
- Researchers: collect posts on a topic with engagement metrics (replies, boosts, favourites) and language.
- Content & LLM pipelines: feed trending posts or a hashtag stream into n8n, Make, Zapier or an LLM summary.
- Developer relations: track #opensource, #python, #rust and your project's tag, and find the most-followed authors.
Input
| Field | Description |
|---|---|
hashtags | Hashtags without #. Each is read from every instance in instances. |
accounts | user@instance (e.g. Gargron@mastodon.social). |
trending | Also fetch each instance's trending posts. |
instances | Servers to read from (default mastodon.social). Large servers federate posts from the whole network. |
maxPostsPerSource | 1-5000 (default 40). |
onlyNewerThanDays | Date filter, e.g. 1 for a daily scheduled monitor. |
keywords, language | Optional text / language filters (filtered posts are not charged). |
localOnly, includeReplies, includeBoosts | Fine-tuning. |
Example - daily brand monitor:
{ "hashtags": ["n8n", "selfhosted"], "accounts": ["n8n_io@mastodon.social"], "instances": ["mastodon.social", "fosstodon.org"], "onlyNewerThanDays": 1, "maxPostsPerSource": 500 }
Output (one row per post)
{"sourceType": "hashtag","source": "python","instance": "mastodon.social","id": "117487750868640455","url": "https://mastodon.social/@lobsters/117487750868640455","createdAt": "2026-10-23T02:00:07.935Z","text": "UUIDv7 doesn't have the properties you think it does ... #distributed #python","language": "en","author": "lobsters@mastodon.social","authorName": "Lobsters","authorFollowers": 4029,"replies": 0, "boosts": 0, "favourites": 1,"hashtags": ["distributed", "python"],"mentions": ["robalex@indieweb.social"],"linkUrl": "https://lobste.rs/s/kcyzco","linkTitle": "UUIDv7 doesn't have the properties you think it does","media": [],"isReply": false, "isBoost": false}
HTML is converted to plain text. Posts are deduplicated within a run. A RUN_SUMMARY record is saved in the key-value store.
Pricing (pay per event)
- $0.001 per post saved (
mastodon-post) - $1 per 1,000 posts. - Tiny start fee per run (
apify-actor-start). - Failed sources, duplicates and filtered posts are not charged. Set "Maximum cost per run" to cap spend.
Notes & limits
- Only public posts that the instance serves without login. Free-text search of posts requires a logged-in account on Mastodon, so this Actor uses hashtags, accounts and trends (plus the keyword filter).
- Respect each instance's rules and the authors' privacy; do not use the data for spam. Not affiliated with Mastodon gGmbH.
FAQ
Do I need a Mastodon account or token? No.
Which instance should I use? mastodon.social sees most of the network; add niche servers (fosstodon.org for open source, infosec.exchange for security) for more local posts.