Yacy Search Server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Michael Christen de941c6fee
Merge pull request #633 from LillySchramm/fix/632/remove-sayat-link
2 weeks ago
.github fixed workflow for ci process/2 8 months ago
LICENSES creating LICENSES directory 3 years ago
addon apply patches from @HenryLoenwind 7 months ago
bin fixed apicall call method parameters 3 years ago
defaults bring defaults for recrawlindex to init config 4 months ago
docker Migrated from java 8 to java 11. This step is required to upgrade certain packages, most important solr which will be migrated from 8.9 to 9.x 8 months ago
examples move example code SearchClient out of yacycore package 8 years ago
htroot fix: Remove SayAt.Me Link 2 weeks ago
kubernetes removed Debian and Red Hat build process 3 years ago
langdetect Use language-detection library for increased accuracy 9 years ago
lib removed 7Zip parser because the old library could not be replaced by a maven repository 9 months ago
libt use ivy to manage jars 2 years ago
locales tr.lng 5 months ago
screenshots added screenshots 7 months ago
skins fine tuning the dark-green color scheme 6 months ago
snap Added a stop command using the existing stop script to the snap package 5 years ago
source Merge pull request #615 from okybaca/logging2 5 months ago
test fix test xlsx file with correct anchor 2 years ago
vagrant_yacy switch user 2 months ago
vocabularies moved yacy.logging to defaults according to request in 12 years ago
.checkstyle problems with code style 15 years ago
.classpath removed 7zip from eclipse classpath 8 months ago
.dockerignore fixed build problem from https://github.com/yacy/yacy_search_server/issues/566 1 year ago
.env Removed unnecessary variables for local heroku run 8 years ago
.gitignore add Yacy vagrant 2 months ago
.project removed ContentControl servlet and functinality 2 years ago
AUTHORS added flori and me 16 years ago
CONTRIBUTING.md Add contributor guidelines; closes #214 6 years ago
COPYRIGHT updated copyright message; included LGPL for 'cora' and a warranty 11 years ago
Heroku.md fix typo 1 year ago
NOTICE * updated jxpath to latest v1.3 15 years ago
Procfile Simplified Heroku variables configuration 8 years ago
README.md added a link to docker build guide 6 months ago
app.json Updated YaCy home page embedded links from http to https scheme 6 years ago
build.nsi Migrated from java 8 to java 11. This step is required to upgrade certain packages, most important solr which will be migrated from 8.9 to 9.x 8 months ago
build.properties Migrated from java 8 to java 11. This step is required to upgrade certain packages, most important solr which will be migrated from 8.9 to 9.x 8 months ago
build.xml removed warnings during normal build 7 months ago
fixMacBuild.sh attempt to make a Mac Release using gradle 3 years ago
getWin32MaxHeap.bat update for memory observer algorithm 15 years ago
gpl.txt initial load with yacy 0.36 19 years ago
installYaCyWindowsService.bat removed Xms java memory startup parameter 3 years ago
ivy.xml Merge pull request #612 from okybaca/sitemap-fix 5 months ago
killYACY.sh Fix for http://mantis.tokeek.de/view.php?id=432 10 years ago
lgpl21.txt migrated all my LGPL 3 -licensed files to the LGPL 2.1 because LGPL 3 is not compatible to the GPL 2 14 years ago
restartYACY.sh added a restartYACY.sh script 10 months ago
startYACY.bat for some strange reason there is no javaw in temurin, only java 2 years ago
startYACY.sh apply patches from @HenryLoenwind 7 months ago
startYACY_debug.bat changed link to new forum location 2 years ago
stopYACY.bat upd classpath in batches (remove not necessary htroot) 8 years ago
stopYACY.sh instead of WAITING lines, WAITING FOR STOP and dots are echoed 8 months ago
uninstallYaCyWindowsService.bat added Windows Service installer 10 years ago
updateYACY.sh fixed apicall call method parameters 3 years ago
yacy-packages.readme fix typo 1 year ago
yacy.yellow performance setting for remote indexing configuration and latest changes for 0.39 19 years ago



Search Engine Software

YaCy Home Page YaCy Discourse Forums become a Github Sponsor become a Patreon Member Build Status Install Link

Web Search Crawl Start Index Browser

What is YaCy?

