exa-search

5 specialized scripts for Exa AI search API—neural search, content extraction, similar pages, research with citations, and async pro research.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "exa-search" with this command: npx skills add tdimino/claude-code-minoan/tdimino-claude-code-minoan-exa-search

Exa Search Skill

5 specialized scripts for Exa AI search API—neural search, content extraction, similar pages, research with citations, and async pro research.

Prerequisite: EXA_API_KEY environment variable. Get key at https://dashboard.exa.ai

Token-Efficient Search

Inspired by Anthropic's dynamic filtering—always filter before reasoning. ~24% fewer tokens, ~11% better accuracy.

The Principle: Search Cheaply → Filter → Extract Selectively → Reason

DO:

Step 1: Search with --no-text (titles/URLs only — cheapest)

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" -n 20 --no-text

Step 2: Evaluate titles, pick best 3-5 URLs

Step 3: Extract only those URLs with bounded content

python3 ~/.claude/skills/exa-search/scripts/exa_contents.py URL1 URL2 --highlights --max-chars 3000

DON'T: Search with full text for 50 results, then reason over all of it.

Use API-Level Filters First (Free Filtering)

These reduce results at the API level before you ever see them:

  • --must-include "term" — results must contain this string

  • --must-exclude "term" — removes irrelevant results

  • --domains site1.com site2.com — restrict to authoritative sources

  • --category "research paper" — eliminate irrelevant content types

  • --after 2025-01-01 / --before — temporal filtering

Use Summaries Over Full Text

When you need the gist, not raw content:

AI-distilled summaries — much smaller than full text

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --summary "Key findings" -n 5

Use Bounded Context for RAG

Capped context string — prevents unbounded token usage

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --context --context-chars 5000

Post-Process with filter_web_results.py

Pipe Exa JSON output through the Firecrawl filter script for additional reduction:

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --json |
python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py
--fields "title,url,text" --max-chars 3000

Cost Tiers — Match to Task

Type Latency Cost/1k When

--instant

<150ms Cheapest Real-time lookups, autocomplete

--fast

~500ms Low Quick checks, confirmations

auto (default)

Medium General search

--deep

4-12s $12 Comprehensive research

--deep-reasoning

12-50s $15 Maximum depth + synthesis

Structured Deep Search (Exa Deep)

Deep and deep-reasoning searches support structured JSON output via outputSchema . The API returns parsed content in output.content with per-field grounding citations and confidence scores.

Quick Example Purpose

... --deep --text-output "Short answer"

Simple text answer

... --deep-reasoning --schema-preset company

Structured company research

... --deep --output-schema '{"type":"object","properties":{"answer":{"type":"string"}}}'

Custom schema

... --deep --schema-file ~/schemas/analysis.json

Schema from file

Presets: company , paper-survey , competitor-analysis , person , news-digest

Output includes field-level grounding: per-field citations with [H]igh/[M]edium/[L]ow confidence.

Available Scripts

  1. exa_search.py — Neural Web Search

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" [options]

Quick Example Purpose

... exa_search.py "AI frameworks"

Basic search

... exa_search.py "transformers" --category "research paper" -n 20

Academic papers

... exa_search.py "query" --deep --additional-queries "alt query"

Deep search

... exa_search.py "query" --domains docs.python.org

Domain-filtered

... exa_search.py "query" --after 2025-01-01 --category news

Recent news

... exa_search.py "query" --context --context-chars 10000

RAG context

... exa_search.py "query" --instant -n 5

Sub-150ms lookup

... exa_search.py "Top AI startups" --deep-reasoning --schema-preset company

Structured company research

... exa_search.py "Who is CEO of Stripe?" --deep --text-output "Short answer"

Quick factual answer

Categories: company, research paper, news, pdf, github, tweet, personal site, people, financial report

  1. exa_contents.py — URL Content Extraction

python3 ~/.claude/skills/exa-search/scripts/exa_contents.py URL [URL2...] [options]

Quick Example Purpose

... exa_contents.py "https://arxiv.org/abs/2307.06435"

Extract paper

