Searxng

Search a self-hosted Searxng instance for web, image, news, and other category results with SearxngTools.

SearxngTools enable an Agent to search the web using a self-hosted Searxng instance.

Prerequisites

The following example requires the openai library.

uv pip install -U agno openai

Example

cookbook/91_tools/searxng_tools.py
from agno.agent import Agent
from agno.tools.searxng import SearxngTools

# Initialize Searxng with your Searxng instance URL
searxng = SearxngTools(
    host="http://localhost:53153",
    engines=[],
    fixed_max_results=5,
)

# Create an agent with Searxng
agent = Agent(tools=[searxng])

# Example: Ask the agent to search using Searxng
agent.print_response("""
Please search for information about artificial intelligence
and summarize the key points from the top results
""")

Toolkit Params

ParameterTypeDefaultDescription
hoststr-The host for the connection.
enginesOptional[List[str]]NoneA list of search engines to use.
fixed_max_resultsOptional[int]NoneOptional parameter to specify the fixed maximum number of results.
timeoutint30Timeout in seconds for HTTP requests.

Toolkit Functions

FunctionDescription
search_webPerforms a general web search using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the search results.
image_searchPerforms an image search using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the image search results.
it_searchPerforms a search for IT-related information using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the IT-related search results.
map_searchPerforms a search for maps using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the map search results.
music_searchPerforms a search for music-related information using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the music search results.
news_searchPerforms a search for news using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the news search results.
science_searchPerforms a search for science-related information using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the science search results.
video_searchPerforms a search for videos using the specified query. Parameters include query for the search term and max_results for the maximum number of results (default is 5). Returns the video search results.

You can use include_tools or exclude_tools to modify the list of tools the agent has access to. Learn more about selecting tools.

Start the search service

The example requires an existing SearxNG instance reachable at http://localhost:53153. Follow the official installation guide, expose that port (or change host to match your deployment), and enable JSON output in its settings:

search:
  formats:
    - html
    - json

The toolkit requests format=json; instances that disable it can return 403. See the SearxNG search API. A public instance is usable only if its configuration permits these requests.

Developer Resources