Skip to main content
RapidDev - Software Development Agency

How to Install and Use Web Search by Exa in OpenClaw

To use Exa Search in OpenClaw, run `clawhub install web-search-by-exa`, get an API key at exa.ai/api, and set EXA_API_KEY in your OpenClaw config. Exa uses neural embeddings to find semantically related content rather than matching keywords — making it the best OpenClaw search skill for exploratory research, finding similar pages, and discovering content that shares meaning with your query but uses completely different terminology.

What you'll learn

  • How to install the web-search-by-exa skill and configure your EXA_API_KEY
  • How neural/semantic search differs from keyword search and when each approach is better
  • How to write OpenClaw prompts that take advantage of Exa's semantic matching capabilities
  • How to use Exa's 'find similar' feature to discover content conceptually related to a given URL or topic
  • How to combine Exa's semantic search with keyword-based skills for comprehensive research coverage
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner13 min read5 minutesSearch & ScrapingMarch 2026RapidDev Engineering Team
TL;DR

To use Exa Search in OpenClaw, run `clawhub install web-search-by-exa`, get an API key at exa.ai/api, and set EXA_API_KEY in your OpenClaw config. Exa uses neural embeddings to find semantically related content rather than matching keywords — making it the best OpenClaw search skill for exploratory research, finding similar pages, and discovering content that shares meaning with your query but uses completely different terminology.

Neural Search for Deep Research: How Exa Finds What Keywords Miss

Every major search engine you have ever used — Google, Bing, Tavily, Brave — works by matching the words in your query against the words in indexed pages. This keyword matching is fast and works well for known-term lookups: if you search for 'Claude 3.7 API pricing', you want pages that contain those exact words. But keyword matching breaks down for conceptual research: if you are looking for content about 'companies that are disrupting traditional banking', you need to find pages that discuss that idea using many different terminologies — fintech, neobank, challenger bank, embedded finance, and dozens of other terms that no single query can capture.

Exa (formerly Metaphor) was built to solve this problem. Instead of matching words, Exa converts your query into a vector embedding — a mathematical representation of meaning — and searches its index for pages whose embeddings are similar. A page about 'Revolut's approach to replacing traditional credit cards' scores as highly relevant to a query about 'companies disrupting banking' even if it never uses those exact words. This semantic matching is why Exa's results look different from every other search skill in OpenClaw, and why it is the preferred skill for exploratory research, literature review, and competitive discovery tasks.

The trade-off is that Exa is less precise for factual lookups. If you want to know the exact current price of a Stripe API call, keyword-based search from Tavily or Brave will find the right Stripe pricing page more reliably than semantic search. Exa excels when you are exploring a topic space rather than looking up a specific fact — finding related ideas, discovering niche experts in a field, or building a comprehensive map of a domain by finding everything conceptually related to a starting point.

Integration method

ClawHub Skill

Web Search by Exa installs as a ClawHub skill and connects OpenClaw to Exa's neural search index via EXA_API_KEY. Unlike keyword-based search APIs, Exa builds vector embeddings of your query and matches them against embeddings of indexed web pages — finding content that shares meaning, topic, or conceptual structure with your query even when the exact words do not appear. This makes Exa fundamentally different from Tavily or Brave Search and best suited for research use cases rather than fact-checking or news monitoring.

Prerequisites

  • OpenClaw installed and running on your system
  • ClawHub CLI available in your terminal
  • An Exa account at exa.ai for your API key (separate from Tavily or Brave accounts)
  • Familiarity with OpenClaw chat — Exa's semantic search requires more descriptive prompts than keyword-based skills

Step-by-step guide

1

Install the Web Search by Exa Skill

Run the ClawHub install command for the Exa skill. The package name is `web-search-by-exa` — the full name with hyphens. This installs the skill alongside any other search skills you have configured without conflict. Each search skill in OpenClaw has its own configuration namespace and API key, so Exa, Tavily, and Brave can all coexist in the same OpenClaw instance. After installation, verify the skill appears in your ClawHub list. The confirmation message will show the skill version and the required configuration key: EXA_API_KEY. You will not be able to use the skill until this key is configured in the next steps. Exa's skill package is slightly larger than keyword-based search skills because it includes the client library for the embeddings-based API — installation may take 10-20 seconds rather than the 2-5 seconds of simpler skills.

terminal
1# Install Exa search skill
2clawhub install web-search-by-exa
3
4# Verify installation
5clawhub list | grep exa
6
7# View available configuration options
8clawhub info web-search-by-exa

Pro tip: Note the full package name: `web-search-by-exa` (not `exa-search` or just `exa`). Using the wrong name is the most common cause of 'skill not found' errors during installation.

