Documentation Index
Fetch the complete documentation index at: https://exa.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
When using the Exa API, you can request different types of content. On
/search, content options are nested under contents; on /contents, the same options are top-level fields because the endpoint already retrieves known URLs.
Text (text=True)
Returns the full text content of the result, formatted as markdown. It extracts the main content (like article body text) while filtering out navigation elements, pop-ups, and other peripheral text. This is extractive content taken directly from the page’s source.Content Filtering Options
Important: Content filtering options (
verbosity, includeSections, excludeSections) require live crawling to take effect. Use maxAgeHours: 0 to force a fresh crawl for these filters.-
Verbosity - Controls overall content detail level:
compact(default): Most concise output, main content onlystandard: Balanced content with more detailfull: Complete content including all sections
-
Section Filtering - Include or exclude specific semantic sections:
includeSections: Only include content from specified sectionsexcludeSections: Remove content from specified sections
header- Page header contentnavigation- Navigation menusbanner- Banner/hero sectionsbody- Main body contentsidebar- Sidebar contentfooter- Page footermetadata- Page metadata
/search configuration:
/contents configuration:
Summary (summary=True)
Provides a concise summary generated from the text, tailored to a specific query you provide. This is abstractive content created by processing the source text using Gemini Flash.Structured Summaries
You can also request structured summaries by providing a JSON schema. This is/contents top-level form:
Highlights
Delivers key excerpts from the text that are most relevant to your search query, emphasizing important information within the content. This is also extractive content from the source. You can configure highlights in two ways:- Simple boolean (
highlights=Truein SDKs): Returns default highlights based on the search query - Detailed configuration (pass as an object): include
queryto guide selection andmaxCharactersto cap highlight length
/search nested form:
/contents top-level form:
Context String (Deprecated)
context joined all result contents into one text block. To migrate, request per-result content instead and combine it in your application only if needed.
Images and favicons
You can get images from webpages by settingimageLinks (under contents.extras.imageLinks) to specify how many images you want per result. Each result also includes the website’s favicon URL and a representative image URL when available.
Crawl Errors
The contents endpoint provides detailed status information for each URL through thestatuses field in the response. The endpoint only returns an error if there’s an internal issue on Exa’s end - all other cases are reported through individual URL statuses.
Each response includes a statuses array with status information for each requested URL:
CRAWL_NOT_FOUND: Content not found (HTTP 404)CRAWL_TIMEOUT: The crawl timed out while fetching content (HTTP 504)CRAWL_LIVECRAWL_TIMEOUT: Content could not be retrieved within your requestedlivecrawlTimeout(HTTP 504)SOURCE_NOT_AVAILABLE: Access forbidden or source unavailable (HTTP 403)CRAWL_UNKNOWN_ERROR: Other errors (HTTP 500+)
statuses field for each URL:

