
Exa Search
- 1 installs
- Updated July 16, 2026
- afk101/gd-claude-code-plugin
exa-search is a Claude Code skill that lets an agent search the web through the Exa API using curl.
About
exa-search is a Claude Code skill that queries the web through the Exa API using shell curl commands. It gives an agent up-to-date information such as documentation, code examples, news and research papers that may not be in its training data. A developer uses it when the agent needs live web data, current library versions or recent events. It ships ready-to-run curl and jq snippets for search, full-text, news and deep-research modes.
- Searches the web via the Exa API using only curl, no Node.js or Python required
- Covers general search, full-page text, news, deep research and URL content fetch patterns
- Includes domain filtering and jq result-parsing recipes
Exa Search by the numbers
- 1 all-time installs (skills.sh)
- Ranked #14,098 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 17, 2026 (Skillselion catalog sync)
exa-search capabilities & compatibility
Requires an Exa API key (an example key is embedded in the SKILL.md).
- Capabilities
- web search · web research · news search · content fetch
- Works with
- github
- Use cases
- web search · research · web scraping
- Pricing
- Bring your own API key
What exa-search says it does
Use this skill to search the web via the [Exa API](https://exa.ai) using `curl`. No Node.js or Python needed — just shell.
Use this skill whenever you need to search the web for up-to-date information, documentation,
npx skills add https://github.com/afk101/gd-claude-code-plugin --skill exa-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| Last updated | July 16, 2026 |
| Repository | afk101/gd-claude-code-plugin ↗ |
What it does
Give a Claude Code agent live web search over the Exa API through simple curl commands.
Who is it for?
Developers who want an agent to pull up-to-date docs, code examples, news or research via a shell-only web search.
Skip if: Offline tasks or lookups already covered by the model's training data.
When should I use this skill?
The user asks to search for, look up, or find recent information, current library versions or API docs.
What you get
The agent retrieves current web results with titles, URLs, highlights and dates via the Exa API.
By the numbers
- 5 search patterns (general, full-text, news, deep, url-contents)
- 5-item common-mistakes list
Files
Exa Web Search
Use this skill to search the web via the Exa API using curl. No Node.js or Python needed — just shell.
Quick Start
curl -s -X POST 'https://api.exa.ai/search' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR QUERY HERE",
"type": "auto",
"num_results": 10,
"contents": {
"highlights": {
"max_characters": 4000
}
}
}'Parameters
| Parameter | Value | Notes |
|---|---|---|
type | "auto" | Default. Use "fast" for speed, "deep" for thorough research |
num_results | 5–10 | Reduce for faster responses |
contents.highlights.max_characters | 4000 | Key excerpts. Switch to "text" for full page content |
Common Search Patterns
General web search (default)
curl -s -X POST 'https://api.exa.ai/search' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"query": "Next.js 15 app router data fetching",
"type": "auto",
"num_results": 5,
"contents": {
"highlights": { "max_characters": 4000 }
}
}'Full page text (for code/docs you need in full)
curl -s -X POST 'https://api.exa.ai/search' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"query": "Prisma schema relations one-to-many",
"type": "auto",
"num_results": 3,
"contents": {
"text": { "max_characters": 20000 }
}
}'News / recent events
curl -s -X POST 'https://api.exa.ai/search' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"query": "OpenAI GPT-5 release",
"type": "auto",
"category": "news",
"num_results": 5,
"contents": {
"highlights": { "max_characters": 4000 }
}
}'Deep research (thorough, slower)
curl -s -X POST 'https://api.exa.ai/search' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"query": "vector database comparison 2025 performance benchmarks",
"type": "deep",
"num_results": 10,
"contents": {
"highlights": { "max_characters": 4000 }
}
}'Fetch content from known URLs
curl -s -X POST 'https://api.exa.ai/contents' \
-H 'x-api-key: 69b2e0ee-f92a-48ab-9233-cc8a750a1e50' \
-H 'Content-Type: application/json' \
-d '{
"urls": ["https://docs.example.com/api"],
"text": { "max_characters": 20000 }
}'Reading Results
The response is JSON. Key fields per result:
.results[].title — page title
.results[].url — source URL
.results[].highlights — relevant excerpts (array of strings)
.results[].text — full text (only if you requested "text" contents)
.results[].publishedDate — ISO date stringPretty-print with jq:
curl -s ... | jq '.results[] | {title, url, highlights}'Extract just titles and URLs:
curl -s ... | jq -r '.results[] | "\(.title)\n\(.url)\n"'Domain Filtering (optional)
Focus on authoritative sources when needed:
{
"query": "...",
"includeDomains": ["github.com", "docs.python.org"],
"excludeDomains": ["pinterest.com", "quora.com"]
}Environment Variable (recommended)
To avoid hardcoding the key in commands:
export EXA_API_KEY="69b2e0ee-f92a-48ab-9233-cc8a750a1e50"
curl -s -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{ "query": "...", "type": "auto", "num_results": 5, "contents": {"highlights": {"max_characters": 4000}} }'Common Mistakes to Avoid
- ❌
"livecrawl": "preferred"→ deprecated, use"maxAgeHours": 0instead - ❌
"useAutoprompt": true→ deprecated, remove it - ❌
"highlights"at top level of/search→ must be inside"contents": { ... } - ❌
"includeUrls"→ doesn't exist, use"includeDomains" - ❌ Both
"text"and"highlights"in same request → pick one
Related skills
FAQ
Does exa-search need Node.js or Python?
No. It calls the Exa API with curl in the shell, so no Node.js or Python is required.
How do I avoid hardcoding the API key?
Export it as EXA_API_KEY and reference $EXA_API_KEY in the curl header.