Skip to main content

Exa Search

OpenClaw supports Exa AI as a web_search provider. Exa offers neural, keyword, and hybrid search modes with built-in content extraction (highlights, text, summaries).

Get an API key

1

Create an account

Sign up at exa.ai and generate an API key from your dashboard.
2

Store the key

Set EXA_API_KEY in the Gateway environment, or configure via:
openclaw configure --section web

Config

{
  plugins: {
    entries: {
      exa: {
        config: {
          webSearch: {
            apiKey: "exa-...", // optional if EXA_API_KEY is set
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        provider: "exa",
      },
    },
  },
}
Environment alternative: set EXA_API_KEY in the Gateway environment. For a gateway install, put it in ~/.openclaw/.env.

Tool parameters

ParameterDescription
querySearch query (required)
countResults to return (1-100)
typeSearch mode: auto, neural, fast, deep, deep-reasoning, or instant
freshnessTime filter: day, week, month, or year
date_afterResults after this date (YYYY-MM-DD)
date_beforeResults before this date (YYYY-MM-DD)
contentsContent extraction options (see below)

Content extraction

Exa can return extracted content alongside search results. Pass a contents object to enable:
await web_search({
  query: "transformer architecture explained",
  type: "neural",
  contents: {
    text: true, // full page text
    highlights: { numSentences: 3 }, // key sentences
    summary: true, // AI summary
  },
});
Contents optionTypeDescription
textboolean | { maxCharacters }Extract full page text
highlightsboolean | { maxCharacters, query, numSentences, highlightsPerUrl }Extract key sentences
summaryboolean | { query }AI-generated summary

Search modes

ModeDescription
autoExa picks the best mode (default)
neuralSemantic/meaning-based search
fastQuick keyword search
deepThorough deep search
deep-reasoningDeep search with reasoning
instantFastest results

Notes

  • If no contents option is provided, Exa defaults to { highlights: true } so results include key sentence excerpts
  • Results preserve highlightScores and summary fields from the Exa API response when available
  • Result descriptions are resolved from highlights first, then summary, then full text — whichever is available
  • freshness and date_after/date_before cannot be combined — use one time-filter mode
  • Up to 100 results can be returned per query (subject to Exa search-type limits)
  • Results are cached for 15 minutes by default (configurable via cacheTtlMinutes)
  • Exa is an official API integration with structured JSON responses