Appearance
Web Search Connector
The Web Search connector gives your agent the ability to search the web, perform AI-powered research via Perplexity, and retrieve news articles. It supports multiple search backends and requires no ETL ingestion -- all tools operate in real time.
Authentication
Configuration varies by search provider. Some providers (DuckDuckGo) require no API key, while others need credentials.
json
{
"name": "Web Search",
"source_type": "websearch",
"config": {
"web_search_provider": "tavily",
"web_search_api_key": "tvly-..."
}
}| Variable | Required | Description |
|---|---|---|
web_search_provider | Yes | Search backend: duckduckgo, bing, google, perplexity, tavily, searxng |
web_search_api_key | Depends | API key for the selected provider (not required for DuckDuckGo) |
google_cx | Google only | Google Programmable Search Engine ID |
perplexity_api_key | No | Perplexity API key (for web_search_perplexity tool) |
perplexity_model | No | Perplexity model to use (default: sonar) |
searxng_base_url | SearXNG only | Self-hosted SearXNG instance URL |
TIP
You can configure multiple providers simultaneously. Set web_search_provider for the primary web_search tool, and add perplexity_api_key separately to enable the AI research tool.
Live Tools (3)
| Tool | Description | Arguments |
|---|---|---|
web_search | Search the web using the configured provider | query, num_results?, region? |
web_search_perplexity | AI-powered research using Perplexity (returns synthesized answers with citations) | query, model? |
web_search_news | Search recent news articles | query, num_results?, days? |
Example: Agent Using Web Search Tools
User: "What are the latest developments in Rust async?"
Agent: Let me search for recent information.
→ Calls web_search(query: "Rust async latest developments 2026")
→ Returns top 5 results with titles, URLs, and snippets
→ Summarizes: "Key recent developments:
1. Async closures stabilized in Rust 1.85
2. New async iterator trait RFC merged
3. tokio 2.0 release with structured concurrency"User: "Give me a deep analysis of the tokio 2.0 changes"
Agent: I'll use Perplexity for a deeper analysis.
→ Calls web_search_perplexity(query: "tokio 2.0 release changes analysis")
→ Returns synthesized answer with citations from multiple sourcesETL Ingestion
This connector does not support ETL ingestion. All tools operate as live search queries with no data stored in the knowledge graph.
Configuration Reference
json
{
"name": "Web Search",
"source_type": "websearch",
"config": {
"web_search_provider": "tavily",
"web_search_api_key": "tvly-...",
"google_cx": null,
"perplexity_api_key": "pplx-...",
"perplexity_model": "sonar",
"searxng_base_url": null
}
}| Field | Type | Default | Description |
|---|---|---|---|
web_search_provider | string | required | Search backend to use |
web_search_api_key | string | -- | API key for the search provider |
google_cx | string | -- | Google Programmable Search Engine ID |
perplexity_api_key | string | -- | Perplexity API key for AI research |
perplexity_model | string | sonar | Perplexity model |
searxng_base_url | string | -- | SearXNG instance URL |
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
Invalid API key | API key is missing or incorrect | Verify the API key for the selected provider |
Quota exceeded | Provider rate limit or quota reached | Upgrade your plan or switch to a different provider |
Connection refused (SearXNG) | SearXNG instance is unreachable | Verify searxng_base_url and that the instance is running |
No results | Query returned no matches | Try a broader search query |
Perplexity unavailable | Missing perplexity_api_key | Add a Perplexity API key to use the web_search_perplexity tool |