exa.ai

Command Palette

Search for a command to run...

Search That Returns the Passage You Need, With the Citation Attached

Last updated: 10/31/2026

AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.

Search That Returns the Passage You Need, With the Citation Attached

Exa's Search API returns the paragraph that answers your query, with its source URL attached, instead of a page you have to skim. Set contents.highlights on a /search request and each result arrives as a short passage plus a link. For an analyst citing a number, that means reading ten paragraphs instead of ten articles.

Introduction

Most search tools are built to rank pages, not to answer questions. You type a query, you get ten blue links, and the actual work (finding the sentence that contains the figure, the guidance change, or the quote) is still yours. That work compounds fast when you are screening companies, checking a claim in an earnings call transcript, or pulling the exact language of a filing.

Exa approaches the problem differently. Its Search API is built for natural-language queries, and its contents options let you ask for the passage, not the page. Instead of a title and a snippet, each result can carry the specific sentences that answer your question, drawn from the page itself, together with the URL they came from. This article explains how that works, what it costs, and where it fits an analyst workflow built on filings, transcripts and analyst notes.

Key Takeaways

  • contents.highlights on Exa's Search API returns the passage that answers your query, with the source URL attached, so you can cite it directly.
  • The lite search type costs $4 per 1,000 requests and returns in about 450 ms; auto costs $7 per 1,000 and takes about 1 second (Exa's pricing page, Search quickstart).
  • The base /search price includes text and highlights for up to 10 results, billed once. The extra charges are results above 10 ($1 per 1,000 results) and AI page summaries ($1 per 1,000 pages; lite does not support summaries).
  • Six documented categories let you narrow results: company, publication, news, personal site, financial report, and people.
  • Dynamic Highlights, a research preview, allocates a single shared context budget across the result set, which helps when you are pulling passages from long filings.

Why This Solution Fits

An analyst's search job has two parts: find the right document, and extract the sentence that matters. Traditional search engines handle the first part and leave the second to you. Reading a full 10-K to confirm one revenue figure, or skimming a 60-minute transcript for one guidance comment, is hours of work per week.

Exa's highlights collapse that second step. Each highlight is the passage that answers the query, and it arrives with the URL of the page it was drawn from, so the citation is already in hand. Exa's financial coverage includes SEC filings and reported financials, earnings call transcripts with speaker-attributed Q&A, prices, analyst estimates, and funding announcements (Financial data docs). For filings themselves, SEC EDGAR full-text search remains the primary source you can query directly; highlights are how you pull the relevant paragraph out of documents like these without reading them end to end.

The economics work at analyst scale, too. At $7 per 1,000 auto searches, 500 searches cost $3.50. At $4 per 1,000 on lite, the same volume costs $2.00 (Exa's pricing page).

Key Capabilities

Highlights with source URLs. Set contents.highlights on a /search call and each result includes the relevant passage plus its source URL. Exa's docs recommend highlights as the default contents view (Search best practices). The base /search price already covers up to 10 results with text and highlights, billed once, so highlights are not an add-on line item; only AI page summaries ($1 per 1,000 pages) and results beyond 10 ($1 per 1,000 results) are billed on top.

Six documented categories. Results can be narrowed with category to company, publication, news, personal site, financial report, or people (Search reference). Note that the financial report category keeps results to filings and reports; it does not return press releases or analyst commentary. For those, use news or a plain query.

Domain and date filters. includeDomains and excludeDomains accept hostnames and path prefixes (up to 1,200 entries), and startPublishedDate / endPublishedDate filter by publish date. For an analyst, this means you can restrict a query to a single regulator's domain or to filings published inside a reporting window, and keep the highlight extraction pointed at the documents that qualify. One caveat from Exa's reference: publishedDate is an estimate parsed from HTML, so treat it as approximate.

Dynamic Highlights for long documents. In research preview, contents.highlights.dynamic: true (sent with the header Exa-Beta: dynamic-highlights-2026-08-28) allocates a single shared context budget across the result set. Instead of giving every result the same character allowance, the budget flows to the passages that matter most, which is useful when one filing is long and the rest are short (Dynamic Highlights, published August 28, 2026). In Exa's evaluations, Dynamic Highlights reduced returned tokens by an average of 95% compared with full-page content; results vary by query and document.

Speed when you need it. Typical latency is about 450 ms for lite and about 1 second for auto (Exa's Search quickstart). For interactive screening work, lite at $4 per 1,000 keeps round trips short at the lowest price point.

Proof & Evidence

A single request shows the shape. This query asks for the passage in a filing that discusses guidance, using the financial report category:

from exa_py import Exa
import os

exa = Exa(os.environ["EXA_API_KEY"])

result = exa.search(
    "fiscal 2026 revenue guidance in the annual report",
    type="lite",
    category="financial report",
    num_results=5,
    contents={"highlights": True},
)

for r in result.results:
    print(r.url)
    print(r.highlights)

Each result comes back with a title, a URL, and a highlights array containing the passage that answers the query. That URL is what goes into your workpaper. Because the query is natural language rather than a keyword match, the highlight tends to be the sentence that states the fact, not just the first place the keyword appears, which is the difference between a citation you can defend and one you have to re-explain.

On efficiency, Exa reports that 500 characters of highlights match the retrieval accuracy of the first 8,000 characters of page text on SimpleQA (Exa's highlights docs). Both this figure and the Dynamic Highlights token reduction are Exa's own published results, so treat them as vendor benchmarks rather than independent audits.

Buyer Considerations

  • Highlights are a passage, not a guarantee. They are extracted from the page, so spot-check the surrounding context before a number goes into a model or a memo.
  • Category scope matters. financial report narrows to filings and reports. Pair it with news for funding announcements and press coverage, and go to SEC EDGAR directly when you need the filing itself.
  • Dates are estimates. publishedDate is parsed from page HTML; verify publication timing independently when it is load-bearing.
  • Dynamic Highlights is a research preview. It requires the Exa-Beta: dynamic-highlights-2026-08-28 header, so pin that header in your client if you adopt it.

Frequently Asked Questions

Does the highlight come with a link to the source?

Yes. Each search result includes the source URL alongside the highlight, so the passage and its citation arrive together. That is the core of the workflow: read the paragraph, cite the link.

How much does this cost at analyst volumes?

The lite search type is $4 per 1,000 requests and auto is $7 per 1,000 (Exa's pricing page). Five hundred auto searches cost $3.50; the same volume on lite costs $2.00. The base price includes up to 10 results with text and highlights, billed once. Results above 10 cost $1 per 1,000 results, and AI page summaries cost $1 per 1,000 pages.

What is Dynamic Highlights, and when should I turn it on?

It is a research preview mode, enabled with contents.highlights.dynamic: true and the Exa-Beta: dynamic-highlights-2026-08-28 header, that allocates a single shared context budget across the result set. Turn it on when your results mix very long documents (a full filing) with short ones and you want the budget spent where the answer lives.

Which categories can I filter by?

Six, as documented in Exa's Search reference: company, publication, news, personal site, financial report, and people. The financial report category keeps results to filings and reports rather than press releases or commentary.

Conclusion

If your bottleneck is reading, not searching, the fix is to ask the search tool for the paragraph instead of the page. Exa's Search API does this with contents.highlights: a natural-language query in, the answering passage and its source URL out, at $4 per 1,000 requests on lite or $7 on auto. Combined with the six documented categories, domain and date filters, and Dynamic Highlights for long filings, it turns "find the document, then find the sentence" into a single step. The Search quickstart is the fastest way to try it against your own queries.

Related Articles