Expected result: Terminal shows 'web-search-by-exa@X.X.X installed successfully. Required config: EXA_API_KEY'. The skill appears in `clawhub list`.

2

Get Your Exa API Key

Go to exa.ai and click 'Get API Key' or navigate directly to the dashboard at dashboard.exa.ai. Sign up with your email or log in if you have an existing account. Exa's free trial provides a limited number of searches to get started — check the current offer on their pricing page, as free tier allowances change. Once logged in, navigate to the 'API Keys' section in your Exa dashboard. Click 'Create API Key', give it a name like 'OpenClaw', and copy the generated key. Exa API keys start with a recognizable format — store it securely as you would any API credential. Note that Exa's API is priced per search request, with different rates for semantic search (the primary mode used by this skill) versus keyword search. Check the current pricing at exa.ai/pricing when you are ready to move beyond the free trial — for most OpenClaw users the cost is low because Exa's semantic results are so precise that you need fewer total searches to find what you are looking for.

Pro tip: Exa's free trial is a good way to test whether semantic search is the right approach for your use cases before committing to a paid plan. Run your typical research queries with Exa and compare the results to what you get from Tavily — the difference should be immediately apparent for exploratory queries.

Expected result: You have an Exa API key from dashboard.exa.ai, ready to add to OpenClaw configuration.

3

Configure EXA_API_KEY in OpenClaw

Add your Exa API key to OpenClaw's configuration under the variable name EXA_API_KEY. This is a different variable from TAVILY_API_KEY and BRAVE_API_KEY — each search skill has its own named variable that the skill reads specifically. Set the key using the clawhub config command or by editing ~/.openclaw/.env directly. Multiple API keys for different search skills can all coexist in the same .env file. After setting the key, reload OpenClaw to activate the skill. Verify the configuration is correct by running `clawhub config get EXA_API_KEY`. The output should show the masked key value, confirming it is stored.

.env
1# Set Exa API key
2clawhub config set EXA_API_KEY your-exa-api-key-here
3
4# Multiple search skills can coexist in .env
5# ~/.openclaw/.env example:
6TAVILY_API_KEY=tvly-your-tavily-key
7BRAVE_API_KEY=your-brave-api-key
8EXA_API_KEY=your-exa-api-key
9
10# Reload and verify
11clawhub reload
12clawhub config get EXA_API_KEY

Pro tip: All three search API keys (Tavily, Brave, Exa) can be set in the same .env file simultaneously. OpenClaw loads all of them at startup and each skill reads only its own variable. This lets you have multiple search backends active at once.

Expected result: `clawhub config get EXA_API_KEY` returns a masked key value. OpenClaw confirms web-search-by-exa is active and authenticated.

4

Test Exa's Semantic Search in OpenClaw Chat

Open OpenClaw chat and run a query that demonstrates Exa's semantic strengths. The key to getting the best results from Exa is writing descriptive, conceptual prompts rather than short keyword strings. Exa's neural matching is calibrated for natural language descriptions of what you are looking for, not for SEO-style keyword lists. Good Exa prompts describe the idea, not the keyword: instead of 'AI safety papers 2026', try 'research that argues current large language models have a misaligned objective function and proposes solutions'. Instead of 'remote work tools', try 'software designed for teams that collaborate asynchronously across time zones without daily meetings'. When you get the results, compare them to what a keyword search would have returned. Exa will surface content that uses completely different terminology but addresses the same conceptual space — this is the skill's core value.

OpenClaw Prompt

Use Exa to find in-depth articles and essays that explore the idea of cities becoming more financially autonomous from national governments, with their own revenue sources and independent monetary policy. I want conceptual depth, not news headlines.

Paste this in OpenClaw chat

Pro tip: If Exa's results seem too broad or irrelevant, your prompt may be too abstract. Add more specific constraints: 'written by practitioners' or 'published in 2025-2026' or 'focused on technical implementation rather than policy'. Exa's semantic matching works better with rich, detailed prompts.

Expected result: OpenClaw returns 5-10 semantically matched results that address the conceptual space of your query, including sources that would never appear in a keyword search for those exact terms. Results include titles, URLs, and content summaries.

5

Advanced: Find Similar Pages and Configure Search Types

