OpenAltFinder
YaCy

YaCy

A peer-to-peer search engine and intranet search appliance that crawls, indexes, and serves results from your own server.

Open source alternative to:

screenshot_web_search.png
screenshot_expert_crawl_start.png
screenshot_index_browser.png
1 / 3

YaCy is a self-contained search engine: a server that holds a search index, a browser-based front end for searching and index administration, and a web crawler with a scheduler that keeps the index current. Unlike metasearch tools that forward queries to other engines, YaCy crawls and indexes pages itself, so results come from an index you control.

Every YaCy instance can join a peer-to-peer network in which peers exchange search indexes, giving a new installation access to a shared index without crawling the web from scratch. Operators can opt out of the cluster and search only the local index. The same software doubles as an intranet search appliance: a network scanner discovers HTTP, FTP and SMB servers, and the crawler indexes their content.

YaCy is written in Java, runs on Java 17 or later, and ships with official Docker images, a Windows installer and start/stop scripts for Unix-like systems. Its HTTP/XML and HTTP/JSON interfaces let other applications embed searches or drive crawling. Privacy was the project's original motivation: with your own peer, no central operator sees what you search for. Compared with Google Search, Bing, DuckDuckGo or Kagi, YaCy gives you ownership of the index; compared with hosted site-search services such as Algolia, it keeps crawled content and queries on your own hardware.

Frequently Asked Questions

What are the system requirements to self-host YaCy?

YaCy needs Java 17 or later and Ant to build from source; on Debian-based systems the required packages are openjdk-17-jdk-headless and ant. You can also run the official Docker image yacy/yacy_search_server, which exposes ports 8090 and 8443 and stores its data in a volume mounted at /opt/yacy_search_server/DATA.

Does YaCy have an API?

Yes. YaCy exposes its interfaces over HTTP in both XML and JSON, and many pages in its web interface have an API icon that opens the corresponding machine-readable endpoint. The /bin directory ships shell scripts that call the web interface and can serve as templates for your own automation.

How does YaCy build its search index?

YaCy includes a production-ready web crawler with a scheduler, so it indexes pages itself instead of forwarding queries to another engine. For intranet use, a network scanner discovers HTTP, FTP and SMB servers, and crawler jobs index their content. Peers can also exchange index data over the built-in peer-to-peer protocol, and searches can be limited to the local index only.

How do I secure the YaCy administration interface?

The first start creates an admin account with the username admin and the default password yacy, which should be changed immediately at the ConfigAccounts_p.html page. Pages opened from localhost are often available without a password, but remote access to protected pages requires a login.

Which platforms does YaCy run on?

The search interface is a web application used from a browser, while the server runs anywhere Java 17 is available, including Linux, macOS and Windows. The project ships official Docker images, a Windows installer built with NSIS and start and stop shell scripts, and the repository also includes macOS app packaging scripts.

Looking for contributors

This project is actively seeking help, join the community!

OpenAltFinder Score
76/100
Project Health (50%)
68/100
License (20%)
60/100
Self-hostable (20%)
100/100
Recency (10%)
100/100
How scoring works
Project Details
Platforms
Web
License
GPL-2.0
Self hostable
Yes
Repository details
Created
3/22/2015
Stars
4,108
Forks
502
Open issues
247
Last commit
11/3/2026

Updated 11/13/2026, 8:00:55 AM

View Repository

Get the latest open source alternatives delivered weekly.
Discover tools that give you freedom from proprietary software.

Similar open source alternatives