Fediscovery - Improving Search and Discovery on the Fediverse
A decentralized network like the Fediverse excels at resilience and user autonomy, but its very fragmentation makes finding people, posts, and trending content a challenge.
The Fediscovery project – led by the Mastodon gGmbH – the team and company behind the Mastodon project – and funded by the EU’s NGI Search program – defines a set of open specifications and ships a reference implementation to bridge instances with discovery providers, while honoring user privacy choices. Together, these efforts promise standardized APIs for account search, content indexing, trends, and data-sharing, plus easy opt-in integration for servers and clients.
In this post, we’ll cover the underlying problem, unpack the core specifications, walk through the reference implementation, and explain how instance operators and client developers can get involved in making the Fediverse truly discoverable.
The Problem with Search in the Fediverse
Every Fediverse server today handles discovery on its own, so finding an account or hashtag often means hopping between instances or relying on external web crawlers.
This fragmentation hurts new users and small servers, who lack the network effects to surface relevant content or emerging communities.
The Fediscovery Project
“Fediverse Discovery Providers” – also called Fediscovery – is spearheaded by Mastodon gGmbH under a grant from NGI Search, part of the EU’s Next Generation Internet initiative. Its mission is to specify how any Fediverse software can plug into external discovery services – enabling servers to query account directories, search for public posts, and fetch trending topics – from standardized APIs.
Technical Specifications: Capabilities and APIs
Fediscovery’s spec defines four core capability sets that any provider must implement:
- Account Search: Servers call a
/accounts
endpoint to find discoverable users by username, display name, or metadata. - Content Indexing & Trends: A
/trends
API surfaces top hashtags, links, and posts across participating providers. - Data Sharing: Rules for how and when providers ingest public content – honoring instance-level privacy flags and user opt-ins.
- Debug and Health: Simple endpoints let operators verify connectivity and compliance with the spec.
All interactions require lightweight API authentication and respect “public” visibility flags so that only opted-in content is indexed.
Reference Implementation: fediscoverer
To jump-start adoption, the project provides a Ruby on Rails reference server – called fediscoverer – plus plugins for logging, debugging, and testing. Developers can find the sample code on GitHub, fork it to build custom providers, or contribute to the upstream spec repository as it evolves.
Integrating Fediscovery: How Instances and Clients Can Opt In
Instance admins simply add one or more discovery providers to their Mastodon, Pleroma, or other software’s config – listing provider URLs and API keys. Clients then fetch provider metadata via WebFinger and automatically enable unified search bars and “explore” tabs across all providers.
Privacy and Centralization Concerns
Fediscovery only indexes content explicitly marked “public” and honors each user’s instance-level opt-in settings, preventing unwanted centralization of private posts.
While providers offer some centralization, multiple competing implementations and independent installations ensure no single service controls discovery for the entire Fediverse.
Roadmap and How to Get Involved
The initial spec drafts and reference code are public on GitHub; over the coming months, new endpoints (e.g., for media search) and client-side UX guidelines will land alongside community feedback. Join discussions on the Fediforum mailing list, contribute to issues in the spec repo or help and engage with project developers and maintainers at events like FOSDEM or FediForum.
Towards a More Discoverable Fediverse
By standardizing discovery, Fediscovery empowers every server and client to surface relevant people, posts, and trends – helping newcomers connect and small communities thrive.
As you self-host or build Fediverse apps, give Fediscovery a try and help shape the open social web’s search future. 🔍
If you want to hear more from me you can find me in the Fediverse at @gelbphoenix@social.gelbphoenix.de (Mastodon) or @gelbphoenix@gram.social (Pixelfed).