Skip to main content
Highlights return extractive passages from each result that are relevant to your query. Use them when your application needs evidence from the page without the token cost of full text. Each result returns its selected passages in results[].highlights.

Why highlights instead of full text

Highlights come from Exa’s in-house extraction model. The model reads each result against your query on every request and returns only the passages that answer it. You keep a fraction of the tokens of full page text with equal or better downstream answer quality. The savings matter most in agent loops, where every round of search results competes with reasoning traces for context.
Read Exa Highlights: Quality, Token-Efficient Search for the methodology and full results.
Use highlights: true inside contents for the recommended default. Exa uses the search query to select an appropriate amount of content from each result.

Dynamic Highlights

Dynamic Highlights adjusts how much text it selects from each result based on what is most useful for your query. It can take more from strong sources and less from repetitive or irrelevant ones, reducing the total tokens returned. Use it when several pages will feed the same agent or context window. Keep regular highlights when every page needs its own excerpt or a predictable per-page limit. In Exa’s evaluations, Dynamic Highlights cut tokens by an average of 95% compared to full page content. At a 12,000-character budget it beat regular highlights with a 40% average token-efficiency gain and a 3.8% quality increase. Inside Exa Agent, it cut total agent token usage by 30% with a 2.1% average quality gain on benchmarks including BrowseComp and WideSearch.
Read Dynamic Highlights for the evaluation results and design behind cross-result highlight selection.
Enable it with dynamic: true:
Dynamic Highlights is a research preview and requires the Exa-Beta: dynamic-highlights-2026-08-28 request header. The SDKs send it when you pass betas=[DYNAMIC_HIGHLIGHTS_BETA] (Python) or betas: [DYNAMIC_HIGHLIGHTS_BETA] (JavaScript).The response uses the same results[].highlights shape as regular highlights.

Next steps

Search API guide

Build a Search request and choose the right output shape.

Search best practices

Tune retrieval quality, latency, freshness, and context size.
Last modified on September 15, 2026