Uses Exa API for intelligent web searches instead of default WebFetch. Provides up-to-date information with semantic search capabilities.
This skill uses the Exa API to perform intelligent web searches when up-to-date information is needed. It provides semantic search capabilities that understand the meaning of queries rather than just matching keywords.
Invoke this skill when ANY of these conditions are true:
Ensure the EXA_API_TOKEN environment variable is set with a valid Exa API key.
# Verify the token is available
[ -n "$EXA_API_TOKEN" ] && echo "Exa API token is configured" || echo "ERROR: EXA_API_TOKEN not set"
POST https://api.exa.ai/search)The primary endpoint for web searches. Use this for most queries.
Example:
curl -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR_SEARCH_QUERY",
"type": "auto",
"numResults": 10,
"contents": {
"text": true,
"highlights": {
"numSentences": 3
}
}
}'
Key Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | string | required | The search query |
| type | enum | "auto" | Search type: "neural", "fast", "auto", "deep" |
| numResults | integer | 10 | Number of results (max 100) |
| category | enum | - | Filter: "company", "research paper", "news", "pdf", "github" |
| includeDomains | array | - | Limit to specific domains |
| excludeDomains | array | - | Exclude specific domains |
| startPublishedDate | string | - | Filter by publish date (ISO 8601) |
| endPublishedDate | string | - | Filter by publish date (ISO 8601) |
| contents.text | boolean | false | Return full page text |
| contents.highlights | object | - | Extract relevant snippets |
| contents.summary | object | - | Generate summaries |
POST https://api.exa.ai/contents)Retrieve full content from specific URLs.
Example:
curl -X POST 'https://api.exa.ai/contents' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"ids": ["url1", "url2"],
"text": true
}'
POST https://api.exa.ai/findSimilar)Find pages similar to a given URL.
Example:
curl -X POST 'https://api.exa.ai/findSimilar' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/article",
"numResults": 10
}'
POST https://api.exa.ai/answer)Get direct answers to questions with citations.
Example:
curl -X POST 'https://api.exa.ai/answer' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "What is the latest version of Python?",
"text": true
}'
curl -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR_NEWS_QUERY",
"type": "auto",
"category": "news",
"numResults": 10,
"startPublishedDate": "2025-01-01T00:00:00Z",
"contents": {
"text": true,
"highlights": {"numSentences": 3}
}
}'
curl -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR_TECH_QUERY documentation",
"type": "auto",
"numResults": 5,
"includeDomains": ["docs.example.com", "github.com"],
"contents": {
"text": true
}
}'
curl -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR_RESEARCH_QUERY",
"type": "neural",
"category": "research paper",
"numResults": 10,
"contents": {
"text": true,
"summary": {"query": "Summarize the key findings"}
}
}'
curl -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "YOUR_REPO_QUERY",
"type": "auto",
"category": "github",
"numResults": 10,
"contents": {
"text": true
}
}'
The API returns JSON with this structure:
{
"requestId": "unique-id",
"resolvedSearchType": "neural",
"results": [
{
"title": "Page Title",
"url": "https://example.com/page",
"publishedDate": "2025-01-15",
"author": "Author Name",
"text": "Full page content...",
"highlights": ["Relevant snippet 1", "Relevant snippet 2"],
"summary": "AI-generated summary..."
}
],
"costDollars": {
"total": 0.001
}
}
Use appropriate search type:
auto - Let Exa decide (recommended for most cases)neural - Semantic search for conceptual queriesfast - Keyword-based for specific termsdeep - Comprehensive search for complex queriesFilter by category when searching for specific content types (news, papers, github)
Use date filters for time-sensitive queries to get recent results
Request highlights for quick scanning without full text
Use domain filters when you know authoritative sources
Check for these common issues:
EXA_API_TOKEN