New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Find similar content, extract pages, and run deep research

Exa - Neural Web Search & Research

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Exa - Neural Web Search & Research cover

Neural web search - find similar content, extract pages, and run deep research

---
name: web-search-exa
description: Neural web search - find similar content, extract pages, and run deep research
source: orthogonal
---


# Exa - Neural Web Search & Research

## Setup

Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```

If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`

Overview

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

What you get

  • Exa ResearchRetrieve a paginated list of your research tasks
  • AnswerGet an LLM answer to a question informed by Exa search results
  • SearchThe search endpoint lets you intelligently search the web and extract contents from the results
  • Get a taskRetrieve the status and results of a previously created research task
  • Find similar linksFind similar links to the link provided and optionally return the contents of the pages
  • Create a taskCreate an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations
Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill web-search-exa -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/research-tools/capabilities/web-search-exa
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/2df51086d094bb375a4f/web-search-exa.zip" -OutFile "$env:TEMP\web-search-exa.zip"; Expand-Archive "$env:TEMP\web-search-exa.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md13.1 KB
  • skill.meta.json283 B
Read the files here
gooseworks-ai/615c6852 files
SKILL.md
Show the full text207 lines

Exa - Neural Web Search & Research

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Neural search engine for finding similar content, extracting pages, and deep research.

Capabilities

  • Exa Research: Retrieve a paginated list of your research tasks
  • Answer: Get an LLM answer to a question informed by Exa search results
  • Search: The search endpoint lets you intelligently search the web and extract contents from the results
  • Get a task: Retrieve the status and results of a previously created research task
  • Find similar links: Find similar links to the link provided and optionally return the contents of the pages
  • Create a task: Create an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations
  • Get contents: Get the full page contents, summaries, and metadata for a list of URLs

Usage

Exa Research

Retrieve a paginated list of your research tasks. The response follows a cursor-based pagination pattern. Pass the limit parameter to control page size (max 50) and use the cursor token returned in the response to fetch subsequent pages.

Parameters:

  • cursor (string) - The cursor to paginate through the results Minimum string length: 1
  • limit (number) - Number of results per page (1-50) Required range: 1 <= x <= 50
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/research/v1"}'
Answer

Get an LLM answer to a question informed by Exa search results. /answer performs an Exa search and uses an LLM to generate either:

A direct answer for specific queries. (i.e.

Parameters:

  • query* (string) - The question or query to answer.
  • stream (boolean) - If true, the response is returned as a server-sent events (SSS) stream.
  • text (boolean) - If true, the response includes full text content in the search results
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/answer","body":{"query":"What are the best practices for prompt engineering?"}}'

The search endpoint lets you intelligently search the web and extract contents from the results.By default, it automatically chooses the best search method using Exa’s embeddings-based model and other techniques to find the most relevant results for your query.

Parameters:

  • query* (string) - The query string for the search.
  • additionalQueries (string[]) - Additional query variations for deep search. Only works with type="deep". When provided, these queries are used alongside the main query for comprehensive results.
  • type (enum<string>) - The type of search. Neural uses an embeddings-based model, auto (default) intelligently combines neural and other search methods, fast uses streamlined versions of the search models, and deep provides comprehensive search with query expansion and detailed context.
  • category (enum<string>) - A data category to focus on. The people and company categories have improved quality for finding LinkedIn profiles and company pages. Note: The company and people categories only support a limited set of filters. The following parameters are NOT supported for these categories: startPublishedDate, endPublishedDate, startCrawlDate, endCrawlDate, includeText, excludeText, excludeDomains. For people category, includeDomains only accepts LinkedIn domains. Using unsupported parameters will result in a 400 error.
  • userLocation (string) - The two-letter ISO country code of the user, e.g. US.
  • numResults (integer) - Number of results to return. Limits vary by search type: With "neural": max 100 results With "deep": max 100 results If you want to increase the num results beyond these limits, contact sales ([email protected])
  • includeDomains (string[]) - List of domains to include in the search. If specified, results will only come from these domains.
  • excludeDomains (string[]) - List of domains to exclude from search results. If specified, no results will be returned from these domains.
  • startCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled after this date. Must be specified in ISO 8601 format.
  • endCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled before this date. Must be specified in ISO 8601 format.
  • startPublishedDate (string<date-time>) - Only links with a published date after this will be returned. Must be specified in ISO 8601 format.
  • endPublishedDate (string<date-time>) - Only links with a published date before this will be returned. Must be specified in ISO 8601 format.
  • includeText (string[]) - List of strings that must be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words.
  • excludeText (string[]) - List of strings that must not be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words. Checks from the first 1000 words of the webpage text.
  • context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
  • moderation (boolean) - Enable content moderation to filter unsafe content from search results.
  • contents (object)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "startups building AI coding assistants",
  "num_results": 10,
  "contents": {"text": true}
}'
Get a task

