Getting started
Installing the exa-js SDK- npm
- pnpm
TypeScript
Get API Key
Follow this link to get your API key
search Method
Perform an Exa search given an input query and retrieve a list of relevant results as links.
Input Example
Input Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
| query | string | The input query string. | Required |
| numResults | number | Number of search results to return. | 10 |
| includeDomains | string[] | List of domains to include in the search. | undefined |
| excludeDomains | string[] | List of domains to exclude in the search. | undefined |
| startCrawlDate | string | Results will only include links crawled after this date. | undefined |
| endCrawlDate | string | Results will only include links crawled before this date. | undefined |
| startPublishedDate | string | Results will only include links with a published date after this date. | undefined |
| endPublishedDate | string | Results will only include links with a published date before this date. | undefined |
| useAutoprompt | boolean | If true, convert query to a query best suited for Exa. | false |
| type | string | The type of search, “keyword” or “neural”. | “auto” |
| category | string | A data category to focus on when searching, with higher comprehensivity and data cleanliness. Available categories: “company”, “research paper”, “news”, “github”, “tweet”, “movie”, “song”, “personal site”, “pdf”. | undefined |
Returns Example
Return Parameters
SearchResponse
| Field | Type | Description |
|---|---|---|
| results | Result[] | List of Result objects |
| autopromptString? | string | Exa query created by autoprompt functionality |
Result Object
| Field | Type | Description | |
|---|---|---|---|
| url | string | URL of the search result | |
| id | string | Temporary ID for the document | |
| title | `string | null` | Title of the search result |
| score? | number | Similarity score between query/url and result | |
| publishedDate? | string | Estimated creation date | |
| author? | string | Author of the content, if available |
searchAndContents Method
Perform an Exa search given an input query and retrieve a list of relevant results as links, optionally including the full text and/or highlights of the content.
Input Example
TypeScript
Input Parameters
| Parameter | Type | Description | Default | |
|---|---|---|---|---|
| query | string | The input query string. | Required | |
| text | `boolean | { maxCharacters?: number, includeHtmlTags?: boolean }` | If provided, includes the full text of the content in the results. | undefined |
| highlights | `boolean | { query?: string, numSentences?: number, highlightsPerUrl?: number }` | If provided, includes highlights of the content in the results. | undefined |
| numResults | number | Number of search results to return. | 10 | |
| includeDomains | string[] | List of domains to include in the search. | undefined | |
| excludeDomains | string[] | List of domains to exclude in the search. | undefined | |
| startCrawlDate | string | Results will only include links crawled after this date. | undefined | |
| endCrawlDate | string | Results will only include links crawled before this date. | undefined | |
| startPublishedDate | string | Results will only include links with a published date after this date. | undefined | |
| endPublishedDate | string | Results will only include links with a published date before this date. | undefined | |
| useAutoprompt | boolean | If true, convert query to a query best suited for Exa. | false | |
| type | string | The type of search, “keyword” or “neural”. | “auto” | |
| category | string | A data category to focus on when searching, with higher comprehensivity and data cleanliness. Available categories: “company”, “research paper”, “news”, “github”, “tweet”, “movie”, “song”, “personal site”, “pdf”. | undefined |
Returns Example
JSON
Return Parameters
SearchResponse
| Field | Type | Description |
|---|---|---|
| results | SearchResult<T>[] | List of SearchResult objects |
| autopromptString? | string | Exa query created by autoprompt functionality |
SearchResult
Extends theResult object from the search method with additional fields based on T:
| Field | Type | Description |
|---|---|---|
| text? | string | Text of the search result page (if requested) |
| highlights? | string[] | Highlights of the search result (if requested) |
| highlightScores? | number[] | Scores of the highlights (if requested) |
SearchResult<T> object depend on the options provided in the searchAndContents call.
findSimilar Method
Find a list of similar results based on a webpage’s URL.
Input Example
Input Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
| url | string | The URL of the webpage to find similar results for. | Required |
| numResults | number | Number of similar results to return. | undefined |
| includeDomains | string[] | List of domains to include in the search. | undefined |
| excludeDomains | string[] | List of domains to exclude from the search. | undefined |
| startCrawlDate | string | Results will only include links crawled after this date. | undefined |
| endCrawlDate | string | Results will only include links crawled before this date. | undefined |
| startPublishedDate | string | Results will only include links with a published date after this date. | undefined |
| endPublishedDate | string | Results will only include links with a published date before this date. | undefined |
| excludeSourceDomain | boolean | If true, excludes results from the same domain as the input URL. | undefined |
| category | string | A data category to focus on when searching, with higher comprehensivity and data cleanliness. | undefined |
Returns Example
JSON
Return Parameters
SearchResponse
| Field | Type | Description |
|---|---|---|
| results | Result[] | List of Result objects |
| autopromptString? | string | Exa query created by autoprompt functionality |
Result Object
| Field | Type | Description | |
|---|---|---|---|
| url | string | URL of the search result | |
| id | string | Temporary ID for the document | |
| title | `string | null` | Title of the search result |
| score? | number | Similarity score between query/url and result | |
| publishedDate? | string | Estimated creation date | |
| author? | string | Author of the content, if available |
findSimilarAndContents Method
Find a list of similar results based on a webpage’s URL, optionally including the text content or highlights of each result.
Input Example
TypeScript
Input Parameters
| Parameter | Type | Description | Default | |
|---|---|---|---|---|
| url | string | The URL of the webpage to find similar results for. | Required | |
| text | `boolean | { maxCharacters?: number, includeHtmlTags?: boolean }` | If provided, includes the full text of the content in the results. | undefined |
| highlights | `boolean | { query?: string, numSentences?: number, highlightsPerUrl?: number }` | If provided, includes highlights of the content in the results. | undefined |
| numResults | number | Number of similar results to return. | undefined | |
| includeDomains | string[] | List of domains to include in the search. | undefined | |
| excludeDomains | string[] | List of domains to exclude from the search. | undefined | |
| startCrawlDate | string | Results will only include links crawled after this date. | undefined | |
| endCrawlDate | string | Results will only include links crawled before this date. | undefined | |
| startPublishedDate | string | Results will only include links with a published date after this date. | undefined | |
| endPublishedDate | string | Results will only include links with a published date before this date. | undefined | |
| excludeSourceDomain | boolean | If true, excludes results from the same domain as the input URL. | undefined | |
| category | string | A data category to focus on when searching, with higher comprehensivity and data cleanliness. | undefined |
Returns Example
JSON
Return Parameters
SearchResponse
| Field | Type | Description |
|---|---|---|
| results | SearchResult<T>[] | List of SearchResult objects |
| autopromptString? | string | Exa query created by autoprompt functionality |
SearchResult
Extends theResult object with additional fields based on the requested content:
| Field | Type | Description | |
|---|---|---|---|
| url | string | URL of the search result | |
| id | string | Temporary ID for the document | |
| title | `string | null` | Title of the search result |
| score? | number | Similarity score between query/url and result | |
| publishedDate? | string | Estimated creation date | |
| author? | string | Author of the content, if available | |
| text? | string | Text of the search result page (if requested) | |
| highlights? | string[] | Highlights of the search result (if requested) | |
| highlightScores? | number[] | Scores of the highlights (if requested) |
SearchResult<T> object depend on the options provided in the findSimilarAndContents call.
getContents Method
Retrieves contents of documents based on a list of document IDs.
Input Example
TypeScript
Input Parameters
| Parameter | Type | Description | Default | ||
|---|---|---|---|---|---|
| ids | `string | string[] | SearchResult[]` | A single ID, an array of IDs, or an array of SearchResults. | Required |
| text | `boolean | { maxCharacters?: number, includeHtmlTags?: boolean }` | If provided, includes the full text of the content in the results. | undefined | |
| highlights | `boolean | { query?: string, numSentences?: number, highlightsPerUrl?: number }` | If provided, includes highlights of the content in the results. | undefined |
Returns Example
JSON
Return Parameters
SearchResponse
| Field | Type | Description |
|---|---|---|
| results | SearchResult<T>[] | List of SearchResult objects |
SearchResult
The fields in theSearchResult<T> object depend on the options provided in the getContents call:
| Field | Type | Description | |
|---|---|---|---|
| id | string | Temporary ID for the document | |
| url | string | URL of the search result | |
| title | `string | null` | Title of the search result |
| publishedDate? | string | Estimated creation date | |
| author? | string | Author of the content, if available | |
| text? | string | Text of the search result page (if requested) | |
| highlights? | string[] | Highlights of the search result (if requested) | |
| highlightScores? | number[] | Scores of the highlights (if requested) |
SearchResult<T> object depend on the options provided in the getContents call. If neither text nor highlights is specified, the method defaults to including the full text content.
