Mastodon’s federated search often returns incomplete or unexpected results. Many users search for a specific username, hashtag, or post and find nothing even though the content exists on another instance. This happens because Mastodon’s search engine does not index the entire fediverse. This article explains exactly what the federated search covers, what it deliberately excludes, and how to work around those gaps.
Key Takeaways: Mastodon Federated Search Limits
- Search > Full text: Only indexes posts from users your instance has already seen or that include a followed hashtag.
- Search > Account lookup: Finds accounts only if you type the exact
@user@instancehandle with the full domain. - Search > Hashtags: Shows all public posts with that hashtag that your instance has federated with, but not posts from instances your server has blocked or never connected to.
How Mastodon Federated Search Actually Works
Mastodon does not run a central search engine like Google or Twitter. Each instance maintains its own local index. The search box in the Mastodon web interface and mobile apps queries only that instance’s database plus a small subset of remote content the instance has already cached.
When you type a query, Mastodon checks three local sources:
Local Posts and Users
Every public post from users registered on your home instance is fully indexed. You can search for any word in those posts. The same applies to local users’ profiles and display names.
Federated Posts Already in Cache
Your instance fetches posts from remote users only when someone on your instance follows that remote user, boosts or favorites a remote post, or when your instance subscribes to a followed hashtag. Those fetched posts are stored in your local database and become searchable. Posts from instances your server has never interacted with remain invisible.
Hashtag Subscriptions
If you follow a hashtag from your Mastodon account, your instance begins collecting public posts with that hashtag from any federated server that sends them. Those posts appear in your local search results for that hashtag. Without a follower or hashtag subscription, remote hashtag posts stay hidden.
What Mastodon’s Federated Search Cannot Find
Understanding the limits helps you avoid wasted time. The following types of content are not discoverable through a standard Mastodon search.
- Posts from completely unknown servers
If no user on your instance follows anyone on instance X and no hashtag subscription has pulled in posts from instance X, your search will never find content from that server. - Private, unlisted, or direct posts
Mastodon respects post visibility settings. Private and direct posts are never indexed. Unlisted posts appear in the local timeline but are excluded from full-text search results. - Posts from blocked or limited instances
When an admin blocks or limits a remote instance, your instance stops federating with it. Any posts from that server are removed from your search index. - Accounts without a full handle
Searching for a partial username such as “@alice” returns only local matches. To find a remote account, you must type the complete@alice@example.comhandle. - Old posts beyond the instance’s retention limit
Many Mastodon admins set a media retention period (commonly 30 or 90 days). Posts older than that limit are purged from the local database and become unsearchable, even if they still exist on the original server.
Workarounds for Finding Content Outside Your Instance
When the built-in search fails, use these methods to locate remote content.
Use the Full Account Handle
If you know the exact @user@instance handle, paste it into the search box. Mastodon will fetch the remote account profile and its recent public posts. Once fetched, those posts become searchable on your instance.
Search with an External Tool
Services like FediSearch or MastoVue crawl multiple public instances and provide a cross-instance search interface. These tools are not affiliated with Mastodon and may have their own privacy policies. Use them for one-off lookups when your instance’s search returns nothing.
Follow the Remote Account First
Following a remote account forces your instance to pull in that user’s public posts. After the follow completes, you can search for keywords within that user’s recent timeline through your instance’s search bar.
Use the Instance’s Public Timeline
Visit the remote instance’s public timeline directly in a browser. The URL is typically https://instance.example.com/public/local. This shows all recent public posts on that server without relying on your instance’s cache.
Common Misconceptions About Mastodon Search
“Search works like Twitter”
Twitter indexes every public tweet globally. Mastodon does not. Expecting global full-text search leads to frustration. Treat Mastodon search as a local cache lookup, not a universal index.
“Hashtag search covers the whole fediverse”
Hashtag search shows only posts that your instance has already received. If a hashtag is popular on a server your instance rarely talks to, those posts will not appear until someone on your instance follows that server’s user or subscribes to the hashtag.
“Searching my own old posts always works”
If your instance has a media retention policy, posts older than the retention window are deleted from the local database. Your own posts may become unsearchable even though they still exist on your profile page. Check your instance’s settings under Administration > Server Settings > Content retention to see the retention period.
Mastodon Full-Text Search vs Hashtag Search
| Feature | Full-Text Search | Hashtag Search |
|---|---|---|
| Scope | Local database only | Local database plus federated hashtag subscriptions |
| Requires interaction | No interaction needed for local posts | User must follow the hashtag to expand scope |
| Privacy handling | Excludes unlisted and private posts | Shows only public posts |
| Retrieval of old data | Limited by instance retention policy | Limited by instance retention policy |
Mastodon search is a local tool, not a fediverse-wide index. You can find local users and posts easily, but remote content requires a follow, a hashtag subscription, or the exact account handle. For broader discovery, use external search tools or browse the remote instance’s public timeline directly. Remember to check your instance’s content retention settings under Administration > Server Settings > Content retention to understand how long your posts remain searchable.