Retrieve the status and results of a previously created research task.Use the unique researchId returned from POST /research/v1 to poll until the task is finished.

Parameters:

  • stream (string) - Set to "true" to receive real-time updates via Server-Sent Events (SSE)
  • events (string) - Set to "true" to include the detailed event log of all operations performed
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/research/v1/{researchId}"}'

Find similar links to the link provided and optionally return the contents of the pages.

Parameters:

  • url* (string) - The url for which you would like to find similar links.
  • numResults (integer) - Number of results to return. Limits vary by search type: With "neural": max 100 results With "deep": max 100 results If you want to increase the num results beyond these limits, contact sales ([email protected])
  • includeDomains (string[]) - List of domains to include in the search. If specified, results will only come from these domains.
  • excludeDomains (string[]) - List of domains to exclude from search results. If specified, no results will be returned from these domains.
  • startCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled after this date. Must be specified in ISO 8601 format.
  • endCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled before this date. Must be specified in ISO 8601 format.
  • startPublishedDate (string<date-time>) - Only links with a published date after this will be returned. Must be specified in ISO 8601 format.
  • endPublishedDate (string<date-time>) - Only links with a published date before this will be returned. Must be specified in ISO 8601 format.
  • includeText (string[]) - List of strings that must be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words.
  • excludeText (string[]) - List of strings that must not be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words. Checks from the first 1000 words of the webpage text.
  • context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
  • moderation (boolean) - Enable content moderation to filter unsafe content from search results.
  • contents (object)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/findSimilar"}'
  "url": "https://example.com/article",
  "num_results": 10
}'
Create a task

Create an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations.

Parameters:

  • instructions* (string) - Instructions for what you would like research on. A good prompt clearly defines what information you want to find, how research should be conducted, and what the output should look like.
  • model (enum<string>) - Research model to use. exa-research is faster and cheaper, while exa-research-pro provides more thorough analysis and stronger reasoning.
  • outputSchema (object) - JSON Schema to enforce structured output. When provided, the research output will be validated against this schema and returned as parsed JSON.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/research/v1","body":{"instructions":"Research the current state of AI coding assistants"}}'
Get contents

Get the full page contents, summaries, and metadata for a list of URLs.Returns instant results from our cache, with automatic live crawling as fallback for uncached pages.

Parameters:

  • urls* (string[]) - Array of URLs to crawl (backwards compatible with 'ids' parameter).
  • ids (string[]) - Deprecated - use 'urls' instead. Array of document IDs obtained from searches.
  • text (string) - If true, returns full page text with default settings. If false, disables text return.
  • highlights (object) - Text snippets the LLM identifies as most relevant from each page.
  • summary (object) - Summary of the webpage
  • livecrawl (enum<string>) - Options for livecrawling pages.'never': Disable livecrawling (default for neural search).'fallback': Livecrawl when cache is empty.'preferred': Always try to livecrawl, but fall back to cache if crawling fails.'always': Always live-crawl, never use cache. Only use if you cannot tolerate any cached content. This option is not recommended unless consulted with the Exa team.
  • livecrawlTimeout (integer) - The timeout for livecrawling in milliseconds.
  • subpages (integer) - The number of subpages to crawl. The actual number crawled may be limited by system constraints.
  • subpageTarget (string) - Term to find specific subpages of search results. Can be a single string or an array of strings, comma delimited.
  • extras (object) - Extra parameters to pass.
  • context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/contents"}'
  "ids": ["https://example.com"],
  "text": true,
  "summary": true
}'