Exa's most distinctive feature beyond basic semantic search is 'find similar' — given a URL or a description of a specific piece of content, Exa finds pages that are conceptually similar to that starting point. This is useful for discovering competitors, finding similar research papers, or expanding a reading list based on a piece you already know you like. Exa also lets you configure the search type explicitly: `neural` for full semantic matching (the default), `keyword` for traditional keyword search, or `auto` to let Exa decide which mode is better for the query. For most OpenClaw use cases, the default `neural` mode is what you want. Switching to `keyword` mode turns Exa into a more conventional search tool and negates most of its semantic advantages — only do this if you have a specific reason. RapidDev helps teams configure multi-skill search pipelines in OpenClaw that leverage Exa's semantic capabilities for discovery tasks while routing precision lookups to Tavily — this hybrid approach gives you the best results across both factual and exploratory research needs.

OpenClaw Prompt

Use Exa to find pages that are conceptually similar to the Stratechery blog post about how distribution advantages work in software markets. I want to discover other analysts and writers exploring similar strategic frameworks.

Paste this in OpenClaw chat

web-search-by-exa.yaml
1# ~/.openclaw/skills/web-search-by-exa.yaml
2web-search-by-exa:
3 num_results: 10 # results per query (default: 10)
4 type: neural # neural | keyword | auto (default: neural)
5 use_autoprompt: true # let Exa enhance your query for better semantic matching
6 start_published_date: "2024-01-01" # optional: filter by publication date
7 end_published_date: "" # optional: end date filter
8 include_domains: [] # optional: restrict to specific domains
9 exclude_domains: [] # optional: exclude specific domains
10 category: "" # optional: research_paper | tweet | github | news | etc.

Pro tip: The `use_autoprompt: true` setting lets Exa rewrite your query to improve semantic matching — this is especially useful when you are not sure how to phrase your search conceptually. Enable it for exploratory queries and disable it when you want precise control over what Exa is matching against.

Expected result: With autoprompt enabled, Exa returns more relevant semantic matches even for imprecisely worded queries. The `category` filter significantly narrows results for domain-specific research.

Common use cases

Exploratory Domain Research

Map out an unfamiliar topic by finding all conceptually related content rather than trying to guess the right keywords. Exa's semantic search surfaces specialist blogs, academic discussions, and niche publications that keyword searches miss because they use domain-specific terminology you don't yet know.

OpenClaw Prompt

Use Exa to find the most relevant and insightful writing about the long-term economic effects of AI on software developer salaries. I want ideas and analysis, not news articles — look for blog posts, essays, and research papers.

Copy this prompt to try it in OpenClaw

Finding Similar Companies or Products

Describe a company, product, or idea and use Exa to find conceptually similar examples. This is particularly powerful for market research — describe what a product does rather than naming it, and Exa returns companies doing similar things regardless of how they describe themselves.

OpenClaw Prompt

Search Exa for companies that are doing what Figma does for design but for data visualization — collaborative, browser-based, real-time tools for data teams. Find the most relevant examples.

Copy this prompt to try it in OpenClaw

Literature and Prior Art Discovery

Before writing a technical blog post, paper, or proposal, use Exa to find everything conceptually related to your thesis. This surfaces existing work on your topic that you might not find through keyword searches, helping you build on prior work and avoid redundancy.

OpenClaw Prompt

Use Exa to find academic papers, technical posts, and in-depth articles conceptually related to 'using large language models as database query planners'. I want depth over breadth — find the most relevant 5-8 sources.

Copy this prompt to try it in OpenClaw

Troubleshooting

OpenClaw shows 'web-search-by-exa: authentication error' or '401 Unauthorized'

Cause: EXA_API_KEY is not set, was set under a different variable name, or the API key was copied incorrectly (truncated or with extra whitespace).

Solution: Run `clawhub config get EXA_API_KEY` to verify the key is set. If empty, set it with `clawhub config set EXA_API_KEY your-key`. If set but still failing, verify the key matches exactly what the Exa dashboard shows. Regenerate the key in the Exa dashboard if you suspect it was compromised or expired.

typescript
1# Verify and reset
2clawhub config get EXA_API_KEY
3clawhub config set EXA_API_KEY your-exa-api-key-here
4clawhub reload

clawhub install web-search-by-exa fails with 'package not found' or '404'

Cause: The package name was entered incorrectly. The exact skill name is `web-search-by-exa` — a common mistake is using `exa`, `exa-search`, or `web-search-exa` (missing the 'by').

Solution: Use the exact package name: `clawhub install web-search-by-exa`. You can also run `clawhub search exa` to find the correct package name in the ClawHub registry.

typescript
1# Use the exact package name
2clawhub install web-search-by-exa
3
4# Or search the registry to confirm the name
5clawhub search exa

Exa returns irrelevant results — results don't match the intended topic at all

Cause: The search prompt is too short or abstract for Exa's semantic matching to anchor to the right topic area. Exa's neural model needs enough descriptive context to find the right conceptual space.

