openclaw - 💡(How to fix) Fix Feature Request: Add Exa.ai as a web_search provider [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#57409Fetched 2026-04-08 01:49:58
View on GitHub
Comments
2
Participants
2
Timeline
2
Reactions
0
Timeline (top)
commented ×2

Add Exa.ai as a native web_search provider alongside the existing Brave, Gemini, Grok, Kimi, and Perplexity providers.

Root Cause

Add Exa.ai as a native web_search provider alongside the existing Brave, Gemini, Grok, Kimi, and Perplexity providers.

Code Example

{
  tools: {
    web: {
      search: {
        provider: "exa",
        exa: {
          apiKey: "EXA_API_KEY_HERE",
        },
      },
    },
  },
}
RAW_BUFFERClick to expand / collapse

Feature Request

Summary

Add Exa.ai as a native web_search provider alongside the existing Brave, Gemini, Grok, Kimi, and Perplexity providers.

Motivation

  • Exa provides AI-native semantic search that returns highly relevant results for technical and research queries
  • It offers a generous free tier (1,000 requests/month)
  • Exa's neural search is fundamentally different from traditional keyword search — it understands meaning, not just keywords
  • Particularly useful for developers and researchers who need precise, context-aware search results
  • Already has an official MCP server, showing strong AI-agent ecosystem alignment

Proposed Configuration

{
  tools: {
    web: {
      search: {
        provider: "exa",
        exa: {
          apiKey: "EXA_API_KEY_HERE",
        },
      },
    },
  },
}

Or via environment variable: EXA_API_KEY

Exa API Reference

  • Docs: https://docs.exa.ai
  • API: REST-based, returns structured results with titles, URLs, snippets, and optional full-text content
  • Supports: semantic search, keyword search, auto mode, date filtering, domain filtering, content extraction

Additional Context

Currently using OpenClaw with Bedrock (Claude) on AWS. The web_search tool defaults to Brave but we don't have a Brave API key configured. Exa's semantic search would be a great fit for AI-agent workflows.

Would also be useful for auto-detection order alongside existing providers.

extent analysis

Fix Plan

To add Exa.ai as a native web_search provider, follow these steps:

  • Update the configuration to include Exa.ai as a provider
  • Implement API calls to Exa.ai for search queries
  • Handle API key configuration and error handling

Implementation Steps

  1. Add Exa.ai configuration:

{ tools: { web: { search: { provider: "exa", exa: { apiKey: "EXA_API_KEY_HERE", }, }, }, }, }

   Alternatively, set the `EXA_API_KEY` environment variable.

2. **Implement Exa.ai API calls**:
   ```python
import requests

def exa_search(query, api_key):
    url = "https://api.exa.ai/search"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    params = {
        "query": query
    }
    response = requests.get(url, headers=headers, params=params)
    return response.json()
  1. Handle API key and errors:

import os

def get_exa_api_key(): return os.environ.get("EXA_API_KEY") or "EXA_API_KEY_HERE"

def handle_exa_error(response): if response.status_code != 200: raise Exception(f"Exa.ai API error: {response.text}")


### Verification
To verify the fix, perform the following steps:
* Set the `EXA_API_KEY` environment variable or update the configuration with a valid API key
* Test the `web_search` tool with a query, e.g., "Exa.ai semantic search"
* Verify that the search results are returned correctly and contain relevant information

### Extra Tips
* Make sure to handle rate limiting and errors according to the Exa.ai API documentation
* Consider implementing auto-detection order alongside existing providers for a seamless user experience
* Refer to the Exa.ai API documentation for more information on available endpoints and parameters: https://docs.exa.ai

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING