general: # Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG} debug: false # displayed name instance_name: "SearXNG" # For example: https://example.com/privacy privacypolicy_url: false # use true to use your own donation page written in searx/info/en/donate.md # use false to disable the donation link donation_url: https://docs.searxng.org/donate.html # mailto:contact@example.com contact_url: false # record stats enable_metrics: true brand: new_issue_url: https://github.com/searxng/searxng/issues/new docs_url: https://docs.searxng.org/ public_instances: https://searx.space wiki_url: https://github.com/searxng/searxng/wiki issue_url: https://github.com/searxng/searxng/issues search: # Filter results. 0: None, 1: Moderate, 2: Strict safe_search: 0 # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "yandex", # "seznam", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off # by default. autocomplete: "" # minimun characters to type before autocompleter starts autocomplete_min: 4 # Default search language - leave blank to detect from browser information or # use codes from 'languages.py' default_lang: "" # Available languages # languages: # - all # - en # - en-US # - de # - it-IT # - fr # - fr-BE # ban time in seconds after engine errors ban_time_on_fail: 5 # max ban time in seconds after engine errors max_ban_time_on_fail: 120 suspended_times: # Engine suspension time after error (in seconds; set to 0 to disable) # For error "Access denied" and "HTTP error [402, 403]" SearxEngineAccessDenied: 86400 # For error "CAPTCHA" SearxEngineCaptcha: 86400 # For error "Too many request" and "HTTP error 429" SearxEngineTooManyRequests: 3600 # Cloudflare CAPTCHA cf_SearxEngineCaptcha: 1296000 cf_SearxEngineAccessDenied: 86400 # ReCAPTCHA recaptcha_SearxEngineCaptcha: 604800 # remove format to deny access, use lower case. # formats: [html, csv, json, rss] formats: - html server: # If you change port, bind_address or base_url don't forget to rebuild # instance's environment (make buildenv). Is overwritten by ${SEARXNG_PORT} # and ${SEARXNG_BIND_ADDRESS} port: 8888 bind_address: "127.0.0.1" # public URL of the instance, to ensure correct inbound links. Is overwritten # by ${SEARXNG_URL}. base_url: false # "http://example.com/location" limiter: false # rate limit the number of request on the instance, block some bots # If your instance owns a /etc/searxng/settings.yml file, then set the following # values there. secret_key: "ultrasecretkey" # Is overwritten by ${SEARXNG_SECRET} # Proxying image results through searx image_proxy: false # 1.0 and 1.1 are supported http_protocol_version: "1.0" # POST queries are more secure as they don't show up in history but may cause # problems when using Firefox containers method: "POST" default_http_headers: X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Download-Options: noopen X-Robots-Tag: noindex, nofollow Referrer-Policy: no-referrer redis: # URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}. # https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url url: false ui: # Custom static path - leave it blank if you didn't change static_path: "" static_use_hash: false # Custom templates path - leave it blank if you didn't change templates_path: "" # query_in_title: When true, the result page's titles contains the query # it decreases the privacy, since the browser can records the page titles. query_in_title: false # infinite_scroll: When true, automatically loads the next page when scrolling to bottom of the current page. infinite_scroll: false # ui theme default_theme: simple # center the results ? center_alignment: false # URL prefix of the internet archive, don't forgett trailing slash (if needed). # cache_url: "https://webcache.googleusercontent.com/search?q=cache:" # Default interface locale - leave blank to detect from browser information or # use codes from the 'locales' config section default_locale: "" # Open result links in a new tab by default # results_on_new_tab: false theme_args: # style of simple theme: auto, light, dark simple_style: auto # Lock arbitrary settings on the preferences page. To find the ID of the user # setting you want to lock, check the ID of the form on the page "preferences". # # preferences: # lock: # - language # - autocomplete # - method # - query_in_title # searx supports result proxification using an external service: # https://github.com/asciimoo/morty uncomment below section if you have running # morty proxy the key is base64 encoded (keep the !!binary notation) # Note: since commit af77ec3, morty accepts a base64 encoded key. # # result_proxy: # url: http://127.0.0.1:3000/ # # the key is a base64 encoded string, the YAML !!binary prefix is optional # key: !!binary "your_morty_proxy_key" # # [true|false] enable the "proxy" button next to each result # proxify_results: true # communication with search engines # outgoing: # default timeout in seconds, can be override by engine request_timeout: 3.0 # the maximum timeout in seconds # max_request_timeout: 10.0 # suffix of searx_useragent, could contain information like an email address # to the administrator useragent_suffix: "" # The maximum number of concurrent connections that may be established. pool_connections: 100 # Allow the connection pool to maintain keep-alive connections below this # point. pool_maxsize: 20 # See https://www.python-httpx.org/http2/ enable_http2: true # uncomment below section if you want to use a custom server certificate # see https://www.python-httpx.org/advanced/#changing-the-verification-defaults # and https://www.python-httpx.org/compatibility/#ssl-configuration # verify: ~/.mitmproxy/mitmproxy-ca-cert.cer # # uncomment below section if you want to use a proxyq see: SOCKS proxies # https://2.python-requests.org/en/latest/user/advanced/#proxies # are also supported: see # https://2.python-requests.org/en/latest/user/advanced/#socks # # proxies: # all://: # - http://proxy1:8080 # - http://proxy2:8080 # # using_tor_proxy: true # # Extra seconds to add in order to account for the time taken by the proxy # # extra_proxy_timeout: 10.0 # # uncomment below section only if you have more than one network interface # which can be the source of outgoing search requests # # source_ips: # - 1.1.1.1 # - 1.1.1.2 # - fe80::/126 # External plugin configuration, for more details see # https://docs.searxng.org/dev/plugins.html # # plugins: # - plugin1 # - plugin2 # - ... # Comment or un-comment plugin to activate / deactivate by default. # # enabled_plugins: # # these plugins are enabled if nothing is configured .. # - 'Hash plugin' # - 'Search on category select' # - 'Self Information' # - 'Tracker URL remover' # - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy # # these plugins are disabled if nothing is configured .. # - 'Hostname replace' # see hostname_replace configuration below # - 'Open Access DOI rewrite' # - 'Vim-like hotkeys' # - 'Tor check plugin' # # Read the docs before activate: auto-detection of the language could be # # detrimental to users expectations / users can activate the plugin in the # # preferences if they want. # - 'Autodetect search language' # Configuration of the "Hostname replace" plugin: # # hostname_replace: # '(.*\.)?youtube\.com$': 'invidious.example.com' # '(.*\.)?youtu\.be$': 'invidious.example.com' # '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com' # '(.*\.)?reddit\.com$': 'teddit.example.com' # '(.*\.)?redd\.it$': 'teddit.example.com' # '(www\.)?twitter\.com$': 'nitter.example.com' # # to remove matching host names from result list, set value to false # 'spam\.example\.com': false checker: # disable checker when in debug mode off_when_debug: true # use "scheduling: false" to disable scheduling # scheduling: interval or int # to activate the scheduler: # * uncomment "scheduling" section # * add "cache2 = name=searxngcache,items=2000,blocks=2000,blocksize=4096,bitmap=1" # to your uwsgi.ini # scheduling: # start_after: [300, 1800] # delay to start the first run of the checker # every: [86400, 90000] # how often the checker runs # additional tests: only for the YAML anchors (see the engines section) # additional_tests: rosebud: &test_rosebud matrix: query: rosebud lang: en result_container: - not_empty - ['one_title_contains', 'citizen kane'] test: - unique_results android: &test_android matrix: query: ['android'] lang: ['en', 'de', 'fr', 'zh-CN'] result_container: - not_empty - ['one_title_contains', 'google'] test: - unique_results # tests: only for the YAML anchors (see the engines section) tests: infobox: &tests_infobox infobox: matrix: query: ["linux", "new york", "bbc"] result_container: - has_infobox categories_as_tabs: general: images: videos: news: map: music: it: science: files: social media: engines: - name: 9gag engine: 9gag shortcut: 9g disabled: true - name: apk mirror engine: apkmirror timeout: 4.0 shortcut: apkm disabled: true - name: apple app store engine: apple_app_store shortcut: aps disabled: true # Requires Tor - name: ahmia engine: ahmia categories: onions enable_http: true shortcut: ah - name: arch linux wiki engine: archlinux shortcut: al - name: archive is engine: xpath search_url: https://archive.is/search/?q={query} url_xpath: (//div[@class="TEXT-BLOCK"]/a)/@href title_xpath: (//div[@class="TEXT-BLOCK"]/a) content_xpath: //div[@class="TEXT-BLOCK"]/ul/li categories: general timeout: 7.0 disabled: true shortcut: ai soft_max_redirects: 1 about: website: https://archive.is/ wikidata_id: Q13515725 official_api_documentation: https://mementoweb.org/depot/native/archiveis/ use_official_api: false require_api_key: false results: HTML - name: artic engine: artic shortcut: arc timeout: 4.0 - name: arxiv engine: arxiv shortcut: arx timeout: 4.0 # tmp suspended: dh key too small # - name: base # engine: base # shortcut: bs - name: bandcamp engine: bandcamp shortcut: bc categories: music - name: wikipedia engine: wikipedia shortcut: wp base_url: 'https://{language}.wikipedia.org/' - name: bing engine: bing shortcut: bi disabled: true - name: bing images engine: bing_images shortcut: bii - name: bing news engine: bing_news shortcut: bin - name: bing videos engine: bing_videos shortcut: biv - name: bitbucket engine: xpath paging: true search_url: https://bitbucket.org/repo/all/{pageno}?name={query} url_xpath: //article[@class="repo-summary"]//a[@class="repo-link"]/@href title_xpath: //article[@class="repo-summary"]//a[@class="repo-link"] content_xpath: //article[@class="repo-summary"]/p categories: [it, repos] timeout: 4.0 disabled: true shortcut: bb about: website: https://bitbucket.org/ wikidata_id: Q2493781 official_api_documentation: https://developer.atlassian.com/bitbucket use_official_api: false require_api_key: false results: HTML - name: btdigg engine: btdigg shortcut: bt - name: ccc-tv engine: xpath paging: false search_url: https://media.ccc.de/search/?q={query} url_xpath: //div[@class="caption"]/h3/a/@href title_xpath: //div[@class="caption"]/h3/a/text() content_xpath: //div[@class="caption"]/h4/@title categories: videos disabled: true shortcut: c3tv about: website: https://media.ccc.de/ wikidata_id: Q80729951 official_api_documentation: https://github.com/voc/voctoweb use_official_api: false require_api_key: false results: HTML # We don't set language: de here because media.ccc.de is not just # for a German audience. It contains many English videos and many # German videos have English subtitles. - name: openverse engine: openverse categories: images shortcut: opv # - name: core.ac.uk # engine: core # categories: science # shortcut: cor # # get your API key from: https://core.ac.uk/api-keys/register/ # api_key: 'unset' - name: crossref engine: crossref shortcut: cr timeout: 30 disabled: true - name: yep engine: json_engine shortcut: yep categories: general disabled: true paging: false content_html_to_text: true title_html_to_text: true search_url: https://api.yep.com/fs/1/?type=web&q={query}&no_correct=false&limit=100 results_query: 1/results title_query: title url_query: url content_query: snippet about: website: https://yep.com use_official_api: false require_api_key: false results: JSON - name: curlie engine: xpath shortcut: cl categories: general disabled: true paging: true lang_all: '' search_url: https://curlie.org/search?q={query}&lang={lang}&start={pageno}&stime=92452189 page_size: 20 results_xpath: //div[@id="site-list-content"]/div[@class="site-item"] url_xpath: ./div[@class="title-and-desc"]/a/@href title_xpath: ./div[@class="title-and-desc"]/a/div content_xpath: ./div[@class="title-and-desc"]/div[@class="site-descr"] about: website: https://curlie.org/ wikidata_id: Q60715723 use_official_api: false require_api_key: false results: HTML - name: currency engine: currency_convert categories: general shortcut: cc - name: deezer engine: deezer shortcut: dz disabled: true - name: deviantart engine: deviantart shortcut: da timeout: 3.0 - name: ddg definitions engine: duckduckgo_definitions shortcut: ddd weight: 2 disabled: true tests: *tests_infobox # cloudflare protected # - name: digbt # engine: digbt # shortcut: dbt # timeout: 6.0 # disabled: true - name: docker hub engine: docker_hub shortcut: dh categories: [it, packages] - name: erowid engine: xpath paging: true first_page_num: 0 page_size: 30 search_url: https://www.erowid.org/search.php?q={query}&s={pageno} url_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/@href title_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/text() content_xpath: //dl[@class="results-list"]/dd[@class="result-details"] categories: [] shortcut: ew disabled: true about: website: https://www.erowid.org/ wikidata_id: Q1430691 official_api_documentation: use_official_api: false require_api_key: false results: HTML # - name: elasticsearch # shortcut: es # engine: elasticsearch # base_url: http://localhost:9200 # username: elastic # password: changeme # index: my-index # # available options: match, simple_query_string, term, terms, custom # query_type: match # # if query_type is set to custom, provide your query here # #custom_query_json: {"query":{"match_all": {}}} # #show_metadata: false # disabled: true - name: wikidata engine: wikidata shortcut: wd timeout: 3.0 weight: 2 tests: *tests_infobox - name: duckduckgo engine: duckduckgo shortcut: ddg - name: duckduckgo images engine: duckduckgo_images shortcut: ddi timeout: 3.0 disabled: true - name: duckduckgo weather engine: duckduckgo_weather shortcut: ddw disabled: true - name: apple maps engine: apple_maps shortcut: apm disabled: true timeout: 5.0 - name: emojipedia engine: emojipedia timeout: 4.0 shortcut: em disabled: true - name: tineye engine: tineye shortcut: tin timeout: 9.0 disabled: true - name: etymonline engine: xpath paging: true search_url: https://etymonline.com/search?page={pageno}&q={query} url_xpath: //a[contains(@class, "word__name--")]/@href title_xpath: //a[contains(@class, "word__name--")] content_xpath: //section[contains(@class, "word__defination")] first_page_num: 1 shortcut: et categories: [dictionaries] disabled: false about: website: https://www.etymonline.com/ wikidata_id: Q1188617 official_api_documentation: use_official_api: false require_api_key: false results: HTML # - name: ebay # engine: ebay # shortcut: eb # base_url: 'https://www.ebay.com' # disabled: true # timeout: 5 - name: 1x engine: www1x shortcut: 1x timeout: 3.0 disabled: true - name: fdroid engine: fdroid shortcut: fd disabled: true - name: flickr categories: images shortcut: fl # You can use the engine using the official stable API, but you need an API # key, see: https://www.flickr.com/services/apps/create/ # engine: flickr # api_key: 'apikey' # required! # Or you can use the html non-stable engine, activated by default engine: flickr_noapi - name: free software directory engine: mediawiki shortcut: fsd categories: [it, software wikis] base_url: https://directory.fsf.org/ number_of_results: 5 # what part of a page matches the query string: title, text, nearmatch # * title - query matches title # * text - query matches the text of page # * nearmatch - nearmatch in title search_type: title timeout: 5.0 disabled: true about: website: https://directory.fsf.org/ wikidata_id: Q2470288 # - name: freesound # engine: freesound # shortcut: fnd # disabled: true # timeout: 15.0 # API key required, see: https://freesound.org/docs/api/overview.html # api_key: MyAPIkey - name: frinkiac engine: frinkiac shortcut: frk disabled: true - name: genius engine: genius shortcut: gen - name: gentoo engine: gentoo shortcut: ge timeout: 10.0 - name: gitlab engine: json_engine paging: true search_url: https://gitlab.com/api/v4/projects?search={query}&page={pageno} url_query: web_url title_query: name_with_namespace content_query: description page_size: 20 categories: [it, repos] shortcut: gl timeout: 10.0 disabled: true about: website: https://about.gitlab.com/ wikidata_id: Q16639197 official_api_documentation: https://docs.gitlab.com/ee/api/ use_official_api: false require_api_key: false results: JSON - name: github engine: github shortcut: gh # This a Gitea service. If you would like to use a different instance, # change codeberg.org to URL of the desired Gitea host. Or you can create a # new engine by copying this and changing the name, shortcut and search_url. - name: codeberg engine: json_engine search_url: https://codeberg.org/api/v1/repos/search?q={query}&limit=10 url_query: html_url title_query: name content_query: description categories: [it, repos] shortcut: cb disabled: true about: website: https://codeberg.org/ wikidata_id: official_api_documentation: https://try.gitea.io/api/swagger use_official_api: false require_api_key: false results: JSON - name: google engine: google shortcut: go # additional_tests: # android: *test_android - name: google images engine: google_images shortcut: goi # additional_tests: # android: *test_android # dali: # matrix: # query: ['Dali Christ'] # lang: ['en', 'de', 'fr', 'zh-CN'] # result_container: # - ['one_title_contains', 'Salvador'] - name: google news engine: google_news shortcut: gon # additional_tests: # android: *test_android - name: google videos engine: google_videos shortcut: gov # additional_tests: # android: *test_android - name: google scholar engine: google_scholar shortcut: gos - name: google play apps engine: google_play categories: [files, apps] shortcut: gpa play_categ: apps disabled: true - name: google play movies engine: google_play categories: videos shortcut: gpm play_categ: movies disabled: true - name: gpodder engine: json_engine shortcut: gpod timeout: 4.0 paging: false search_url: https://gpodder.net/search.json?q={query} url_query: url title_query: title content_query: description page_size: 19 categories: music disabled: true about: website: https://gpodder.net wikidata_id: Q3093354 official_api_documentation: https://gpoddernet.readthedocs.io/en/latest/api/ use_official_api: false requires_api_key: false results: JSON - name: habrahabr engine: xpath paging: true search_url: https://habrahabr.ru/search/page{pageno}/?q={query} url_xpath: //article[contains(@class, "post")]//a[@class="post__title_link"]/@href title_xpath: //article[contains(@class, "post")]//a[@class="post__title_link"] content_xpath: //article[contains(@class, "post")]//div[contains(@class, "post__text")] categories: it timeout: 4.0 disabled: true shortcut: habr about: website: https://habr.com/ wikidata_id: Q4494434 official_api_documentation: https://habr.com/en/docs/help/api/ use_official_api: false require_api_key: false results: HTML - name: hoogle engine: xpath paging: true search_url: https://hoogle.haskell.org/?hoogle={query}&start={pageno} results_xpath: '//div[@class="result"]' title_xpath: './/div[@class="ans"]//a' url_xpath: './/div[@class="ans"]//a/@href' content_xpath: './/div[@class="from"]' page_size: 20 categories: [it, packages] shortcut: ho about: website: https://hoogle.haskell.org/ wikidata_id: Q34010 official_api_documentation: https://hackage.haskell.org/api use_official_api: false require_api_key: false results: JSON - name: imdb engine: imdb shortcut: imdb timeout: 6.0 disabled: true - name: ina engine: ina shortcut: in timeout: 6.0 disabled: true - name: invidious engine: invidious # Instanes will be selected randomly, see https://api.invidious.io/ for # instances that are stable (good uptime) and close to you. base_url: - https://invidious.snopyta.org - https://vid.puffyan.us # - https://invidious.kavin.rocks # Error 1020 // Access denied by Cloudflare - https://invidio.xamh.de - https://inv.riverside.rocks shortcut: iv timeout: 3.0 disabled: true - name: jisho engine: jisho shortcut: js timeout: 3.0 disabled: true - name: kickass engine: kickass shortcut: kc timeout: 4.0 disabled: true - name: library genesis engine: xpath search_url: https://libgen.fun/search.php?req={query} url_xpath: //a[contains(@href,"get.php?md5")]/@href title_xpath: //a[contains(@href,"book/")]/text()[1] content_xpath: //td/a[1][contains(@href,"=author")]/text() categories: files timeout: 7.0 disabled: true shortcut: lg about: website: https://libgen.fun/ wikidata_id: Q22017206 official_api_documentation: use_official_api: false require_api_key: false results: HTML # Disabling zlibrary due to z-lib.org domain seizure # https://github.com/searxng/searxng/pull/1937 # # - name: z-library # engine: zlibrary # shortcut: zlib # categories: files # timeout: 3.0 # # choose base_url, otherwise engine will do it at initialization time # # base_url: https://b-ok.cc # # base_url: https://de1lib.org # # base_url: https://booksc.eu # does not have cover preview # # base_url: https://booksc.org # does not have cover preview - name: library of congress engine: loc shortcut: loc categories: images - name: lingva engine: lingva shortcut: lv # set lingva instance in url, by default it will use the official instance # url: https://lingva.ml - name: lobste.rs engine: xpath search_url: https://lobste.rs/search?utf8=%E2%9C%93&q={query}&what=stories&order=relevance results_xpath: //li[contains(@class, "story")] url_xpath: .//a[@class="u-url"]/@href title_xpath: .//a[@class="u-url"] content_xpath: .//a[@class="domain"] categories: it shortcut: lo timeout: 5.0 disabled: true about: website: https://lobste.rs/ wikidata_id: Q60762874 official_api_documentation: use_official_api: false require_api_key: false results: HTML - name: azlyrics shortcut: lyrics engine: xpath timeout: 4.0 disabled: true categories: [music, lyrics] paging: true search_url: https://search.azlyrics.com/search.php?q={query}&w=lyrics&p={pageno} url_xpath: //td[@class="text-left visitedlyr"]/a/@href title_xpath: //span/b/text() content_xpath: //td[@class="text-left visitedlyr"]/a/small about: website: https://azlyrics.com wikidata_id: Q66372542 official_api_documentation: use_official_api: false require_api_key: false results: HTML - name: metacpan engine: metacpan shortcut: cpan disabled: true number_of_results: 20 # - name: meilisearch # engine: meilisearch # shortcut: mes # enable_http: true # base_url: http://localhost:7700 # index: my-index - name: mixcloud engine: mixcloud shortcut: mc # MongoDB engine # Required dependency: pymongo # - name: mymongo # engine: mongodb # shortcut: md # exact_match_only: false # host: '127.0.0.1' # port: 27017 # enable_http: true # results_per_page: 20 # database: 'business' # collection: 'reviews' # name of the db collection # key: 'name' # key in the collection to search for - name: npm engine: json_engine paging: true first_page_num: 0 search_url: https://api.npms.io/v2/search?q={query}&size=25&from={pageno} results_query: results url_query: package/links/npm title_query: package/name content_query: package/description page_size: 25 categories: [it, packages] disabled: true timeout: 5.0 shortcut: npm about: website: https://npms.io/ wikidata_id: Q7067518 official_api_documentation: https://api-docs.npms.io/ use_official_api: false require_api_key: false results: JSON - name: nyaa engine: nyaa shortcut: nt disabled: true - name: mankier engine: json_engine search_url: https://www.mankier.com/api/v2/mans/?q={query} results_query: results url_query: url title_query: name content_query: description categories: it shortcut: man about: website: https://www.mankier.com/ official_api_documentation: https://www.mankier.com/api use_official_api: true require_api_key: false results: JSON - name: openairedatasets engine: json_engine paging: true search_url: https://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query} results_query: response/results/result url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ title_query: metadata/oaf:entity/oaf:result/title/$ content_query: metadata/oaf:entity/oaf:result/description/$ content_html_to_text: true categories: "science" shortcut: oad timeout: 5.0 about: website: https://www.openaire.eu/ wikidata_id: Q25106053 official_api_documentation: https://api.openaire.eu/ use_official_api: false require_api_key: false results: JSON - name: openairepublications engine: json_engine paging: true search_url: https://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query} results_query: response/results/result url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ title_query: metadata/oaf:entity/oaf:result/title/$ content_query: metadata/oaf:entity/oaf:result/description/$ content_html_to_text: true categories: science shortcut: oap timeout: 5.0 about: website: https://www.openaire.eu/ wikidata_id: Q25106053 official_api_documentation: https://api.openaire.eu/ use_official_api: false require_api_key: false results: JSON # - name: opensemanticsearch # engine: opensemantic # shortcut: oss # base_url: 'http://localhost:8983/solr/opensemanticsearch/' - name: openstreetmap engine: openstreetmap shortcut: osm - name: openrepos engine: xpath paging: true search_url: https://openrepos.net/search/node/{query}?page={pageno} url_xpath: //li[@class="search-result"]//h3[@class="title"]/a/@href title_xpath: //li[@class="search-result"]//h3[@class="title"]/a content_xpath: //li[@class="search-result"]//div[@class="search-snippet-info"]//p[@class="search-snippet"] categories: files timeout: 4.0 disabled: true shortcut: or about: website: https://openrepos.net/ wikidata_id: official_api_documentation: use_official_api: false require_api_key: false results: HTML - name: packagist engine: json_engine paging: true search_url: https://packagist.org/search.json?q={query}&page={pageno} results_query: results url_query: url title_query: name content_query: description categories: [it, packages] disabled: true timeout: 5.0 shortcut: pack about: website: https://packagist.org wikidata_id: Q108311377 official_api_documentation: https://packagist.org/apidoc use_official_api: true require_api_key: false results: JSON - name: pdbe engine: pdbe shortcut: pdb # Hide obsolete PDB entries. Default is not to hide obsolete structures # hide_obsolete: false - name: photon engine: photon shortcut: ph - name: piratebay engine: piratebay shortcut: tpb # You may need to change this URL to a proxy if piratebay is blocked in your # country url: https://thepiratebay.org/ timeout: 3.0 # Required dependency: psychopg2 # - name: postgresql # engine: postgresql # database: postgres # username: postgres # password: postgres # limit: 10 # query_str: 'SELECT * from my_table WHERE my_column = %(query)s' # shortcut : psql - name: pub.dev engine: xpath shortcut: pd search_url: https://pub.dev/packages?q={query}&page={pageno} paging: true results_xpath: /html/body/main/div/div[@class="search-results"]/div[@class="packages"]/div url_xpath: ./div/h3/a/@href title_xpath: ./div/h3/a content_xpath: ./p[@class="packages-description"] categories: [packages, it] timeout: 3.0 disabled: true first_page_num: 1 about: website: https://pub.dev/ official_api_documentation: https://pub.dev/help/api use_official_api: false require_api_key: false results: HTML - name: pubmed engine: pubmed shortcut: pub timeout: 3.0 - name: pypi shortcut: pypi engine: xpath paging: true search_url: https://pypi.org/search?q={query}&page={pageno} results_xpath: /html/body/main/div/div/div/form/div/ul/li/a[@class="package-snippet"] url_xpath: ./@href title_xpath: ./h3/span[@class="package-snippet__name"] content_xpath: ./p suggestion_xpath: /html/body/main/div/div/div/form/div/div[@class="callout-block"]/p/span/a[@class="link"] first_page_num: 1 categories: [it, packages] about: website: https://pypi.org wikidata_id: Q2984686 official_api_documentation: https://warehouse.readthedocs.io/api-reference/index.html use_official_api: false require_api_key: false results: HTML - name: qwant qwant_categ: web engine: qwant shortcut: qw categories: [general, web] disabled: false additional_tests: rosebud: *test_rosebud - name: qwant news qwant_categ: news engine: qwant shortcut: qwn categories: news disabled: false network: qwant - name: qwant images qwant_categ: images engine: qwant shortcut: qwi categories: [images, web] disabled: false network: qwant - name: qwant videos qwant_categ: videos engine: qwant shortcut: qwv categories: [videos, web] disabled: false network: qwant # - name: library # engine: recoll # shortcut: lib # base_url: 'https://recoll.example.org/' # search_dir: '' # mount_prefix: /export # dl_prefix: 'https://download.example.org' # timeout: 30.0 # categories: files # disabled: true # - name: recoll library reference # engine: recoll # base_url: 'https://recoll.example.org/' # search_dir: reference # mount_prefix: /export # dl_prefix: 'https://download.example.org' # shortcut: libr # timeout: 30.0 # categories: files # disabled: true - name: reddit engine: reddit shortcut: re page_size: 25 # Required dependency: redis # - name: myredis # shortcut : rds # engine: redis_server # exact_match_only: false # host: '127.0.0.1' # port: 6379 # enable_http: true # password: '' # db: 0 # tmp suspended: bad certificate # - name: scanr structures # shortcut: scs # engine: scanr_structures # disabled: true - name: sepiasearch engine: sepiasearch shortcut: sep - name: soundcloud engine: soundcloud shortcut: sc - name: stackoverflow engine: stackexchange shortcut: st api_site: 'stackoverflow' categories: [it, q&a] - name: askubuntu engine: stackexchange shortcut: ubuntu api_site: 'askubuntu' categories: [it, q&a] - name: superuser engine: stackexchange shortcut: su api_site: 'superuser' categories: [it, q&a] - name: searchcode code engine: searchcode_code shortcut: scc disabled: true - name: framalibre engine: framalibre shortcut: frl disabled: true # - name: searx # engine: searx_engine # shortcut: se # instance_urls : # - http://127.0.0.1:8888/ # - ... # disabled: true - name: semantic scholar engine: semantic_scholar disabled: true shortcut: se # Spotify needs API credentials # - name: spotify # engine: spotify # shortcut: stf # api_client_id: ******* # api_client_secret: ******* # - name: solr # engine: solr # shortcut: slr # base_url: http://localhost:8983 # collection: collection_name # sort: '' # sorting: asc or desc # field_list: '' # comma separated list of field names to display on the UI # default_fields: '' # default field to query # query_fields: '' # query fields # enable_http: true # - name: springer nature # engine: springer # # get your API key from: https://dev.springernature.com/signup # # working API key, for test & debug: "a69685087d07eca9f13db62f65b8f601" # api_key: 'unset' # shortcut: springer # timeout: 15.0 - name: startpage engine: startpage shortcut: sp timeout: 6.0 disabled: true additional_tests: rosebud: *test_rosebud - name: tokyotoshokan engine: tokyotoshokan shortcut: tt timeout: 6.0 disabled: true - name: solidtorrents engine: solidtorrents shortcut: solid timeout: 4.0 disabled: false base_url: - https://solidtorrents.net - https://solidtorrents.eu - https://solidtorrents.to - https://bitsearch.to # For this demo of the sqlite engine download: # https://liste.mediathekview.de/filmliste-v2.db.bz2 # and unpack into searx/data/filmliste-v2.db # Query to test: "!demo concert" # # - name: demo # engine: sqlite # shortcut: demo # categories: general # result_template: default.html # database: searx/data/filmliste-v2.db # query_str: >- # SELECT title || ' (' || time(duration, 'unixepoch') || ')' AS title, # COALESCE( NULLIF(url_video_hd,''), NULLIF(url_video_sd,''), url_video) AS url, # description AS content # FROM film # WHERE title LIKE :wildcard OR description LIKE :wildcard # ORDER BY duration DESC # disabled: false # Requires Tor - name: torch engine: xpath paging: true search_url: http://xmh57jrknzkhv6y3ls3ubitzfqnkrwxhopf5aygthi7d6rplyvk3noyd.onion/cgi-bin/omega/omega?P={query}&DEFAULTOP=and results_xpath: //table//tr url_xpath: ./td[2]/a title_xpath: ./td[2]/b content_xpath: ./td[2]/small categories: onions enable_http: true shortcut: tch # torznab engine lets you query any torznab compatible indexer. Using this # engine in combination with Jackett (https://github.com/Jackett/Jackett) # opens the possibility to query a lot of public and private indexers directly # from SearXNG. # - name: torznab # engine: torznab # shortcut: trz # base_url: http://localhost:9117/api/v2.0/indexers/all/results/torznab # enable_http: true # if using localhost # api_key: xxxxxxxxxxxxxxx # # https://github.com/Jackett/Jackett/wiki/Jackett-Categories # torznab_categories: # optional # - 2000 # - 5000 - name: twitter shortcut: tw engine: twitter disabled: true # maybe in a fun category # - name: uncyclopedia # engine: mediawiki # shortcut: unc # base_url: https://uncyclopedia.wikia.com/ # number_of_results: 5 # tmp suspended - too slow, too many errors # - name: urbandictionary # engine : xpath # search_url : https://www.urbandictionary.com/define.php?term={query} # url_xpath : //*[@class="word"]/@href # title_xpath : //*[@class="def-header"] # content_xpath: //*[@class="meaning"] # shortcut: ud - name: unsplash engine: unsplash shortcut: us - name: yahoo engine: yahoo shortcut: yh disabled: true - name: yahoo news engine: yahoo_news shortcut: yhn - name: youtube shortcut: yt # You can use the engine using the official stable API, but you need an API # key See: https://console.developers.google.com/project # # engine: youtube_api # api_key: 'apikey' # required! # # Or you can use the html non-stable engine, activated by default engine: youtube_noapi - name: dailymotion engine: dailymotion shortcut: dm - name: vimeo engine: vimeo shortcut: vm - name: wiby engine: json_engine paging: true search_url: https://wiby.me/json/?q={query}&p={pageno} url_query: URL title_query: Title content_query: Snippet categories: [general, web] shortcut: wib disabled: true about: website: https://wiby.me/ - name: marginalia engine: json_engine shortcut: mar categories: general paging: false # index: {"0": "popular", "1": "blogs", "2": "big_sites", # "3": "default", "4": experimental"} search_url: https://api.marginalia.nu/public/search/{query}?index=4&count=20 results_query: results url_query: url title_query: title content_query: description timeout: 1.5 disabled: true about: website: https://www.marginalia.nu/ official_api_documentation: https://api.marginalia.nu/ use_official_api: true require_api_key: true results: JSON - name: alexandria engine: json_engine shortcut: alx categories: general paging: true search_url: https://api.alexandria.org/?a=1&q={query}&p={pageno} results_query: results title_query: title url_query: url content_query: snippet timeout: 1.5 disabled: true about: website: https://alexandria.org/ official_api_documentation: https://github.com/alexandria-org/alexandria-api/raw/master/README.md use_official_api: true require_api_key: false results: JSON - name: wikibooks engine: mediawiki shortcut: wb categories: general base_url: "https://{language}.wikibooks.org/" number_of_results: 5 search_type: text disabled: true about: website: https://www.wikibooks.org/ wikidata_id: Q367 - name: wikinews engine: mediawiki shortcut: wn categories: news base_url: "https://{language}.wikinews.org/" number_of_results: 5 search_type: text disabled: true about: website: https://www.wikinews.org/ wikidata_id: Q964 - name: wikiquote engine: mediawiki shortcut: wq categories: general base_url: "https://{language}.wikiquote.org/" number_of_results: 5 search_type: text disabled: true additional_tests: rosebud: *test_rosebud about: website: https://www.wikiquote.org/ wikidata_id: Q369 - name: wikisource engine: mediawiki shortcut: ws categories: general base_url: "https://{language}.wikisource.org/" number_of_results: 5 search_type: text disabled: true about: website: https://www.wikisource.org/ wikidata_id: Q263 - name: wiktionary engine: mediawiki shortcut: wt categories: [dictionaries] base_url: "https://{language}.wiktionary.org/" number_of_results: 5 search_type: text disabled: false about: website: https://www.wiktionary.org/ wikidata_id: Q151 - name: wikiversity engine: mediawiki shortcut: wv categories: general base_url: "https://{language}.wikiversity.org/" number_of_results: 5 search_type: text disabled: true about: website: https://www.wikiversity.org/ wikidata_id: Q370 - name: wikivoyage engine: mediawiki shortcut: wy categories: general base_url: "https://{language}.wikivoyage.org/" number_of_results: 5 search_type: text disabled: true about: website: https://www.wikivoyage.org/ wikidata_id: Q373 - name: wolframalpha shortcut: wa # You can use the engine using the official stable API, but you need an API # key. See: https://products.wolframalpha.com/api/ # # engine: wolframalpha_api # api_key: '' # # Or you can use the html non-stable engine, activated by default engine: wolframalpha_noapi timeout: 6.0 categories: [] - name: dictzone engine: dictzone shortcut: dc - name: mymemory translated engine: translated shortcut: tl timeout: 5.0 disabled: false # You can use without an API key, but you are limited to 1000 words/day # See: https://mymemory.translated.net/doc/usagelimits.php # api_key: '' # Required dependency: mysql-connector-python # - name: mysql # engine: mysql_server # database: mydatabase # username: user # password: pass # limit: 10 # query_str: 'SELECT * from mytable WHERE fieldname=%(query)s' # shortcut: mysql - name: 1337x engine: 1337x shortcut: 1337x disabled: true - name: duden engine: duden shortcut: du disabled: true - name: seznam shortcut: szn engine: seznam disabled: true # - name: deepl # engine: deepl # shortcut: dpl # # You can use the engine using the official stable API, but you need an API key # # See: https://www.deepl.com/pro-api?cta=header-pro-api # api_key: '' # required! # timeout: 5.0 # disabled: true - name: mojeek shortcut: mjk engine: xpath paging: true categories: [general, web] search_url: https://www.mojeek.com/search?q={query}&s={pageno}&lang={lang}&lb={lang} results_xpath: //ul[@class="results-standard"]/li/a[@class="ob"] url_xpath: ./@href title_xpath: ../h2/a content_xpath: ..//p[@class="s"] suggestion_xpath: //div[@class="top-info"]/p[@class="top-info spell"]/em/a first_page_num: 0 page_size: 10 disabled: true about: website: https://www.mojeek.com/ wikidata_id: Q60747299 official_api_documentation: https://www.mojeek.com/services/api.html/ use_official_api: false require_api_key: false results: HTML - name: naver shortcut: nvr categories: [general, web] engine: xpath paging: true search_url: https://search.naver.com/search.naver?where=webkr&sm=osp_hty&ie=UTF-8&query={query}&start={pageno} url_xpath: //a[@class="link_tit"]/@href title_xpath: //a[@class="link_tit"] content_xpath: //a[@class="total_dsc"]/div first_page_num: 1 page_size: 10 disabled: true about: website: https://www.naver.com/ wikidata_id: Q485639 official_api_documentation: https://developers.naver.com/docs/nmt/examples/ use_official_api: false require_api_key: false results: HTML language: ko - name: rubygems shortcut: rbg engine: xpath paging: true search_url: https://rubygems.org/search?page={pageno}&query={query} results_xpath: /html/body/main/div/a[@class="gems__gem"] url_xpath: ./@href title_xpath: ./span/h2 content_xpath: ./span/p suggestion_xpath: /html/body/main/div/div[@class="search__suggestions"]/p/a first_page_num: 1 categories: [it, packages] disabled: true about: website: https://rubygems.org/ wikidata_id: Q1853420 official_api_documentation: https://guides.rubygems.org/rubygems-org-api/ use_official_api: false require_api_key: false results: HTML - name: peertube engine: peertube shortcut: ptb paging: true # alternatives see: https://instances.joinpeertube.org/instances # base_url: https://tube.4aem.com categories: videos disabled: true timeout: 6.0 - name: mediathekviewweb engine: mediathekviewweb shortcut: mvw disabled: true # - name: yacy # engine: yacy # shortcut: ya # base_url: http://localhost:8090 # required if you aren't using HTTPS for your local yacy instance' # enable_http: true # number_of_results: 5 # timeout: 3.0 - name: rumble engine: rumble shortcut: ru base_url: https://rumble.com/ paging: true categories: videos disabled: true - name: wordnik engine: wordnik shortcut: def base_url: https://www.wordnik.com/ categories: [dictionaries] timeout: 5.0 disabled: false - name: woxikon.de synonyme engine: xpath shortcut: woxi categories: [dictionaries] timeout: 5.0 disabled: true search_url: https://synonyme.woxikon.de/synonyme/{query}.php url_xpath: //div[@class="upper-synonyms"]/a/@href content_xpath: //div[@class="synonyms-list-group"] title_xpath: //div[@class="upper-synonyms"]/a no_result_for_http_status: [404] about: website: https://www.woxikon.de/ wikidata_id: # No Wikidata ID use_official_api: false require_api_key: false results: HTML language: de - name: sjp.pwn engine: sjp shortcut: sjp base_url: https://sjp.pwn.pl/ timeout: 5.0 disabled: true # wikimini: online encyclopedia for children # The fulltext and title parameter is necessary for Wikimini because # sometimes it will not show the results and redirect instead - name: wikimini engine: xpath shortcut: wkmn search_url: https://fr.wikimini.org/w/index.php?search={query}&title=Sp%C3%A9cial%3ASearch&fulltext=Search url_xpath: //li/div[@class="mw-search-result-heading"]/a/@href title_xpath: //li//div[@class="mw-search-result-heading"]/a content_xpath: //li/div[@class="searchresult"] categories: general disabled: true about: website: https://wikimini.org/ wikidata_id: Q3568032 use_official_api: false require_api_key: false results: HTML language: fr - name: wttr.in engine: wttr shortcut: wttr timeout: 9.0 - name: brave shortcut: brave engine: xpath paging: true time_range_support: true first_page_num: 0 time_range_url: "&tf={time_range_val}" search_url: https://search.brave.com/search?q={query}&offset={pageno}&spellcheck=1{time_range} url_xpath: //a[@class="result-header"]/@href title_xpath: //span[@class="snippet-title"] content_xpath: //p[1][@class="snippet-description"] suggestion_xpath: //div[@class="text-gray h6"]/a time_range_map: day: 'pd' week: 'pw' month: 'pm' year: 'py' categories: [general, web] disabled: true headers: Accept-Encoding: gzip, deflate about: website: https://brave.com/search/ wikidata_id: Q107355971 use_official_api: false require_api_key: false results: HTML - name: petalsearch shortcut: pts engine: xpath paging: true search_url: https://petalsearch.com/search?query={query}&pn={pageno} url_xpath: //div[@class='card-source'] title_xpath: //div[@class='title-name'] content_xpath: //div[@class='webpage-text'] first_page_num: 1 disabled: true headers: User-Agent: Mozilla/5.0 (Linux; Android 7.0;) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot) about: website: https://petalsearch.com/ wikidata_id: Q104399280 use_official_api: false require_api_key: false results: HTML - name: petalsearch images engine: petal_images shortcut: ptsi disabled: true timeout: 3.0 - name: lib.rs shortcut: lrs engine: xpath search_url: https://lib.rs/search?q={query} results_xpath: /html/body/main/div/ol/li/a url_xpath: ./@href title_xpath: ./div[@class="h"]/h4 content_xpath: ./div[@class="h"]/p categories: [it, packages] disabled: true about: website: https://lib.rs wikidata_id: Q113486010 use_official_api: false require_api_key: false results: HTML - name: sourcehut shortcut: srht engine: xpath paging: true search_url: https://sr.ht/projects?page={pageno}&search={query} results_xpath: (//div[@class="event-list"])[1]/div[@class="event"] url_xpath: ./h4/a[2]/@href title_xpath: ./h4/a[2] content_xpath: ./p first_page_num: 1 categories: [it, repos] disabled: true about: website: https://sr.ht wikidata_id: Q78514485 official_api_documentation: https://man.sr.ht/ use_official_api: false require_api_key: false results: HTML - name: goo shortcut: goo engine: xpath paging: true search_url: https://search.goo.ne.jp/web.jsp?MT={query}&FR={pageno}0 url_xpath: //div[@class="result"]/p[@class='title fsL1']/a/@href title_xpath: //div[@class="result"]/p[@class='title fsL1']/a content_xpath: //p[contains(@class,'url fsM')]/following-sibling::p first_page_num: 0 categories: [general, web] disabled: true timeout: 4.0 about: website: https://search.goo.ne.jp wikidata_id: Q249044 use_official_api: false require_api_key: false results: HTML language: ja # Doku engine lets you access to any Doku wiki instance: # A public one or a privete/corporate one. # - name: ubuntuwiki # engine: doku # shortcut: uw # base_url: 'https://doc.ubuntu-fr.org' # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive # information. You can restrict access by configuring a list # of access tokens under tokens. # - name: git grep # engine: command # command: ['git', 'grep', '{{QUERY}}'] # shortcut: gg # tokens: [] # disabled: true # delimiter: # chars: ':' # keys: ['filepath', 'code'] # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive # information. You can restrict access by configuring a list # of access tokens under tokens. # - name: locate # engine: command # command: ['locate', '{{QUERY}}'] # shortcut: loc # tokens: [] # disabled: true # delimiter: # chars: ' ' # keys: ['line'] # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive # information. You can restrict access by configuring a list # of access tokens under tokens. # - name: find # engine: command # command: ['find', '.', '-name', '{{QUERY}}'] # query_type: path # shortcut: fnd # tokens: [] # disabled: true # delimiter: # chars: ' ' # keys: ['line'] # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive # information. You can restrict access by configuring a list # of access tokens under tokens. # - name: pattern search in files # engine: command # command: ['fgrep', '{{QUERY}}'] # shortcut: fgr # tokens: [] # disabled: true # delimiter: # chars: ' ' # keys: ['line'] # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive # information. You can restrict access by configuring a list # of access tokens under tokens. # - name: regex search in files # engine: command # command: ['grep', '{{QUERY}}'] # shortcut: gr # tokens: [] # disabled: true # delimiter: # chars: ' ' # keys: ['line'] doi_resolvers: oadoi.org: 'https://oadoi.org/' doi.org: 'https://doi.org/' doai.io: 'https://dissem.in/' sci-hub.se: 'https://sci-hub.se/' sci-hub.st: 'https://sci-hub.st/' sci-hub.ru: 'https://sci-hub.ru/' default_doi_resolver: 'oadoi.org'