<!DOCTYPE html> 
 
						
						
						
							
 
						
						
						
							< html  lang = "en"  data-content_root = "../../" > 
 
						
						
						
							  < head > 
 
						
						
						
							    < meta  charset = "utf-8"  / > 
 
						
						
						
							    < meta  name = "viewport"  content = "width=device-width, initial-scale=1.0"  / > 
 
						
						
						
							  < meta  name = "viewport"  content = "width=device-width, initial-scale=1" > 
 
						
						
						
							    < title > Plugins —  SearXNG Documentation (2025.2.9+a1e2b2546)< / title > 
 
						
						
						
							    < link  rel = "stylesheet"  type = "text/css"  href = "../../_static/pygments.css?v=6625fa76"  / > 
 
						
						
						
							    < link  rel = "stylesheet"  type = "text/css"  href = "../../_static/searxng.css?v=52e4ff28"  / > 
 
						
						
						
							    < script  src = "../../_static/documentation_options.js?v=09da0b18" > < / script > 
 
						
						
						
							    < script  src = "../../_static/doctools.js?v=9a2dae69" > < / script > 
 
						
						
						
							    < script  src = "../../_static/sphinx_highlight.js?v=dc90522c" > < / script > 
 
						
						
						
							    < script  data-project = "searxng"  data-version = "2025.2.9+a1e2b2546"  src = "../../_static/describe_version.js?v=fa7f30d0" > < / script > 
 
						
						
						
							    < link  rel = "index"  title = "Index"  href = "../../genindex.html"  / > 
 
						
						
						
							    < link  rel = "search"  title = "Search"  href = "../../search.html"  / > 
 
						
						
						
							    < link  rel = "next"  title = "Installation"  href = "../installation.html"  / > 
 
						
						
						
							    < link  rel = "prev"  title = "categories_as_tabs:"  href = "settings_categories_as_tabs.html"  / >  
 
						
						
						
							  < / head > < body > 
 
						
						
						
							    < div  class = "related"  role = "navigation"  aria-label = "Related" > 
 
						
						
						
							      < h3 > Navigation< / h3 > 
 
						
						
						
							      < ul > 
 
						
						
						
							        < li  class = "right"  style = "margin-right: 10px" > 
 
						
						
						
							          < a  href = "../../genindex.html"  title = "General Index" 
 
						
						
						
							             accesskey = "I" > index< / a > < / li > 
 
						
						
						
							        < li  class = "right"  > 
 
						
						
						
							          < a  href = "../../py-modindex.html"  title = "Python Module Index" 
 
						
						
						
							             > modules< / a >  |< / li > 
 
						
						
						
							        < li  class = "right"  > 
 
						
						
						
							          < a  href = "../installation.html"  title = "Installation" 
 
						
						
						
							             accesskey = "N" > next< / a >  |< / li > 
 
						
						
						
							        < li  class = "right"  > 
 
						
						
						
							          < a  href = "settings_categories_as_tabs.html"  title = "categories_as_tabs:" 
 
						
						
						
							             accesskey = "P" > previous< / a >  |< / li > 
 
						
						
						
							        < li  class = "nav-item nav-item-0" > < a  href = "../../index.html" > SearXNG Documentation (2025.2.9+a1e2b2546)< / a >  » < / li > 
 
						
						
						
							          < li  class = "nav-item nav-item-1" > < a  href = "../index.html"  > Administrator documentation< / a >  » < / li > 
 
						
						
						
							          < li  class = "nav-item nav-item-2" > < a  href = "index.html"  accesskey = "U" > Settings< / a >  » < / li > 
 
						
						
						
							        < li  class = "nav-item nav-item-this" > < a  href = "" > Plugins< / a > < / li >  
 
						
						
						
							      < / ul > 
 
						
						
						
							    < / div >   
 
						
						
						
							
 
						
						
						
							    < div  class = "document" > 
 
						
						
						
							      < div  class = "documentwrapper" > 
 
						
						
						
							        < div  class = "bodywrapper" > 
 
						
						
						
							          < div  class = "body"  role = "main" > 
 
						
						
						
							            
 
						
						
						
							  < section  id = "plugins" > 
 
						
						
						
							< span  id = "settings-plugins" > < / span > < h1 > Plugins< a  class = "headerlink"  href = "#plugins"  title = "Link to this heading" > ¶< / a > < / h1 > 
 
						
						
						
							< aside  class = "sidebar" > 
 
						
						
						
							< p  class = "sidebar-title" > Further reading ..< / p > 
 
						
						
						
							< ul  class = "simple" > 
 
						
						
						
							< li > < p > < a  class = "reference internal"  href = "../plugins.html#plugins-admin" > < span  class = "std std-ref" > List of plugins< / span > < / a > < / p > < / li > 
 
						
						
						
							< li > < p > < a  class = "reference internal"  href = "../../dev/plugins/development.html#dev-plugin" > < span  class = "std std-ref" > Plugin Development< / span > < / a > < / p > < / li > 
 
						
						
						
							< li > < p > < a  class = "reference internal"  href = "../../dev/plugins/builtins.html#builtin-plugins" > < span  class = "std std-ref" > Built-in Plugins< / span > < / a > < / p > < / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							< / aside > 
 
						
						
						
							< p > The built-in plugins can be activated or deactivated via the settings
 
						
						
						
							(< a  class = "reference internal"  href = "#settings-enabled-plugins" > < span  class = "std std-ref" > enabled_plugins: (internal)< / span > < / a > ) and external plugins can be integrated into
 
						
						
						
							SearXNG (< a  class = "reference internal"  href = "#settings-external-plugins" > < span  class = "std std-ref" > plugins: (external)< / span > < / a > ).< / p > 
 
						
						
						
							< section  id = "enabled-plugins-internal" > 
 
						
						
						
							< span  id = "settings-enabled-plugins" > < / span > < h2 > < code  class = "docutils literal notranslate" > < span  class = "pre" > enabled_plugins:< / span > < / code >  (internal)< a  class = "headerlink"  href = "#enabled-plugins-internal"  title = "Link to this heading" > ¶< / a > < / h2 > 
 
						
						
						
							< p > In < a  class = "reference internal"  href = "../plugins.html#plugins-admin" > < span  class = "std std-ref" > List of plugins< / span > < / a >  you find a complete list of all plugins, the default
 
						
						
						
							configuration looks like:< / p > 
 
						
						
						
							< div  class = "highlight-yaml notranslate" > < div  class = "highlight" > < pre > < span > < / span > < span  class = "nt" > enabled_plugins< / span > < span  class = "p" > :< / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Basic< / span > < span  class = "nv" >  < / span > < span  class = "s" > Calculator' < / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Hash< / span > < span  class = "nv" >  < / span > < span  class = "s" > plugin' < / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Self< / span > < span  class = "nv" >  < / span > < span  class = "s" > Information' < / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Tracker< / span > < span  class = "nv" >  < / span > < span  class = "s" > URL< / span > < span  class = "nv" >  < / span > < span  class = "s" > remover' < / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Unit< / span > < span  class = "nv" >  < / span > < span  class = "s" > converter< / span > < span  class = "nv" >  < / span > < span  class = "s" > plugin' < / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "s" > ' Ahmia< / span > < span  class = "nv" >  < / span > < span  class = "s" > blacklist' < / span > 
 
						
						
						
							< / pre > < / div > 
 
						
						
						
							< / div > 
 
						
						
						
							< / section > 
 
						
						
						
							< section  id = "plugins-external" > 
 
						
						
						
							< span  id = "settings-external-plugins" > < / span > < h2 > < code  class = "docutils literal notranslate" > < span  class = "pre" > plugins:< / span > < / code >  (external)< a  class = "headerlink"  href = "#plugins-external"  title = "Link to this heading" > ¶< / a > < / h2 > 
 
						
						
						
							< p > SearXNG supports < em > external plugins< / em >  / there is no need to install one, SearXNG
 
						
						
						
							runs out of the box.  But to demonstrate; in the example below we install the
 
						
						
						
							SearXNG plugins from < em > The Green Web Foundation< / em >  < a  class = "reference external"  href = "https://www.thegreenwebfoundation.org/news/searching-the-green-web-with-searx/" > [ref]< / a > :< / p > 
 
						
						
						
							< div  class = "highlight-bash notranslate" > < div  class = "highlight" > < pre > < span > < / span > $< span  class = "w" >  < / span > sudo< span  class = "w" >  < / span > utils/searxng.sh< span  class = "w" >  < / span > instance< span  class = "w" >  < / span > cmd< span  class = "w" >  < / span > bash< span  class = "w" >  < / span > -c
 
						
						
						
							< span  class = "o" > (< / span > searxng-pyenv< span  class = "o" > )< / span > $< span  class = "w" >  < / span > pip< span  class = "w" >  < / span > install< span  class = "w" >  < / span > git+https://github.com/return42/tgwf-searx-plugins
 
						
						
						
							< / pre > < / div > 
 
						
						
						
							< / div > 
 
						
						
						
							< p > In the < a  class = "reference internal"  href = "settings.html#settings-yml" > < span  class = "std std-ref" > settings.yml< / span > < / a >  activate the < code  class = "docutils literal notranslate" > < span  class = "pre" > plugins:< / span > < / code >  section and add module
 
						
						
						
							< code  class = "docutils literal notranslate" > < span  class = "pre" > only_show_green_results< / span > < / code >  from < code  class = "docutils literal notranslate" > < span  class = "pre" > tgwf-searx-plugins< / span > < / code > .< / p > 
 
						
						
						
							< div  class = "highlight-yaml notranslate" > < div  class = "highlight" > < pre > < span > < / span > < span  class = "nt" > plugins< / span > < span  class = "p" > :< / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "p p-Indicator" > -< / span > < span  class = "w" >  < / span > < span  class = "l l-Scalar l-Scalar-Plain" > only_show_green_results< / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "c1" > # - mypackage.mymodule.MyPlugin< / span > 
 
						
						
						
							< span  class = "w" >   < / span > < span  class = "c1" > # - mypackage.mymodule.MyOtherPlugin< / span > 
 
						
						
						
							< / pre > < / div > 
 
						
						
						
							< / div > 
 
						
						
						
							< div  class = "admonition hint" > 
 
						
						
						
							< p  class = "admonition-title" > Hint< / p > 
 
						
						
						
							< p > < code  class = "docutils literal notranslate" > < span  class = "pre" > only_show_green_results< / span > < / code >  is an old plugin that was still implemented in
 
						
						
						
							the old style.  There is a legacy treatment for backward compatibility, but
 
						
						
						
							new plugins should be implemented as a < a  class = "reference internal"  href = "../../dev/plugins/development.html#searx.plugins.Plugin"  title = "searx.plugins.Plugin" > < code  class = "xref py py-obj docutils literal notranslate" > < span  class = "pre" > searx.plugins.Plugin< / span > < / code > < / a >  class.< / p > 
 
						
						
						
							< / div > 
 
						
						
						
							< / section > 
 
						
						
						
							< / section > 
 
						
						
						
							
 
						
						
						
							
 
						
						
						
							            < div  class = "clearer" > < / div > 
 
						
						
						
							          < / div > 
 
						
						
						
							        < / div > 
 
						
						
						
							      < / div > 
 
						
						
						
							  < span  id = "sidebar-top" > < / span > 
 
						
						
						
							      < div  class = "sphinxsidebar"  role = "navigation"  aria-label = "Main" > 
 
						
						
						
							        < div  class = "sphinxsidebarwrapper" > 
 
						
						
						
							  
 
						
						
						
							    
 
						
						
						
							            < p  class = "logo" > < a  href = "../../index.html" > 
 
						
						
						
							              < img  class = "logo"  src = "../../_static/searxng-wordmark.svg"  alt = "Logo of SearXNG" / > 
 
						
						
						
							            < / a > < / p > 
 
						
						
						
							  
 
						
						
						
							
 
						
						
						
							< h3 > < a  href = "../../index.html" > Table of Contents< / a > < / h3 > 
 
						
						
						
							< ul  class = "current" > 
 
						
						
						
							< li  class = "toctree-l1" > < a  class = "reference internal"  href = "../../user/index.html" > User information< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l1" > < a  class = "reference internal"  href = "../../own-instance.html" > Why use a private instance?< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l1 current" > < a  class = "reference internal"  href = "../index.html" > Administrator documentation< / a > < ul  class = "current" > 
 
						
						
						
							< li  class = "toctree-l2 current" > < a  class = "reference internal"  href = "index.html" > Settings< / a > < ul  class = "current" > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > settings.yml< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_engine.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > engine:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_brand.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > brand:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_general.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > general:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_search.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > search:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_server.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > server:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_ui.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > ui:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_redis.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > redis:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_outgoing.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > outgoing:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3" > < a  class = "reference internal"  href = "settings_categories_as_tabs.html" > < code  class = "docutils literal notranslate" > < span  class = "pre" > categories_as_tabs:< / span > < / code > < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l3 current" > < a  class = "current reference internal"  href = "#" > Plugins< / a > < ul > 
 
						
						
						
							< li  class = "toctree-l4" > < a  class = "reference internal"  href = "#enabled-plugins-internal" > < code  class = "docutils literal notranslate" > < span  class = "pre" > enabled_plugins:< / span > < / code >  (internal)< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l4" > < a  class = "reference internal"  href = "#plugins-external" > < code  class = "docutils literal notranslate" > < span  class = "pre" > plugins:< / span > < / code >  (external)< / a > < / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							< / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							< / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation.html" > Installation< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-docker.html" > Docker Container< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-scripts.html" > Installation Script< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-searxng.html" > Step by step installation< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-uwsgi.html" > uWSGI< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-nginx.html" > NGINX< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../installation-apache.html" > Apache< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../update-searxng.html" > SearXNG maintenance< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../answer-captcha.html" > Answer CAPTCHA from server’ < / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../searx.favicons.html" > Favicons< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../searx.limiter.html" > Limiter< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../api.html" > Administration API< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../architecture.html" > Architecture< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../plugins.html" > List of plugins< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l2" > < a  class = "reference internal"  href = "../buildhosts.html" > Buildhosts< / a > < / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							< / li > 
 
						
						
						
							< li  class = "toctree-l1" > < a  class = "reference internal"  href = "../../dev/index.html" > Developer documentation< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l1" > < a  class = "reference internal"  href = "../../utils/index.html" > DevOps tooling box< / a > < / li > 
 
						
						
						
							< li  class = "toctree-l1" > < a  class = "reference internal"  href = "../../src/index.html" > Source-Code< / a > < / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							
 
						
						
						
							  < h3 > Project Links< / h3 > 
 
						
						
						
							  < ul > 
 
						
						
						
							    < li > < a  href = "https://github.com/searxng/searxng/tree/master" > Source< / a > 
 
						
						
						
							  
 
						
						
						
							    < li > < a  href = "https://github.com/searxng/searxng/wiki" > Wiki< / a > 
 
						
						
						
							  
 
						
						
						
							    < li > < a  href = "https://searx.space" > Public instances< / a > 
 
						
						
						
							  
 
						
						
						
							    < li > < a  href = "https://github.com/searxng/searxng/issues" > Issue Tracker< / a > 
 
						
						
						
							  < / ul > < h3 > Navigation< / h3 > 
 
						
						
						
							< ul > 
 
						
						
						
							  < li > < a  href = "../../index.html" > Overview< / a > 
 
						
						
						
							    < ul > 
 
						
						
						
							      < li > < a  href = "../index.html" > Administrator documentation< / a > 
 
						
						
						
							        < ul > 
 
						
						
						
							      < li > < a  href = "index.html" > Settings< / a > 
 
						
						
						
							        < ul > 
 
						
						
						
							          < li > Previous: < a  href = "settings_categories_as_tabs.html"  title = "previous chapter" > < code  class = "docutils literal notranslate" > < span  class = "pre" > categories_as_tabs:< / span > < / code > < / a > 
 
						
						
						
							          < li > Next: < a  href = "../installation.html"  title = "next chapter" > Installation< / a > < / ul > 
 
						
						
						
							      < / li > < / ul > 
 
						
						
						
							      < / li > 
 
						
						
						
							    < / ul > 
 
						
						
						
							  < / li > 
 
						
						
						
							< / ul > 
 
						
						
						
							< search  id = "searchbox"  style = "display: none"  role = "search" > 
 
						
						
						
							  < h3  id = "searchlabel" > Quick search< / h3 > 
 
						
						
						
							    < div  class = "searchformwrapper" > 
 
						
						
						
							    < form  class = "search"  action = "../../search.html"  method = "get" > 
 
						
						
						
							      < input  type = "text"  name = "q"  aria-labelledby = "searchlabel"  autocomplete = "off"  autocorrect = "off"  autocapitalize = "off"  spellcheck = "false" / > 
 
						
						
						
							      < input  type = "submit"  value = "Go"  / > 
 
						
						
						
							    < / form > 
 
						
						
						
							    < / div > 
 
						
						
						
							< / search > 
 
						
						
						
							< script > document . getElementById ( 'searchbox' ) . style . display  =  "block" < / script > 
 
						
						
						
							  < div  role = "note"  aria-label = "source link" > 
 
						
						
						
							    < h3 > This Page< / h3 > 
 
						
						
						
							    < ul  class = "this-page-menu" > 
 
						
						
						
							      < li > < a  href = "../../_sources/admin/settings/settings_plugins.rst.txt" 
 
						
						
						
							            rel = "nofollow" > Show Source< / a > < / li > 
 
						
						
						
							    < / ul > 
 
						
						
						
							   < / div > 
 
						
						
						
							        < / div > 
 
						
						
						
							      < / div > 
 
						
						
						
							      < div  class = "clearer" > < / div > 
 
						
						
						
							    < / div > 
 
						
						
						
							    < div  class = "footer"  role = "contentinfo" > 
 
						
						
						
							    ©  Copyright SearXNG team.
 
						
						
						
							    < / div > 
 
						
						
						
							  < / body > 
 
						
						
						
							< / html >