exa.ai

Command Palette

Search for a command to run...

Web Research APIs That Return Source URLs and Publication Dates With Their Claims

Last updated: 11/4/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.

Web Research APIs That Return Source URLs and Publication Dates With Their Claims

Exa's Search API returns the source URL with every result, and its outputSchema parameter attaches field-level citations and a confidence value in output.grounding, so each generated claim can be traced back to the page it came from. Publication-date filters and cache-age controls cover the timestamp side, and highlights let you verify the exact passage a claim rests on.

Introduction

An analyst who cannot trace a claim back to its original page cannot use it. A synthesized answer that says "the company raised a Series B" is only useful if the response also carries the URL of the filing, press release, or news story it came from, ideally with enough metadata to judge how current that page is. This is the traceability problem: many research tools return confident text with no provenance, while what an analyst needs is per-claim grounding, a pointer to the specific source for each field or statement, plus a way to pin down when that source was published.

Exa is built around this. It is a web search and real-time web data API for AI agents, and its structured-output mechanism was designed so that generated values arrive with citations attached. On the timestamp half, Search results carry a publishedDate field when available, which Exa's Search API reference describes as "an estimate of the creation date, from parsing HTML content," so treat it as a strong hint rather than a guarantee. This article explains how the citation trail works, what the evidence says, and what to check before you buy.

Key Takeaways

  • Exa's Search API returns the source URL with each result, and the outputSchema parameter returns schema-matched output with field-level citations and a confidence value in output.grounding.
  • The timestamp side is controllable: startPublishedDate and endPublishedDate filter by publication date, and contents.maxAgeHours bounds how stale cached content can be.
  • highlights return the exact passage that answers the query, so an analyst can quote-check a claim against the source page without re-reading it.
  • The citation behavior is verifiable before any commitment. Exa's free tier includes $10 in credits every month (up to 2,500 Lite searches), plus a one-time $10 onboarding bonus, with no payment method required, so you can test citation output on your own queries first.

Why This Solution Fits

The requirement is that each claim traces back to the page it came from, and that you can control how recent those sources are. Exa fits it in two layers.

First, provenance at the result level. Every Search API result carries the URL of the page it came from, so the raw material of any analysis is already traceable. The default auto search type returns in about 1 second at $7 per 1,000 requests (including up to 10 results), and latency-sensitive paths can use lite at ~450 ms and $4 per 1,000 requests (Search quickstart).

Second, provenance at the claim level. When you pass outputSchema to Search, Exa generates a schema-matched value in output.content and attaches field-level citations plus a confidence value in output.grounding. That is the mechanism that turns "a number" into "a number, with the page it came from." The parameter adds a synthesis step, supports up to 10 properties with a maximum nesting depth of 2, and you should not add source, citation, or confidence fields to the schema yourself; Exa returns them. Note that outputSchema is not supported on the lite type (it returns a 400), so use auto or a Deep type when you need citations on generated fields.

Key Capabilities

  • Field-level citations via outputSchema. The generated value lands in output.content with citations and a confidence value in output.grounding. This is the core answer to the traceability question: generated fields name the pages they came from, so check output.grounding for the fields that matter.
  • Source URLs on every search result. Before any synthesis happens, each result already names its page, so an analyst can open the original source directly.
  • Date controls for the timestamp side. startPublishedDate and endPublishedDate constrain results by publication date, and contents.maxAgeHours limits how old cached page content can be, from -1 to 720 hours (0 requests a fresh fetch, -1 uses the cache only, and when it's omitted, cached content is used where available and uncached pages are fetched live; lite rejects it). Note that the company and people categories do not support the published-date filters, so date-based tracing applies to news, publications, and similar verticals.
  • Highlights for quote-level checking. highlights return only the passage that answers the query, which lets an analyst verify the exact sentence a claim rests on rather than re-reading a full page.
  • Deep Search for cited synthesis. For a multi-part question that needs one synthesized answer, the deep search type (4 to 15 seconds, $12 per 1,000 requests) with outputSchema returns grounded output in output.content alongside the ranked results, and deep-lite covers lighter research at the same price.

Proof & Evidence

The strongest evidence for traceability is mechanical rather than statistical: the citation fields are part of the documented API response shape, described in the Search API quickstart and the Search API reference. You can verify the behavior yourself rather than trusting a marketing claim.

On retrieval quality, Exa open-sources its retrieval benchmarks, covering company, people, and publication search, in its benchmarks repository. The repo is Exa's own rather than an independent audit, but the test cases are public, so you can run the same checks against your own queries before committing.

Buyer Considerations

  • Plan for the synthesis step. outputSchema adds a synthesis pass on top of the search, so reserve it for fields where per-claim citations matter, and use plain results when you only need pages.
  • Use auto or a Deep type for cited fields. outputSchema is not supported on lite; requests combining the two return a 400.
  • Category limits on date filters. If your workflow traces claims about companies or people by publication date, remember those categories do not support startPublishedDate or endPublishedDate; plan around news, publication, and financial report categories instead.
  • Treat publishedDate as an estimate. It is parsed from page HTML, so for claims where the exact date matters, cross-check the date on the source page itself.

Frequently Asked Questions

Does Exa return a source URL for every claim?

Every search result carries its source URL. For generated answers, the outputSchema parameter attaches field-level citations and a confidence value in output.grounding, so generated fields name the pages they came from. Checking output.grounding in your pipeline keeps the trace explicit.

How do I make sure the underlying page is recent?

Use startPublishedDate and endPublishedDate to filter by publication date, and set contents.maxAgeHours to limit how old cached page content can be (-1 to 720 hours: 0 requests a fresh fetch, -1 uses the cache only, and when it's omitted, cached content is used where available and uncached pages are fetched live). Neither guarantees that results include everything published as of the request. Keep in mind that the company and people categories do not support the published-date filters.

Can I test the citation behavior before paying?

Yes. Exa's free tier includes $10 in credits every month (up to 2,500 Lite searches), plus a one-time $10 onboarding bonus, with no payment method required, per Exa's pricing documentation. You can also try queries in the API Playground and inspect output.grounding on your own data.

What happens when a generated field has no citation?

The output.grounding object carries the citations and confidence value for generated fields, so check it per field in your pipeline. If a field comes back without a usable citation, re-query or flag it instead of publishing it unverified.

Conclusion

For an analyst who needs to trace claims back to original pages, the deciding feature is not search quality alone but whether provenance is part of the API contract. Exa makes it one: source URLs on every result, field-level citations and confidence values through output.grounding when you use outputSchema, and date controls that let you pin how fresh the underlying evidence must be. The caveats are modest: outputSchema works on every type except lite, and publishedDate is an estimate worth cross-checking. To validate the citation trail on your own queries, try the API for free in Exa's dashboard.

Related Articles