exa-js
v2.3.0
Published
Exa SDK for Node.js and the browser
Readme
Exa JavaScript SDK
The official JavaScript SDK for Exa, the web search API built for AI.
Install
npm install exa-jsQuick Start
import Exa from "exa-js";
const exa = new Exa(process.env.EXA_API_KEY);
// Search the web
const result = await exa.search(
"blog post about artificial intelligence",
{
type: "auto",
contents: {
text: true
}
}
);
// Find similar pages
const result = await exa.findSimilar(
"https://paulgraham.com/greatwork.html",
{
contents: {
text: true
}
}
);
// Get answers with citations
const { answer } = await exa.answer("What is the capital of France?");Search
Find webpages using natural language queries.
const result = await exa.search("interesting articles about space", {
numResults: 10,
includeDomains: ["nasa.gov", "space.com"],
startPublishedDate: "2024-01-01",
contents: {
text: true
}
});Contents
Get clean text, highlights, or summaries from any URL.
const { results } = await exa.getContents(["https://openai.com/research"], {
text: true,
highlights: true,
summary: true,
});Find Similar
Discover pages similar to a given URL.
const result = await exa.findSimilar(
"https://paulgraham.com/greatwork.html",
{
numResults: 10,
excludeSourceDomain: true,
contents: {
text: true
}
}
);Answer
const response = await exa.answer("What caused the 2008 financial crisis?");
console.log(response.answer);for await (const chunk of exa.streamAnswer("Explain quantum computing")) {
if (chunk.content) {
process.stdout.write(chunk.content);
}
}Research
Run autonomous research tasks that return structured data.
const { researchId } = await exa.research.create({
instructions: "Find the top 5 AI startups founded in 2024",
outputSchema: {
type: "object",
properties: {
startups: { type: "array", items: { type: "string" } },
},
},
});
const result = await exa.research.pollUntilFinished(researchId);TypeScript
Full TypeScript support with types for all methods.
import Exa from "exa-js";
import type { SearchResponse, RegularSearchOptions } from "exa-js";Links
Contributing
Pull requests welcome! For major changes, open an issue first.
