Some common code you might want to use - don't miss the TypeScript tab below!

  from exa_py import Exa

  # instantiate the Exa client
  exa = Exa("YOUR API KEY")

  # basic search
  results = exa.search("This is an Exa query:")

  # autoprompted search
  results = exa.search("autopromptable query", use_autoprompt=True)

  # search with date filters
  results = exa.search("This is an Exa query:", start_published_date="2019-01-01", end_published_date="2019-01-31")

  # search with domain filters
  results = exa.search("This is an Exa query:", include_domains=["www.cnn.com", "www.nytimes.com"])


  # search and get text contents
  results = exa.search_and_contents("This is an Exa query:")

  # search and get highlights
  results = exa.search_and_contents("This is an Exa query:", highlights=True)

  # search and get contents with contents options
  results = exa.search_and_contents("This is an Exa query:", 
                                    text={"include_html_tags": True, "max_characters": 1000}, 
                                    highlights={"highlights_per_url": 2, "num_sentences": 1, "query": "This is the highlight query:"})


  # find similar documents
  results = exa.find_similar("https://example.com")

  # find similar excluding source domain
  results = exa.find_similar("https://example.com", exclude_source_domain=True)

  # find similar with contents
  results = exa.find_similar_and_contents("https://example.com", text=True, highlights=True)


  # get text contents
  results = exa.get_contents(["ids"])

  # get highlights
  results = exa.get_contents(["ids"], highlights=True)

  # get contents with contents options
  results = exa.get_contents(["ids"], 
                             text={"include_html_tags": True, "max_characters": 1000}, 
                             highlights={"highlights_per_url": 2, "num_sentences": 1, "query": "This is the highlight query:"})


  # get the newest content of the results
  results = exa.search_and_contents("This is an Exa query:", 
								text=true,
                livecrawl_timeout=8000, # default 10000
                livecrawl="always"
              )

import Exa from 'exa-js';

// Instantiate the Exa client
const exa = new Exa("YOUR API KEY");

// Basic search
const basicResults = await exa.search("This is a Exa query:");

// Autoprompted search
const autoPromptedResults = await exa.search("autopromptable query", { useAutoprompt: true });

// Search with date filters
const dateFilteredResults = await exa.search("This is an Exa query:", {
  startPublishedDate: "2019-01-01",
  endPublishedDate: "2019-01-31"
});

// Search with domain filters
const domainFilteredResults = await exa.search("This is an Exa query:", {
  includeDomains: ["www.cnn.com", "www.nytimes.com"]
});

// Search and get text contents
const searchAndTextResults = await exa.searchAndContents("This is an Exa query:");

// Search and get highlights
const searchAndHighlightsResults = await exa.searchAndContents("This is an Exa query:", { highlights: true });

// Search and get contents with contents options
const searchAndCustomContentsResults = await exa.searchAndContents("This is an Exa query:", {
  text: { includeHtmlTags: true, maxCharacters: 1000 },
  highlights: { highlightsPerUrl: 2, numSentences: 1, query: "This is the highlight query:" }
});

// Find similar documents
const similarResults = await exa.findSimilar("https://example.com");

// Find similar excluding source domain
const similarExcludingSourceResults = await exa.findSimilar("https://example.com", { excludeSourceDomain: true });

// Find similar with contents
const similarWithContentsResults = await exa.findSimilarAndContents("https://example.com", { text: true, highlights: true });

// Get text contents
const textContentsResults = await exa.getContents(["ids"]);

// Get highlights
const highlightsContentsResults = await exa.getContents(["ids"], { highlights: true });

// Get contents with contents options
const customContentsResults = await exa.getContents(["ids"], {
  text: { includeHtmlTags: true, maxCharacters: 1000 },
  highlights: { highlightsPerUrl: 2, numSentences: 1, query: "This is the highlight query:" }
});


// Search and get newest content of results
const searchAndHighlightsResults = await exa.searchAndContents(
  "This is an Exa query:", 
  {
    text: true,
    livecrawl: "always",
    livecrawlTimeout: 8000 // default 10000ms
  }
);