Solution: Rewrite the prompt with more descriptive language, concrete examples, and explicit constraints. Add domain qualifiers ('in the context of software engineering'), time constraints ('published in 2025 or 2026'), and content type preferences ('research papers and technical blog posts, not news').

Exa search is noticeably slower than Tavily or Brave Search

Cause: Exa's neural embedding generation and similarity search is computationally more intensive than keyword matching, resulting in higher latency per query — typically 3-8 seconds versus 1-3 seconds for keyword-based skills.

Solution: This is expected behavior, not an error. Exa's semantic search is inherently slower than keyword search. Use Exa when result quality and semantic depth matter more than response time. For real-time or latency-sensitive applications, route those queries to Tavily Web Search instead.

Best practices

  • Write descriptive, conceptual prompts for Exa rather than short keyword strings — Exa's semantic model performs significantly better with natural language descriptions like 'companies using AI to automate legal document review' than with keyword fragments like 'AI legal tech'.
  • Enable `use_autoprompt: true` in your skill configuration for exploratory queries — this lets Exa reformulate your query to better align with its semantic matching model, improving result relevance especially when you are new to a topic domain.
  • Keep EXA_API_KEY in ~/.openclaw/.env and never in chat history or shared config files — Exa API keys are billed per query and an exposed key can result in unexpected charges.
  • Use Exa for the discovery phase of research and Tavily AI Search for the verification phase — find conceptually related sources with Exa, then verify specific facts with Tavily's keyword-based precise retrieval.
  • Set `category: research_paper` in your skill config when doing academic or technical research — Exa's category filtering dramatically improves signal quality for domain-specific queries.
  • Monitor your Exa API usage in the dashboard, especially when running automated research pipelines — semantic queries can consume more credits per search than keyword queries depending on your Exa plan.
  • For 'find similar' use cases, provide a URL of a page you know is highly relevant rather than a vague description — giving Exa a specific starting page produces much more precise similarity matches than describing the content in words.
  • Combine Exa with Brave Search for complete research coverage: Exa finds semantically related content that keyword search misses, while Brave's independent index finds content that Google-derived sources rank differently.

Alternatives

Frequently asked questions

How do I install Exa Search in OpenClaw?

Run `clawhub install web-search-by-exa` (note the full name with 'by'). Get an API key from dashboard.exa.ai and configure it with `clawhub config set EXA_API_KEY your-key`. Run `clawhub reload` and you can start using semantic search in OpenClaw chat.

What is the difference between Exa Search and Tavily AI Search in OpenClaw?

Exa uses neural embeddings to match content by semantic meaning — finding pages that share conceptual space with your query even when the exact words differ. Tavily AI Search uses keyword retrieval with AI post-processing to rank and synthesize results. Use Exa for exploratory research and concept discovery; use Tavily for precise factual lookups and news retrieval.

How do I configure the OpenClaw EXA_API_KEY?

Run `clawhub config set EXA_API_KEY your-exa-api-key` in the terminal. You can also add EXA_API_KEY=your-key to the ~/.openclaw/.env file alongside other search API keys. Run `clawhub reload` after making changes. The variable name must be exactly `EXA_API_KEY` with this capitalization.

Why does Exa return different results than Tavily for the same query?

This is by design. Exa's neural/semantic search finds pages based on conceptual similarity rather than keyword matching, so it naturally surfaces different content than Tavily, which uses keyword retrieval. Pages that discuss the same ideas with different terminology will rank highly in Exa but may not appear in Tavily results at all. Running both skills on the same research query gives you more comprehensive coverage.

Is Exa Search free to use in OpenClaw?

Exa offers a free trial with a limited number of searches — check their current pricing at exa.ai/pricing for exact allowances. Beyond the free trial, Exa is priced per API request. Costs are typically low for individual research use, but can accumulate for automated high-volume workflows.

ClawHub install web-search-by-exa not working — what should I check?

Verify the exact package name: `web-search-by-exa` (with hyphens, including 'by'). Common mistakes include using `exa`, `exa-search`, or `web-search-exa`. Run `clawhub search exa` to find the correct package name in the registry if you are unsure. If the install times out, wait 2-3 minutes and retry.

Can RapidDev help set up Exa alongside other OpenClaw search skills?

Yes — RapidDev can help design multi-skill research configurations that route different query types to the most appropriate search backend: Exa for semantic discovery, Tavily for precise retrieval, Brave for privacy-sensitive queries. This kind of hybrid configuration is particularly valuable for research teams where comprehensive coverage matters. Contact RapidDev for team-level setup support.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.