Use Cases

  1. Competitive Research: Find companies similar to competitors
  2. Content Discovery: Find related articles and resources
  3. Market Research: Discover companies in specific niches
  4. Fact-Finding: Get sourced answers to questions
  5. Deep Research: Comprehensive research on complex topics

Discover More

For full endpoint details and parameters:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"exa API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/research"}'   # Get endpoint details
1---
2name: web-search-exa
3description: Neural web search - find similar content, extract pages, and run deep research
4source: orthogonal
5---
6 
7 
8# Exa - Neural Web Search & Research
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Neural search engine for finding similar content, extracting pages, and deep research.
24 
25## Capabilities
26 
27- **Exa Research**: Retrieve a paginated list of your research tasks
28- **Answer**: Get an LLM answer to a question informed by Exa search results
29- **Search**: The search endpoint lets you intelligently search the web and extract contents from the results
30- **Get a task**: Retrieve the status and results of a previously created research task
31- **Find similar links**: Find similar links to the link provided and optionally return the contents of the pages
32- **Create a task**: Create an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations
33- **Get contents**: Get the full page contents, summaries, and metadata for a list of URLs
34 
35## Usage
36 
37### Exa Research
38Retrieve a paginated list of your research tasks. The response follows a cursor-based pagination pattern. Pass the `limit` parameter to control page size (max 50) and use the `cursor` token returned in the response to fetch subsequent pages.
39 
40Parameters:
41- cursor (string) - The cursor to paginate through the results Minimum string length: `1`
42- limit (number) - Number of results per page (1-50) Required range: `1 <= x <= 50`
43 
44```bash
45curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
46 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
47 -H "Content-Type: application/json" \
48 -d '{"api":"exa","path":"/research/v1"}'
49```
50 
51### Answer
52Get an LLM answer to a question informed by Exa search results. /answer performs an Exa search and uses an LLM to generate either:
53 
54A direct answer for specific queries. (i.e.
55 
56Parameters:
57- query* (string) - The question or query to answer.
58- stream (boolean) - If true, the response is returned as a server-sent events (SSS) stream.
59- text (boolean) - If true, the response includes full text content in the search results
60 
61```bash
62curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
63 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
64 -H "Content-Type: application/json" \
65 -d '{"api":"exa","path":"/answer","body":{"query":"What are the best practices for prompt engineering?"}}'
66```
67 
68### Search
69The search endpoint lets you intelligently search the web and extract contents from the results.By default, it automatically chooses the best search method using Exa’s embeddings-based model and other techniques to find the most relevant results for your query.
70 
71Parameters:
72- query* (string) - The query string for the search.
73- additionalQueries (string[]) - Additional query variations for deep search. Only works with type="deep". When provided, these queries are used alongside the main query for comprehensive results.
74- type (enum<string>) - The type of search. Neural uses an embeddings-based model, auto (default) intelligently combines neural and other search methods, fast uses streamlined versions of the search models, and deep provides comprehensive search with query expansion and detailed context.
75- category (enum<string>) - A data category to focus on. The people and company categories have improved quality for finding LinkedIn profiles and company pages. Note: The company and people categories only support a limited set of filters. The following parameters are NOT supported for these categories: startPublishedDate, endPublishedDate, startCrawlDate, endCrawlDate, includeText, excludeText, excludeDomains. For people category, includeDomains only accepts LinkedIn domains. Using unsupported parameters will result in a 400 error.
76- userLocation (string) - The two-letter ISO country code of the user, e.g. US.
77- numResults (integer) - Number of results to return. Limits vary by search type: With "neural": max 100 results With "deep": max 100 results If you want to increase the num results beyond these limits, contact sales ([email protected])
78- includeDomains (string[]) - List of domains to include in the search. If specified, results will only come from these domains.
79- excludeDomains (string[]) - List of domains to exclude from search results. If specified, no results will be returned from these domains.
80- startCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled after this date. Must be specified in ISO 8601 format.
81- endCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled before this date. Must be specified in ISO 8601 format.
82- startPublishedDate (string<date-time>) - Only links with a published date after this will be returned. Must be specified in ISO 8601 format.
83- endPublishedDate (string<date-time>) - Only links with a published date before this will be returned. Must be specified in ISO 8601 format.
84- includeText (string[]) - List of strings that must be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words.
85- excludeText (string[]) - List of strings that must not be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words. Checks from the first 1000 words of the webpage text.
86- context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
87- moderation (boolean) - Enable content moderation to filter unsafe content from search results.
88- contents (object)
89 
90```bash
91curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
92 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
93 -H "Content-Type: application/json" \
94 -d '{"api":"exa","path":"/search"}'
95 "query": "startups building AI coding assistants",
96 "num_results": 10,
97 "contents": {"text": true}
98}'
99```
100 
101### Get a task
102Retrieve the status and results of a previously created research task.Use the unique researchId returned from POST /research/v1 to poll until the task is finished.
103 
104Parameters:
105- stream (string) - Set to "true" to receive real-time updates via Server-Sent Events (SSE)
106- events (string) - Set to "true" to include the detailed event log of all operations performed
107 
108```bash
109curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
110 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
111 -H "Content-Type: application/json" \
112 -d '{"api":"exa","path":"/research/v1/{researchId}"}'
113```
114 
115### Find similar links
116Find similar links to the link provided and optionally return the contents of the pages.
117 
118Parameters:
119- url* (string) - The url for which you would like to find similar links.
120- numResults (integer) - Number of results to return. Limits vary by search type: With "neural": max 100 results With "deep": max 100 results If you want to increase the num results beyond these limits, contact sales ([email protected])
121- includeDomains (string[]) - List of domains to include in the search. If specified, results will only come from these domains.
122- excludeDomains (string[]) - List of domains to exclude from search results. If specified, no results will be returned from these domains.
123- startCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled after this date. Must be specified in ISO 8601 format.
124- endCrawlDate (string<date-time>) - Crawl date refers to the date that Exa discovered a link. Results will include links that were crawled before this date. Must be specified in ISO 8601 format.
125- startPublishedDate (string<date-time>) - Only links with a published date after this will be returned. Must be specified in ISO 8601 format.
126- endPublishedDate (string<date-time>) - Only links with a published date before this will be returned. Must be specified in ISO 8601 format.
127- includeText (string[]) - List of strings that must be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words.
128- excludeText (string[]) - List of strings that must not be present in webpage text of results. Currently, only 1 string is supported, of up to 5 words. Checks from the first 1000 words of the webpage text.
129- context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
130- moderation (boolean) - Enable content moderation to filter unsafe content from search results.
131- contents (object)
132 
133```bash
134curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
135 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
136 -H "Content-Type: application/json" \
137 -d '{"api":"exa","path":"/findSimilar"}'
138 "url": "https://example.com/article",
139 "num_results": 10
140}'
141```
142 
143### Create a task
144Create an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations.
145 
146Parameters:
147- instructions* (string) - Instructions for what you would like research on. A good prompt clearly defines what information you want to find, how research should be conducted, and what the output should look like.
148- model (enum<string>) - Research model to use. exa-research is faster and cheaper, while exa-research-pro provides more thorough analysis and stronger reasoning.
149- outputSchema (object) - JSON Schema to enforce structured output. When provided, the research output will be validated against this schema and returned as parsed JSON.
150 
151```bash
152curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
153 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
154 -H "Content-Type: application/json" \
155 -d '{"api":"exa","path":"/research/v1","body":{"instructions":"Research the current state of AI coding assistants"}}'
156```
157 
158### Get contents
159Get the full page contents, summaries, and metadata for a list of URLs.Returns instant results from our cache, with automatic live crawling as fallback for uncached pages.
160 
161Parameters:
162- urls* (string[]) - Array of URLs to crawl (backwards compatible with 'ids' parameter).
163- ids (string[]) - Deprecated - use 'urls' instead. Array of document IDs obtained from searches.
164- text (string) - If true, returns full page text with default settings. If false, disables text return.
165- highlights (object) - Text snippets the LLM identifies as most relevant from each page.
166- summary (object) - Summary of the webpage
167- livecrawl (enum<string>) - Options for livecrawling pages.'never': Disable livecrawling (default for neural search).'fallback': Livecrawl when cache is empty.'preferred': Always try to livecrawl, but fall back to cache if crawling fails.'always': Always live-crawl, never use cache. Only use if you cannot tolerate any cached content. This option is not recommended unless consulted with the Exa team.
168- livecrawlTimeout (integer) - The timeout for livecrawling in milliseconds.
169- subpages (integer) - The number of subpages to crawl. The actual number crawled may be limited by system constraints.
170- subpageTarget (string) - Term to find specific subpages of search results. Can be a single string or an array of strings, comma delimited.
171- extras (object) - Extra parameters to pass.
172- context (string) - Return page contents as a context string for LLM. When true, combines all result contents into one string. We recommend using 10000+ characters for best results, though no limit works best. Context strings often perform better than highlights for RAG applications.
173 
174```bash
175curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
176 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
177 -H "Content-Type: application/json" \
178 -d '{"api":"exa","path":"/contents"}'
179 "ids": ["https://example.com"],
180 "text": true,
181 "summary": true
182}'
183```
184 
185## Use Cases
186 
1871. **Competitive Research**: Find companies similar to competitors
1882. **Content Discovery**: Find related articles and resources
1893. **Market Research**: Discover companies in specific niches
1904. **Fact-Finding**: Get sourced answers to questions
1915. **Deep Research**: Comprehensive research on complex topics
192 
193## Discover More
194 
195For full endpoint details and parameters:
196 
197```bash
198curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
199 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
200 -H "Content-Type: application/json" \
201 -d '{"prompt":"exa API endpoints"}' List all endpoints
202curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
203 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
204 -H "Content-Type: application/json" \
205 -d '{"api":"exa","path":"/research"}' # Get endpoint details
206```
207 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 206 listings
View creator

Made with web-search-exa

Exa - Neural Web Search & Research — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)
Exa - Neural Web Search & Research — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)

