Mastodon Posts Scraper: Hashtags, Accounts, Trending, Threads
Pricing
from $0.48 / 1,000 post scrapeds
Mastodon Posts Scraper: Hashtags, Accounts, Trending, Threads
Scrape public Mastodon posts by hashtag, account, trending, local timeline or thread: text, author, engagement counts, tags, media and link previews. No login or proxy. $0.80 per 1,000 posts.
Pricing
from $0.48 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
TidyHarvest
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Pull Mastodon posts from any public instance in clean JSON: full text and HTML, author, follower count, replies, boosts and favourites, hashtags, mentions, media with alt text, link previews and polls. Search hashtags, read accounts (@user@instance), grab trending posts, an instance's local timeline, or a whole conversation thread.
$0.80 per 1,000 posts. No login, API key, browser or proxy: it reads the documented public Mastodon API that every instance offers, so runs are fast (50 posts in a couple of seconds) and cheap.
What you can do with it
- Social listening and brand monitoring: track a hashtag or keyword across the fediverse with a daily scheduled run and Only posts newer than: 24 hours.
- Research and datasets: collect posts by topic, language or community (fosstodon.org, hachyderm.io, scholar.social...) for NLP, sentiment or discourse studies.
- Content and news curation: pull trending posts or link previews (
card) to feed a newsletter, Slack channel or dashboard. - Account archiving and analytics: export an account's public posts with engagement counts.
- Conversation analysis: fetch the full reply tree of a viral post.
Input
| Field | What it does |
|---|---|
mode | hashtag (default), accounts, trending, public-local or thread. |
hashtags | technology, #ai, linux@fosstodon.org or https://fosstodon.org/tags/linux. |
accounts | @user@instance, user@instance or a profile URL like https://hachyderm.io/@user. |
postUrls | For thread mode: post links. Returns parents, the post and its public replies. |
instance | Server for hashtags, trending and local timeline (default mastodon.social). |
onlyNewerThan | 2026-10-01, 24 hours, 7 days... Older posts are skipped. |
includeReplies, includeBoosts | Off by default. |
onlyMedia | Keep only posts with images, video or audio. |
includeProfile | Accounts mode: one free type: profile row per account (bio, avatar, header, profile fields, counts). Default on. |
languages | ISO codes, e.g. en, de. |
keywords | Keep posts whose text, content warning or hashtags contain any of these. |
maxItemsPerSource, maxItems | Caps to control cost (maxItems defaults to 50; up to 10,000). |
How to use
- Pick a mode and enter hashtags, accounts or post URLs (or just press Start for the latest
#technologyposts). - Optionally add a date window, languages or keywords, and set Max posts in total.
- Run, then download as JSON, CSV or Excel, or connect it to Sheets, Slack or a webhook with Apify integrations.
Example:
{ "mode": "hashtag", "hashtags": ["opensource", "linux@fosstodon.org"], "languages": ["en"], "onlyNewerThan": "3 days", "maxItems": 500 }
Output
One item per post:
{"id": "117426638870219047","url": "https://social.example/@techwire/117426638762940508","uri": "https://social.example/users/techwire/statuses/117426638762940508","createdAt": "2026-10-12T06:58:20.000Z", "editedAt": null,"text": "Google Docs and Drive now support markdown files natively ...","content": "<p>Google Docs and Drive now support markdown files natively</p>...","language": "en", "sensitive": false, "spoilerText": null,"isReply": false, "inReplyToId": null, "isBoost": false, "boostedBy": null,"account": { "acct": "techwire@social.example", "displayName": "TechWire", "url": "https://social.example/@techwire","followers": 1520, "following": 3, "statusesCount": 48210, "bot": true, "createdAt": "2025-04-01T00:00:00.000Z" },"repliesCount": 0, "reblogsCount": 2, "favouritesCount": 5, "quotesCount": 0,"tags": ["tech", "technology", "ai"], "mentions": [],"media": [{ "type": "image", "url": "https://...", "previewUrl": "https://...", "description": "alt text" }],"card": { "url": "https://9to5google.com/...", "title": "...", "description": "...", "image": "https://...", "providerName": "9to5Google" },"poll": null,"instance": "mastodon.social", "source": "#technology@mastodon.social", "scrapedAt": "2026-10-12T07:00:00+00:00"}
id is the post's id on the instance it was read from; url/uri point to the original post. Counts are as seen by that instance, so for posts from other servers they can lag behind the original.
Pricing
Pay per post returned: $0.80 per 1,000 posts (post-scraped). Language, keyword, date and reply/boost filters run before billing, and duplicates across sources are removed, so you only pay for posts you keep. A run that finds nothing fails instead of silently returning an empty dataset.
Privacy-respecting by design
- Only public posts are returned (no unlisted, followers-only or direct posts).
- Posts from accounts that opted out of search-engine indexing (
noindex) are skipped, and such accounts are refused in Accounts mode. The run summary (SUMMARYin the key-value store) reports how many were skipped. - Requests are spaced out and each instance's rate-limit headers (
X-RateLimit-*) are honoured.
Limits and notes
- Post rows have
type: "post"; account profile rows (type: "profile") are free. - Each instance only knows the posts that reached it. A hashtag on
mastodon.socialcovers a lot of the fediverse but not all of it; addtag@otherinstanceto widen coverage. - Full-text search of posts is not offered: Mastodon requires a logged-in user for that. Use hashtags plus
keywordsinstead. - Some instances (including mastodon.social) require login for their local public timeline or trends. Those sources are reported as failed, never bypassed.
- Unauthenticated API access is limited to about 300 requests per 5 minutes per instance (40 posts per request). Very large pulls slow down or stop politely when that limit is near.
- Thread mode returns what the post's instance exposes publicly (large threads may be truncated by the server).
- Post content belongs to its authors. Use the data in line with their rights, each instance's rules and the privacy laws that apply to you.
Not affiliated with, endorsed by or sponsored by Mastodon gGmbH or any Mastodon instance.