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 openaiExample
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
| Parameter | Type | Default | Description |
|---|---|---|---|
host | str | - | The host for the connection. |
engines | Optional[List[str]] | None | A list of search engines to use. |
fixed_max_results | Optional[int] | None | Optional parameter to specify the fixed maximum number of results. |
timeout | int | 30 | Timeout in seconds for HTTP requests. |
Toolkit Functions
| Function | Description |
|---|---|
search_web | Performs 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_search | Performs 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_search | Performs 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_search | Performs 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_search | Performs 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_search | Performs 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_search | Performs 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_search | Performs 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
- jsonThe 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.