YaCy is a full search engine application containing a server hosting a search index, a web application to provide a nice user front-end for searches and index creation and a production-ready web crawler with a scheduler to keep a search index fresh.

YaCy search portals can also be placed in an intranet environment, making it a replacement for commercial enterprise search solutions. A network scanner makes it easy to discover all available HTTP, FTP and SMB servers.

Running a personal Search Engine is a great tool for privacy; indeed YaCy was created with the privacy aspect as priority motivation for the project.

You can also use YaCy with a customized search page in your own web applications.

Large-Scale Web Search with a Peer-to-Peer Network

Each YaCy peer can be part of a large search network where search indexes can be exchanged with other YaCy installation over a built-in peer-to-peer network protocol.

This is the default operation that enables new users to instantly access a large-scale search cluster, operated only by YaCy users.

You can opt-out from the YaCy cluster operation by choosing a different operation mode in the web interface. You can also opt-out from the network in individual searches, turning the use of YaCy a completely privacy-aware tool - in this operation mode search results are computed from the local index only.


We recommend to compile YaCy yourself and install it from the git sources. Pre-compiled YaCy packages exist but are not generated on a regular basis. Automaticaly built latest developer release is available at release.yacy.net. To get a ready-to-run production package, run YaCy from Docker.

Compile and run YaCy from git sources

You need Java 11 or later to run YaCy and ant to build YaCy. This would install the requirements on debian:

sudo apt-get install openjdk-11-jdk-headless ant

Then clone the repository and build the application:

git clone --depth 1 https://github.com/yacy/yacy_search_server.git
cd yacy_search_server
ant clean all

To start YaCy, run


The administration interface is then available in your web browser at http://localhost:8090. Some of the web pages are protected and need an administration account; these pages are usually also available without a password from the localhost, but remote access needs a log-in. The default admin account name is admin and the default password is yacy. Please change it after installation using the http://<server-address>:8090/ConfigAccounts_p.html service.

Stop YaCy on the console with


Run YaCy using Docker

The Official YaCy Image is yacy/yacy_search_server:latest. It is hosted on Dockerhub at https://hub.docker.com/r/yacy/yacy_search_server

To install YaCy in intel-based environments, run:

docker run -d --name yacy_search_server -p 8090:8090 -p 8443:8443 -v yacy_search_server_data:/opt/yacy_search_server/DATA --restart unless-stopped --log-opt max-size=200m --log-opt max-file=2 yacy/yacy_search_server:latest

then open http://localhost:8090 in your web-browser.

For building Docker image from latest sources, see docker/Readme.md.

Help develop YaCy

  • clone https://github.com/yacy/yacy_search_server.git using build-in Eclipse features (File -> Import -> Git)
  • or download source from this site (download button "Code" -> download as Zip -> and unpack)
  • Open Help -> Eclipse Marketplace -> Search for "ivy" -> Install "Apache IvyDE"
  • right-click on the YaCy project in the package explorer -> Ivy -> resolve

This will build YaCy in Eclipse. To run YaCy:

  • Package Explorer -> YaCy: navigate to source -> net.yacy
  • right-click on yacy.java -> Run as -> Java Application

Join our development community, got to https://community.searchlab.eu

Send pull requests to https://github.com/yacy/yacy_search_server

APIs and attaching software

YaCy has many built-in interfaces, and they are all based on HTTP/XML and HTTP/JSON. You can discover these interfaces if you notice the orange "API" icon in the upper right corner of some web pages in the YaCy web interface. Click it, and you will see the XML/JSON version of the respective webpage. You can also use the shell script provided in the /bin subdirectory. The shell scripts also call the YaCy web interface. By cloning some of those scripts you can easily create more shell API access methods.


This project is available as open source under the terms of the GPL 2.0 or later. However, some elements are being licensed under GNU Lesser General Public License. For accurate information, please check individual files. As well as for accurate information regarding copyrights. The (GPLv2+) source code used to build YaCy is distributed with the package (in /source and /htroot).


Visit the international YaCy forum where you can start a discussion there in your own language.

Questions and requests for paid customization and integration into enterprise solutions. can be sent to the maintainer, Michael Christen per e-mail (at mc@yacy.net) with a meaningful subject including the word 'YaCy' to prevent it getting stuck in the spam filter.

  • Michael Peter Christen