Skip to content

Guide · Agent skill

How to use the Exa Web Search agent skill (exa-search)

Updated · written with AI from the project's own documentation and checked against our catalogue data

The exa-search skill gives an AI agent a way to run broad web searches through Exa, a paid AI-powered search service, and return results with titles, links, dates and extracted content such as highlights, full page text or summaries. It is aimed at finding blogs, docs, news, company pages and research papers beyond academic databases. This guide explains what the skill does, how to install it, how to trigger it with plain requests, and what it needs to run.

Exa Web Searchwanshuiyin/Auto-claude-code-research-in-sleep · MIT

Quick start

  1. 1Download and unzip the skill. Download the exa-search ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. In the Claude apps, you can upload it under Settings → Capabilities → Skills instead.
  2. 2Install exa-py. Run pip install exa-py with Python 3 available on your machine.
  3. 3Set EXA_API_KEY. Get a key from exa.ai and export it as EXA_API_KEY in the environment where the agent runs.
  4. 4Make the helper available. Ensure exa_search.py from the ARIS repository can be found in .aris/tools/, tools/, or the ARIS repo location, or set ARIS_REPO.
  5. 5Ask for a search in plain language. Use a request such as "exa search for" or "find similar pages to" followed by your topic or URL.
  6. 6Narrow or deepen results. Add filters like category, domains or dates, or ask the agent to fetch full text for a result.

What the exa-search skill makes the agent do

An agent skill is a packaged set of instructions and tools that an AI agent can load when a task matches it. The exa-search skill is for broad web search with content extraction. Once it is active, the agent can search the web through Exa, filter results by category, domain or date, and pull out the text it needs from each page.

The skill also covers finding pages similar to a given URL and fetching content for URLs you already have. It is meant for cases where academic databases are not enough, so it sits alongside skills for arXiv and Semantic Scholar rather than replacing them.

  • Keyword or natural-language web search with a default of 10 results
  • Content modes: highlights (default), text, summary, or none
  • Filters for category, domains, excluded domains, required or excluded phrases, start and end dates, and two-letter country code
  • Find-similar mode for a URL, and get-contents mode for known URLs

Install the exa-search skill

You can install the skill in one of two ways. Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install, or into a project's .claude/skills/ folder to limit it to that project.

If you use the Claude apps, you can instead upload the skill under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into .claude/skills/ inside your project
  • Claude apps: Settings → Capabilities → Skills, then upload the skill

Install the Python package and set your Exa API key

The skill calls Exa through the exa-py Python package, so install that first. You also need an Exa API key. The skill's source says to get a key from exa.ai and set it as the EXA_API_KEY environment variable.

  • Requires Python 3
  • Requires the exa-py package
  • Requires an Exa API key stored in EXA_API_KEY
pip install exa-py export EXA_API_KEY=your-key-here

Make sure the exa_search.py helper is available

The skill runs a helper script named exa_search.py that comes from the ARIS repository. The skill looks for it in .aris/tools/, then tools/, then in the ARIS repository location it has recorded, and checks an ARIS_REPO environment variable along the way. If it cannot find the helper, it stops with an explicit error rather than trying to answer without it.

If you see that error, the skill's own message suggests rerunning the ARIS install or update script, exporting ARIS_REPO, or copying the helper into tools/.

  • The helper is exa_search.py from the ARIS repository
  • Without it the skill cannot produce results and will exit with an error
  • The error message also reminds you to confirm exa-py is installed

Trigger the skill with natural requests

You do not need to type a command. The skill is designed to load when your request matches its description. The description names phrases such as "exa search", "web search with content" and "find similar pages", and covers requests for broad web results beyond academic databases.

You can also call it directly with a query. Arguments are added after the skill name, and the skill accepts a search query or a URL.

  • "Use exa search to find recent blog posts about vector database benchmarks"
  • "Web search with content: current docs for the Python asyncio timeout API"
  • "Find similar pages to https://arxiv.org/abs/2301.07041"
  • /exa-search "RAG pipelines" — max: 5

Use filters and content modes

Overrides go after the query. The skill's source lists options for the number of results, category, content mode, character limit, search type, domains, phrases and dates. Categories it names are research paper, news, company, personal site, financial report and people. Content can be highlights, text, summary or none. Search type can be auto (default), neural, fast or instant.

Each result is presented as a table row with title, authors where available, venue or publisher, URL, date and key content. Author and venue fields are only filled in for research paper results.

  • /exa-search "diffusion models" — category: research paper
  • /exa-search "startup funding" — category: news, start date: 2025-01-01
  • /exa-search "transformer" — content: text, max chars: 8000
  • /exa-search "transformer" — content: summary
  • /exa-search "transformer" — domains: arxiv.org,huggingface.co

Safety notes: scripts and network access

This skill runs scripts and uses the network. The bundled helper is a Python script that calls Exa's API with your key, and your search terms and URLs are sent to Exa's external service. Do not use it for private or sensitive queries.

The skill's frontmatter allows it to run shell commands and read and write files. Review the ZIP contents and the helper before installing if that matters for your setup. The skill also has an optional step that writes to a research wiki, but only when a research-wiki folder exists and the results are research papers.

  • Search terms and URLs leave your machine and go to Exa
  • Your EXA_API_KEY is used for every call
  • Wiki ingest runs only if research-wiki/ exists and results are research papers

What people use it for

  • Finding current documentation or blog posts about a software library
  • Looking up company pages, news or product announcements
  • Finding research papers that are not on arXiv or Semantic Scholar
  • Gathering several pages similar to a known source URL
  • Pulling page summaries or full text for a list of known URLs

Frequently asked questions

How do I install the exa-search skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install or into a project's .claude/skills/ folder. In the Claude apps, you can upload it under Settings → Capabilities → Skills. You also need to install exa-py and set EXA_API_KEY.

Is the exa-search skill free?

The skill is listed under the MIT licence. Exa is a paid AI-powered search service, and the skill needs an Exa API key to return results, so you should check Exa's pricing on exa.ai before relying on it.

What do I need to run exa-search?

You need Python 3, the exa-py package installed with pip, an Exa API key set as EXA_API_KEY, and the exa_search.py helper script from the ARIS repository. Without the helper, the skill exits with an error.

Why does the skill say it cannot find exa_search.py?

The helper is looked up in .aris/tools/, tools/, and the ARIS repository location, and it is not bundled in the skill files listed here. Rerun the ARIS install or update script, export ARIS_REPO, or copy exa_search.py into tools/. Also confirm exa-py is installed.

How does exa-search compare with arXiv or Semantic Scholar skills?

The skill's own guidance says that for academic papers only, /arxiv or /semantic-scholar is more direct. Exa is meant for broad web results such as blogs, docs, news and company pages, with content extracted alongside them.

Is it safe to search private topics with this skill?

Be cautious. Search terms and URLs are sent to Exa's external service through the helper, so avoid private or sensitive queries.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use exa-search if you need broad web results with page excerpts, summaries or similar-page discovery, and you are comfortable with a paid Exa API key and sending queries to an external service. If you only need academic papers, or you cannot use Python, exa-py and an API key, pick an academic search skill or another tool instead.

Download the skill