by gooseworks-ai

Similar skills

See all →
SkillGuides stable API and interface designaddyosmani/agent-skills · by addyosmaniGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.★ 98.7k GitHub starsMCPPulls up-to-date, version-specific library docsContext7upstash/context7 · by upstashPulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.★ 62.3k GitHub starsSkillFetch up-to-date documentation and code examples for anyContext7 Documentation Lookupupstash/context7 · by upstashFetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or version updates. Always use for: API syntax questions, configuration options, version migration issues, "how do I" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage. Use even when you think you know the answer. Do not rely on training data for API details, signatures, or configuration options — they are frequently out of date. Prefer this over web search for library documentation.★ 62.3k GitHub starsSkillHow to use the Adaptyv Bio Foundry API and Python SDKK-Dense-AI/scientific-agent-skills · by K-Dense-AIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.★ 46k GitHub starsSkillMaster C/.NET backend development patterns for buildingwshobson/agents · by wshobsonMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.★ 39.9k GitHub starsSkillGuides the usage of Gemini Interactions API on GeminiGemini Interactions API Skillgoogle/skills · by googleGuides the usage of Gemini Interactions API on Gemini Enterprise Agent Platform. Use when the user wants to use the stateful, server-managed Interactions API for multi-turn conversations, background execution, streaming, structured output, and function calling on the Agent Platform.★ 20.9k GitHub stars

More from gooseworks-ai

SkillMine the highest-converting ad angles from customer reviewsAd angle minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAnalyze ad campaign performance data to identify what'sAd campaign analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillAnalyze the message match between your ads and landing pagesAd to landing page auditorgooseworks-ai/goose-skills · by gooseworks-aiAnalyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.★ 1.2k GitHub starsSkillCheck and improve your brand's visibility across AI searchAeogooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillSearch Amazon products - find items, compare pricesAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub stars