Skip to main content
The user asks for web results; the agent queries SearxNG instead of a commercial search API.

SearxNG Search Tool

The SearxNG search tool allows you to perform web searches using your local SearxNG instance, providing privacy-focused search capabilities as an alternative to traditional search engines like Google or DuckDuckGo.

Quick Start

1

Start SearxNG with Docker

2

Search with agent

Overview

SearxNG is a privacy-respecting metasearch engine that aggregates results from multiple search engines without storing your data. This tool integrates with your local SearxNG instance to provide secure, private web searches for your AI agents.

Installation

First, install the required dependency:
You’ll also need a running SearxNG instance. You can set it up using Docker:

Usage

Basic Usage

Using the Alias

Integration with Agents

Function Parameters

searxng_search(query, max_results=5, searxng_url=None)

Parameters:
  • query (str, required): The search query string
  • max_results (int, optional): Maximum number of results to return. Default: 5
  • searxng_url (str, optional): URL of your SearxNG instance. Default: “http://localhost:32768/search
Returns:
  • List[Dict]: List of search results, each containing:
    • title: The title of the search result
    • url: The URL of the search result
    • snippet: A brief snippet/description of the content
    • error: Error message if the search fails

Configuration

Environment Variables

You can configure SearxNG behavior using environment variables:

SearxNG Instance Configuration

Configure your SearxNG instance by editing the settings.yml file:

Advanced Configuration Options

Rate Limiting Configuration

Authentication Configuration

Proxy Configuration

Search Categories and Filtering

Configure search categories and filters:

SearxNG Setup

For production use, consider:
  1. Custom SearxNG Configuration: Configure engines, categories, and settings
  2. Authentication: Set up authentication if needed
  3. Rate Limiting: Configure appropriate rate limits
  4. SSL/TLS: Use HTTPS for secure connections
  5. Monitoring: Set up logging and monitoring
  6. Caching: Configure Redis for result caching
  7. Load Balancing: Use multiple SearxNG instances

Advanced Usage

Multi-Agent Search System

Custom SearxNG Configuration

Error Handling

The tool includes comprehensive error handling:

Common Error Messages

  • Connection Error: “Could not connect to SearxNG at . Ensure SearxNG is running.”
  • Timeout Error: “SearxNG search request timed out”
  • Missing Dependency: “SearxNG search requires requests package. Install with: pip install requests”
  • Parsing Error: “Error parsing SearxNG response:

Best Practices

Use a local SearxNG instance for better privacy and performance
Be mindful of search frequency to avoid overwhelming your instance
Always check for errors in the response
Use environment variables for different deployment environments
Validate search results before using them in your application

Comparison with Other Search Tools

Troubleshooting

SearxNG Not Responding

Connection Issues

For more information about SearxNG setup and configuration, visit the official SearxNG documentation.

Custom Tools

Build your own agent tools

Tools Overview

Browse PraisonAI tool documentation