... exa_contents.py URL --summary "Key methods" --highlights

Summarized extraction

... exa_contents.py URL --livecrawl always

Fresh content

... exa_contents.py URL --max-chars 5000

Bounded extraction

  1. exa_similar.py — Find Similar Pages

python3 ~/.claude/skills/exa-search/scripts/exa_similar.py URL [options]

Quick Example Purpose

... exa_similar.py "https://stripe.com" --category company --exclude-source

Find competitors

... exa_similar.py "https://arxiv.org/abs/..." -n 15

Related papers

... exa_similar.py URL --summary "How different?"

Comparison summaries

  1. exa_research.py — AI-Powered Research

python3 ~/.claude/skills/exa-search/scripts/exa_research.py "question" [options]

Quick Example Purpose

... exa_research.py "React vs Vue differences?" --sources

Research with citations

... exa_research.py "query" --stream

Real-time streaming

... exa_research.py "query" --domains docs.python.org

Authoritative sources

... exa_research.py "query" --markdown

Markdown with citations

... exa_research.py "query" --answer-only

Pipe-friendly output

  1. exa_research_async.py — Async Pro Research

python3 ~/.claude/skills/exa-search/scripts/exa_research_async.py "question" [options]

Quick Example Purpose

... exa_research_async.py "Compare AI frameworks" --pro --wait

Pro model

... exa_research_async.py "Quick overview" --fast

Fast model

... exa_research_async.py "query" --schema '{...}'

Structured output

... exa_research_async.py status r_abc123

Check job

... exa_research_async.py list

List jobs

Script Selection Guide

Task Best Script

Web search with filters exa_search.py

Research papers exa_search.py --category "research paper"

Company/startup info exa_search.py --category company

GitHub repos/code exa_search.py --category github

Extract known URL content exa_contents.py

Find competitors exa_similar.py --exclude-source

Quick answers with citations exa_research.py --sources

Complex structured research exa_research_async.py --pro

Real-time search exa_search.py --instant

RAG context building exa_search.py --context

Structured research with grounding exa_search.py --deep-reasoning --schema-preset company

Quick factual answer exa_search.py --deep --text-output "Short answer"

Exa vs Firecrawl vs Native Claude Tools

Need Best Tool Why

Semantic/neural search Exa exa_search.py

AI-powered relevance

Find research papers Exa --category "research paper"

Academic index

Quick research answer Exa exa_research.py

Citations + synthesis

Find similar pages Exa exa_similar.py

Semantic similarity

Single page → markdown Firecrawl scrape --only-main-content

Cleanest output

Crawl entire site Firecrawl crawl --wait --progress

Link following

Autonomous data finding Firecrawl agent

No URLs needed

Search + scrape combined Firecrawl search --scrape

One operation

Claude API agent building Native web_search_20260209

Built-in dynamic filtering

Twitter/X content jina URL

Only tool that works

Common Workflows

Research a Topic

python3 ~/.claude/skills/exa-search/scripts/exa_research.py "How does RAG work?" --sources --markdown

Literature Review

Find papers, then find similar to best hit

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "transformer optimization" --category "research paper" -n 20 --summary "Key contributions" python3 ~/.claude/skills/exa-search/scripts/exa_similar.py "https://arxiv.org/abs/1706.03762" --category "research paper" -n 15

Documentation Research

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "React useEffect cleanup" --domains react.dev developer.mozilla.org --context

Build RAG Context

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "Python async patterns" --context --context-chars 15000 --domains docs.python.org

Reference Documentation

File Contents

references/exa-scripts-reference.md

Full parameter reference for all 5 scripts, cost table, MCP comparison, test suite

Test Suite

python3 ~/.claude/skills/exa-search/scripts/test_exa.py --quick # Quick validation python3 ~/.claude/skills/exa-search/scripts/test_exa.py # Full suite python3 ~/.claude/skills/exa-search/scripts/test_exa.py --endpoint search # Specific endpoint

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

travel-requirements-expert

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

twilio-api

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

twitter

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

figma-mcp

No summary provided by upstream source.

Repository SourceNeeds Review