From abae17e6fc49e2b77fb1c090db984e4867cea723 Mon Sep 17 00:00:00 2001 From: Tommaso Colella Date: Mon, 29 Dec 2025 15:04:33 +0100 Subject: [PATCH] [mod] docs: better explanation for search api usage and format support (#5574) --- docs/dev/search_api.rst | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/dev/search_api.rst b/docs/dev/search_api.rst index aa5f847ea..016bd2e29 100644 --- a/docs/dev/search_api.rst +++ b/docs/dev/search_api.rst @@ -4,15 +4,33 @@ Search API ========== -The search supports both ``GET`` and ``POST``. +SearXNG supports querying via a simple HTTP API. +Two endpoints, ``/`` and ``/search``, are supported for both GET and POST methods. +The GET method expects parameters as URL query parameters, while the POST method expects parameters as form data. -Furthermore, two endpoints ``/`` and ``/search`` are available for querying. +If you want to consume the results as JSON, CSV, or RSS, you need to set the +``format`` parameter accordingly. Supported formats are defined in ``settings.yml``, under the ``search`` section. +Requesting an unset format will return a 403 Forbidden error. Be aware that many public instances have these formats disabled. +Endpoints: + ``GET /`` - ``GET /search`` +``POST /`` +``POST /search`` + +example cURL calls: + +.. code-block:: bash + + curl 'https://searx.example.org/search?q=searxng&format=json' + + curl -X POST 'https://searx.example.org/search' -d 'q=searxng&format=csv' + + curl -L -X POST -d 'q=searxng&format=json' 'https://searx.example.org/' + Parameters ==========