Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
benedictking avatar

Exa Search

  • 579 installs
  • 14 repo stars
  • Updated August 1, 2026
  • benedictking/benedictking-skills

exa-search is a Claude Code skill at version 1.0.2 that delivers semantic web search, similar-page discovery, and structured Exa research for developers who need high-quality results without leaving the agent workflow.

About

exa-search is a BenedictKing Claude Code skill at version 1.0.2, MIT-licensed, requiring Node.js and network access to the Exa API. The skill maps user intent to specific Exa endpoints: semantic search with type auto by default, similar-page discovery, full result content retrieval, research-paper lookup, and GitHub discovery. Trigger conditions in the SKILL.md guide endpoint selection for deep structured research versus quick page finds. Developers reach for exa-search when Claude Code needs fresher, semantically ranked web evidence than built-in browsing alone, especially for technical research and repository discovery. Allowed tools are Bash and Read, keeping retrieval inside the standard agent shell workflow.

  • Chooses the correct Exa endpoint (search, contents, findsimilar, answer) based on user intent
  • Supports deep search, deep-reasoning, and custom outputSchema for structured research
  • Two-phase main-skill + sub-skill architecture that prevents token waste from conversation history
  • Replaces deprecated /research endpoints with current /search type: deep-reasoning patterns
  • Designed for Claude Code with Node.js and network access

Exa Search by the numbers

  • 579 all-time installs (skills.sh)
  • Ranked #689 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/benedictking/benedictking-skills --skill exa-search

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs579
repo stars14
Last updatedAugust 1, 2026
Repositorybenedictking/benedictking-skills

How do you run semantic web search from Claude Code?

Get high-quality semantic web results, similar-page discovery, full content retrieval, and structured research without leaving the Claude Code workflow.

Who is it for?

Claude Code users who need Exa-powered semantic search, paper lookup, and GitHub discovery with Node.js already available.

Skip if: Environments without Node.js or Exa API network access, or tasks satisfied by local repository search alone.

When should I use this skill?

The user needs semantic web search, similar pages, research papers, GitHub discovery, or structured Exa research from within Claude Code.

What you get

Ranked Exa search results, similar-page lists, full retrieved page content, and structured research payloads

  • Search result sets
  • Retrieved page content

By the numbers

  • Skill version 1.0.2 per SKILL.md metadata

Files

SKILL.mdMarkdownGitHub ↗

Exa Search Skill

Trigger Conditions & Endpoint Selection

Choose Exa endpoint based on user intent:

  • search: Need semantic search / find web pages / research topics. Use type: "auto" by default.
  • deep search / structured research: Use the search endpoint with type: "deep" or type: "deep-reasoning" and optional outputSchema.
  • contents: Given result IDs, need to extract full content.
  • findsimilar: Given URL, need to find similar pages.
  • answer: Need direct answer to a question.

/research and /research/v1 are deprecated and were hard-removed on 2026-05-01. Do not use them for new calls; migrate research-style requests to /search with type: "deep-reasoning".

Recommended Architecture (Main Skill + Sub-skill)

This skill uses a two-phase architecture:

1. Main skill (current context): Understand user question → Choose endpoint → Assemble JSON payload 2. Sub-skill (fork context): Only responsible for HTTP call execution, avoiding conversation history token waste

Execution Method

Use Task tool to invoke exa-fetcher sub-skill, passing command and JSON (stdin):

Task parameters:
- subagent_type: Bash
- description: "Call Exa API"
- prompt: cat <<'JSON' | node scripts/exa-api.cjs <search|contents|findsimilar|answer>
  { ...payload... }
  JSON

The script still accepts the legacy research command for backwards compatibility, but it normalizes the payload and sends it to /search with type: "deep-reasoning".

Payload Examples

1) Search

cat <<'JSON' | node scripts/exa-api.cjs search
{
  "query": "Latest research in LLMs",
  "type": "auto",
  "numResults": 10,
  "category": "research paper",
  "includeDomains": [],
  "excludeDomains": [],
  "startPublishedDate": "2025-01-01",
  "endPublishedDate": "2025-12-31",
  "contents": {
    "highlights": true,
    "summary": true
  }
}
JSON

Search Types:

  • auto: Balanced default
  • fast: Low latency
  • instant: Lowest latency
  • deep-lite: Lightweight synthesized output
  • deep: Multi-step search with reasoning and structured outputs
  • deep-reasoning: Highest-effort deep search for complex research tasks

Treat older neural references as legacy terminology; prefer auto for normal searches.

Categories:

  • company, people, research paper, news, personal site, financial report, etc.

2) Contents

cat <<'JSON' | node scripts/exa-api.cjs contents
{
  "ids": ["result-id-1", "result-id-2"],
  "text": true,
  "highlights": true,
  "summary": true
}
JSON

3) Find Similar

cat <<'JSON' | node scripts/exa-api.cjs findsimilar
{
  "url": "https://example.com/article",
  "numResults": 10,
  "category": "news",
  "includeDomains": [],
  "excludeDomains": [],
  "startPublishedDate": "2025-01-01",
  "contents": {
    "text": true,
    "summary": true
  }
}
JSON

4) Answer

cat <<'JSON' | node scripts/exa-api.cjs answer
{
  "query": "What is the capital of France?",
  "numResults": 5,
  "includeDomains": [],
  "excludeDomains": []
}
JSON

5) Structured Research via Search

Use /search with type: "deep-reasoning" and outputSchema for research-style synthesized output.

cat <<'JSON' | node scripts/exa-api.cjs search
{
  "query": "What are the latest developments in AI?",
  "type": "deep-reasoning",
  "stream": false,
  "systemPrompt": "Prefer official sources and provide specific, grounded findings.",
  "outputSchema": {
    "type": "object",
    "properties": {
      "topic": {
        "type": "string",
        "description": "The main topic"
      },
      "key_findings": {
        "type": "array",
        "description": "List of key findings",
        "items": {
          "type": "string"
        }
      }
    },
    "required": ["topic"]
  }
}
JSON

/search returns synthesized content in output.content and field-level citations/confidence in output.grounding when outputSchema is used. Do not add citation or confidence fields to the schema.

Environment Variables & API Key

Two ways to configure API Key (priority: environment variable > .env):

1. Environment variable: EXA_API_KEY 2. .env file: Place in .env, can copy from .env.example

Response Format

All endpoints return JSON with:

  • requestId: Unique request identifier
  • results: Array of search results
  • searchType: Type of search performed (for search endpoint)
  • context: LLM-friendly context string (if requested)
  • costDollars: Detailed cost breakdown

Related skills

How it compares

Pick exa-search for semantic ranking and structured Exa endpoints inside Claude Code; use generic browser skills for interactive page automation.

FAQ

What does exa-search require to run?

exa-search version 1.0.2 is designed for Claude Code, requires Node.js, needs network access to the Exa API, and declares allowed-tools Bash and Read in its skill metadata.

Which Exa capabilities does exa-search expose?

exa-search exposes semantic search with type auto, similar-page discovery, full result content retrieval, research-paper lookup, GitHub discovery, and structured deep-research flows.

Productivity & Planningresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.