searxng_web_search
Search the web through a SearXNG instance and return paginated results with titles, URLs, and snippets, with filters for engines, language, time range, and safe search.
Instructions
Searches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly query (not prompt, q, or any other name). Calls an external SearXNG instance; availability depends on the SEARXNG_URL configuration. Use pageno to paginate results; combine time_range and language to narrow scope. When engines and time_range are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with web_url_read.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Fetch 1 to 5 consecutive pages concurrently starting at pageno; merge and deduplicate before applying the result limit. Failed pages are reported in failedPages in JSON output. | |
| query | Yes | The search query string. This is the required parameter name — use exactly `query`, not `prompt` or `q`. | |
| pageno | No | Search page number (starts at 1) | |
| engines | No | Comma-separated SearXNG engine names to query (e.g. 'google,bing,ddg'). Live /config capabilities are aggregated across reachable instances; prefer searxng_instance_info engines.common.enabled for consistent multi-instance results. Values in engines.available.enabled are best-effort and may only be honored by some instances. Known values are normalized case-insensitively; unknown values are forwarded trimmed so SearXNG can ignore or honor them. If /config is unavailable, values are forwarded as-is with a warning. If omitted, each instance uses its server-side default. | |
| language | No | Language code for search results (e.g., 'en', 'fr', 'de'). Default is instance-dependent. | all |
| min_score | No | Minimum relevance score threshold from 0.0 to 1.0. Results below this score are filtered out. | |
| categories | No | Comma-separated SearXNG categories. Live /config capabilities are aggregated across reachable instances; prefer searxng_instance_info categories.common for consistent multi-instance results. Values in categories.available are best-effort and may only be honored by some instances. Known values are normalized case-insensitively; unknown values are forwarded trimmed so SearXNG can ignore or honor them. If /config is unavailable, values are forwarded as-is with a warning. If omitted, each instance uses its server-side default. | |
| safesearch | No | Safe search filter level (0: None, 1: Moderate, 2: Strict) | |
| time_range | No | Time range of search (day, week, month, year). With explicit engines, all selected engines must confirm time_range_support=true via /config. | |
| num_results | No | Maximum number of results to return (1-20). Operator cap SEARXNG_MAX_RESULTS applies as a ceiling. | |
| result_detail | No | Result detail: full preserves SearXNG metadata and search signals; compact returns only title, URL, and content-snippet fields for each result (JSON keys: title, url, content). If omitted, full is used. | |
| response_format | No | Response format: formatted text for agents or raw JSON for programmatic clients. If omitted, SEARXNG_DEFAULT_RESPONSE_FORMAT applies; if unset or invalid, text is used. An explicit response_format always takes precedence. |