# Search for Agents: full public content export > An encyclopedia on search for agents ## Topics - [Web Search](https://www.searchforagents.com/topics/web-search) (1) — Search systems, retrieval pipelines, source selection, grounding, and the evidence agents need from the open web. - [Industry Search](https://www.searchforagents.com/topics/industry-search) (4) — Specialized search across financial, legal, market, and other industry data where provenance, timing, controls, and auditability matter. - [Finance](https://www.searchforagents.com/topics/industry-search/finance) (1) — Financial research agents, market and economic data, filings, point-in-time analysis, controls, and audit-ready workflows. - [Life Sciences](https://www.searchforagents.com/topics/industry-search/life-sciences) (1) — Literature and clinical-trial search, biomedical evidence, scientific data pipelines, and reviewable research workflows. - [Paper Search](https://www.searchforagents.com/topics/industry-search/paper-search) (1) — Scholarly discovery across papers, citations, preprints, repositories, and evidence-rich academic search systems. - [Search Infrastructure](https://www.searchforagents.com/topics/search-infrastructure) (1) — Embedding models, vector and keyword indexes, retrieval engines, rerankers, and evaluation tools behind dependable search for agents. ## Tags - [Clinical Trials](https://www.searchforagents.com/tags/clinical-trials) (1) — Registered studies, eligibility, treatment arms, recruitment status, and original trial records. - [Context](https://www.searchforagents.com/tags/context) (4) — Selecting and structuring the information an agent needs for its next decision. - [Earnings Call](https://www.searchforagents.com/tags/earnings-call) (1) — Earnings-call transcripts, management commentary, and source-backed pre-earnings research. - [Evals](https://www.searchforagents.com/tags/evals) (0) — Controlled tests that measure agent behavior, outcomes, and operational quality. - [Finance](https://www.searchforagents.com/tags/finance) (2) — Financial filings, market records, and dated evidence for research agents working with company data. - [Harnesses](https://www.searchforagents.com/tags/harnesses) (0) — The runtime infrastructure that controls an agent around its underlying model. - [Health](https://www.searchforagents.com/tags/health) (1) — Biomedical evidence, regulatory records, and source checks for health-related search claims. - [Infrastructure](https://www.searchforagents.com/tags/infrastructure) (1) — Search APIs, retrieval systems, and operational foundations for dependable agent workflows. - [Integrations](https://www.searchforagents.com/tags/integrations) (0) — Dependable connections between agent runtimes and external products or services. - [Law](https://www.searchforagents.com/tags/law) (1) — Court opinions, legal records, jurisdiction, and dated evidence for legal search questions. - [MCP](https://www.searchforagents.com/tags/mcp) (0) — Model Context Protocol concepts and implementation guidance for tool builders. - [Orchestration](https://www.searchforagents.com/tags/orchestration) (0) — Coordinating model turns, tools, state, retries, and completion conditions. - [Paper Search](https://www.searchforagents.com/tags/paper-search) (1) — Scholarly discovery, paper versions, citation trails, and claim-level checks against original research. - [Protocols](https://www.searchforagents.com/tags/protocols) (0) — Shared interfaces and contracts for interoperable agent systems and tools. - [RAG](https://www.searchforagents.com/tags/rag) (0) — Retrieval-augmented generation patterns for grounding model output in evidence. - [Reliability](https://www.searchforagents.com/tags/reliability) (2) — System properties that keep agent behavior predictable, recoverable, and verifiable. - [Search](https://www.searchforagents.com/tags/search) (6) — Query, ranking, and discovery systems that supply agents with relevant evidence. - [Tools](https://www.searchforagents.com/tags/tools) (3) — Structured capabilities that let agents inspect, compute, and change external state. - [Verification](https://www.searchforagents.com/tags/verification) (3) — Independent checks that establish whether an agent action produced the intended result. # Contributors # Ada Vale > Technical writer Ada Vale is a Search for Agents editorial pen name for articles on agent runtimes, tool protocols, and production search infrastructure. ## Expertise - Search Infrastructure - Agent Harnesses - Tool Protocols ## Published field notes - [What should a search API return to an agent?](https://www.searchforagents.com/blog/what-should-a-search-api-return-to-an-agent) — Valyu, Exa, and Parallel return different combinations of links, passages, dates, and diagnostics. Here is the evidence contract an agent needs to build around their results. # Search for Agents Editorial Desk > Editorial team The Search for Agents editorial desk reviews technical claims against primary sources and records material corrections. ## Expertise - Web Search - Finance - Life Sciences - Search Infrastructure ## Published field notes # Eliot Reed > Research writer Eliot Reed is a Search for Agents editorial pen name for critical essays on retrieval quality, agent evaluation, and evidence standards. ## Expertise - Web Search - Agent Evaluation - Retrieval ## Published field notes - [Does the cited paper actually support the claim?](https://www.searchforagents.com/blog/does-the-cited-paper-actually-support-the-claim) — A citation can lead to the right paper and still misstate its finding. Three source-level checks show how to test a claim against the paper's methods, results, and limits. - [When can an agent trust a web search result?](https://www.searchforagents.com/blog/when-can-an-agent-trust-a-web-search-result) — A 2026 UK holiday calendar says Scotland has nine bank holidays; official records list ten. Follow a search result to its source and learn a five-check method for verifiable answers. # Mara Finch > Industry writer Mara Finch is a Search for Agents editorial pen name for reporting on financial and biomedical search, source provenance, and audit trails. ## Expertise - Finance - Life Sciences - Industry Search ## Published field notes - [How to use an agent to find clinical trials for a research question](https://www.searchforagents.com/blog/how-to-use-an-agent-to-find-clinical-trials) — A worked clinical-trial search: discover candidate studies, narrow by design and recruitment status, and inspect the original registry records. - [How to use an agent to research a company before earnings](https://www.searchforagents.com/blog/how-to-use-an-agent-to-research-a-company-before-earnings) — Build a useful pre-earnings brief with search and filings libraries: find the latest reports, revisit the prior call, and decide what to watch next. - [How to Verify Search Results Across Finance, Biomedical, and Law](https://www.searchforagents.com/blog/how-to-verify-search-results-across-finance-biomedical-and-law) — A number in a filing, a disease in a paper title, and a court ruling each require a different source check. Three worked cases show where search ends and evidence begins. # Editorial standards ## About Search for Agents > What Search for Agents covers, who publishes it, and how to use its guides and provider directory. Search for Agents is a field guide to the systems an agent uses to find and check information. Start with [how agent search works](/guide), then use [Lay of the Land](/market-map) to find products and projects at each stage. We cover three connected areas: web discovery, specialist sources such as filings and scientific literature, and the infrastructure used to acquire, index, retrieve, rerank, and evaluate information. A search API, crawler, vector database, embedding model, and reranker solve different problems. Our guides explain where each fits and what to test before choosing one. Search for Agents is published by Valyu, which is also listed in the provider directory. The site has its own editorial identity, but readers should know that connection when assessing our coverage. Directory entries link to primary product material and describe documented capabilities. They are not hands-on reviews or performance rankings. Our [methodology](/methodology) explains the selection and comparison rules, including what an empty coverage mark means. Found an omission, outdated claim, or better primary source? [Send us the evidence](/contact). We record substantive corrections and update the affected page. Canonical URL: https://www.searchforagents.com/about ## Developer and agent access > Read Search for Agents through its public content API, Markdown pages, OpenAPI specification, and agent-readable site index. Search for Agents publishes an open encyclopedia of search systems. Agents can read the public site and its content API without an account or API key. Editorial changes, private intelligence tools, and webhook subscriptions are separate, permissioned workflows. ## When to use this site Use the [encyclopedia](/encyclopedia) to explain the steps between finding a source and producing a cited answer. Use [Lay of the Land](/market-map) to discover search APIs, source collections, retrieval systems, and models by their documented capabilities. Use [articles](/blog) for worked examples of checking whether a result supports a claim. The provider directory records cited capabilities; it does not benchmark or rank providers. Follow the evidence links to verify a provider's current offering. ## Read public content 1. Fetch [llms.txt](/llms.txt) to discover the site index, or [sitemap.xml](/sitemap.xml) for canonical pages. 2. Search public articles with `GET /api/v1/search?q=web%20search&limit=5`. Results include stable content IDs and canonical URLs. 3. Retrieve a complete article with `GET /api/v1/content/{id}`. Open the cited sources before treating a result as evidence. 4. Request a page's advertised `.md` URL, such as [the homepage Markdown](/index.md), for a plain-text version. The same pages remain available as HTML for readers. For example, an anonymous request to the public search endpoint: ```bash curl -sS 'https://www.searchforagents.com/api/v1/search?q=web%20search&limit=5' ``` The public [OpenAPI specification](/openapi.json) lists methods, parameters, response shapes, and access requirements. The [full agent index](/llms-full.txt) and [versioned change feed](/api/v1/changes) provide additional read-only access. Use the API's JSON error code and HTTP status when handling a failed request; a `429` response means the client should back off. ## Scope and updates Public content is available without a credential. Protected editorial and subscription endpoints require scoped access and are not part of the anonymous read API. Version 1 endpoints use the `/api/v1/` prefix; breaking changes will use a new version, and retiring endpoints will be announced here before removal. The [methodology](/methodology) explains how directory entries and evidence are maintained. Canonical URL: https://www.searchforagents.com/developers ## Editorial policy > How we choose, research, review, update, and correct our work. We publish for practitioners who need to make technical decisions. Articles distinguish sourced facts from analysis, link to primary material when available, identify authors and update dates, and disclose material corrections. Canonical URL: https://www.searchforagents.com/editorial-policy ## Research methodology > How we source articles, classify providers, mark source coverage and historical access, and correct the record. ## Articles We start with a practical question and identify what evidence would answer it. We prefer primary documentation, source code, original research, public datasets, and reproducible tests. Articles link to their sources, show publication and update dates, and separate documented facts from our analysis. A vendor claim is evidence of what that vendor says its product does; it is not proof of measured performance. Where we have not tested a claim ourselves, we say so. ## Lay of the Land The [directory](/market-map) is a maintained index of products and projects that take part in agent search. It is a selected reference, not a complete census or a ranking. Each entry has a primary source, a short description of its documented role, and a profile with questions to ask when evaluating it. We place an entry in the category that best describes its primary role. A company can appear more than once when it offers distinct products at different layers, so the entry count is not a count of unique companies. The source-reach table compares a smaller set of source-facing products. **Public web**, **finance**, and **research** marks mean that the linked product material documents search or access to those source domains. They do not imply comparable depth, licensing, freshness, quality, or price. Products such as vector databases and rerankers are in the directory but are not included in that source-reach comparison because they operate on material supplied to them. A dash means we have not cited enough evidence for that mark; it does not assert that a capability is absent. We mark **backtesting** only when product documentation describes a way to query source data as it existed at a specified past point in time. A publication-date filter alone does not qualify: it may return a document acquired later, and it does not reconstruct the historical index. Point-in-time features also differ. For example, filtering current search candidates by a stored page version is narrower than replaying the exact ranking that a past search would have returned. Valyu's historical cache can fall back to a live crawl unless `historical_cache_strict` is set to `only`. Read the linked documentation and test the behavior against your own evaluation set. Logos identify products and do not imply endorsement. The directory review date records when we checked the entries, not a guarantee that every linked product is unchanged today. We welcome corrections with a product URL, the claim in question, and a supporting primary source. Confirmed material changes are reflected on the affected page and in its update date. Canonical URL: https://www.searchforagents.com/methodology ## Corrections > How to report an error and how substantive corrections are recorded. Accuracy matters more than preserving a clean revision history. Send a precise correction with the page URL and supporting evidence. Confirmed material changes are corrected in the article and reflected in its updated date. Canonical URL: https://www.searchforagents.com/corrections ## Contact the editorial desk > Pitch a field note, report a correction, or share primary evidence with the editors. Use editor@searchforagents.com for editorial questions, source material, and correction requests. Include enough context for another person to verify the claim or reproduce the behavior you are describing. Canonical URL: https://www.searchforagents.com/contact ## Privacy > A concise account of the information this publication collects and why. Public pages can be read without an account. We collect first-party aggregate counts for page views, reading completion, search categories, zero-result searches, editorial CTA clicks, and referrals from a fixed list of AI assistants. Search text and referrer URLs never leave the browser; they are reduced to broad categories before an event is sent. We do not assign visitor IDs, fingerprint devices, or store raw IP addresses in analytics. A short-lived HMAC of the network address is used only to enforce abuse limits. Aggregate event records are grouped by UTC day and expire after 400 days. Public analytics honor the browser's Global Privacy Control signal and use no analytics cookies. The protected editorial studio uses one secure, HTTP-only session cookie for authorized staff. Operational hosting logs may still contain standard request metadata for security and reliability. We do not sell personal data or share analytics with advertising networks. Canonical URL: https://www.searchforagents.com/privacy ## Terms > Terms for using, citing, and linking to Search for Agents content. You may link to and quote limited portions of public articles with clear attribution and a canonical link. Republishing complete articles, presenting our work as your own, or using private editorial interfaces without authorization is not permitted. Canonical URL: https://www.searchforagents.com/terms # Field notes # Does the cited paper actually support the claim? > A citation can lead to the right paper and still misstate its finding. Three source-level checks show how to test a claim against the paper's methods, results, and limits. - Canonical URL: https://www.searchforagents.com/blog/does-the-cited-paper-actually-support-the-claim - Author: Eliot Reed, Research writer - Published: 2026-09-25 - Updated: 2026-09-25 - Topic: Paper Search - Review due: 2026-12-25 ## Direct answer A cited paper supports a claim only when the version cited tests that claim's task or population and reports a result strong enough for the wording used. Semantic Scholar, Valyu, and OpenAlex can locate works and passages; links and citation counts are not proof. Check the original methods, results, and limitations, then cite the precise version and passage or qualify the statement. ## Key takeaways - A DOI or paper-search hit identifies a work; it does not tell you which sentence in it supports your claim. - The ALCE result concerns citation support on a particular benchmark, not the fraction of all citations that are fabricated. - A Valyu search returned several chunks of one arXiv paper with a date that did not match arXiv's submission record; deduplicate and check dates at the source. - The AlphaFold paper reports strong results on specified structures and conditions, not perfect predictions for every protein. - Record a claim-level verdict with the exact version, section, measured outcome, scope, and unresolved limits. A paper citation can look decisive while supporting something much narrower than the sentence attached to it. A title matches the topic, the abstract sounds promising, and several scholarly indexes return the work. None of that yet answers the useful question: **what part of which version of the paper tested the claim, and what did the authors actually find?** Consider three statements that a research agent might write after finding a relevant paper: > “Half of AI citations are fabricated.” > > “Language models cannot use information in the middle of a long document.” > > “AlphaFold predicts every protein structure with experimental accuracy.” Each sentence points toward a real and important research paper. Each goes further than its source warrants. This article follows the work back through **[Semantic Scholar](https://www.semanticscholar.org/)**, **[Valyu](https://valyu.ai/)**, and **[OpenAlex](https://openalex.org/)**, then reads the underlying publications. The providers do different jobs here: one helps resolve a paper and its citation graph, one returns searchable paper passages, and one ties a work to a DOI and publication locations. **They are discovery routes, not three independent replications of any finding.** **Disclosure and method.** Search for Agents is produced by Valyu. On 25 September 2026, we looked up the three named works through the providers described below and checked the reported claims against the original publications. The provider lookups were different, task-specific operations; this is not a matched-query comparison of coverage, ranking, latency, or price. Search indexes and citation counts can change. We cite the paper version used for each check. ## First, turn a headline into a testable claim “The paper supports it” can mean at least three different things. It may simply mention the topic. It may report a result related to the claim, but under narrower conditions. Or it may directly establish the statement as written. A reviewer should decide which of those is true before adding the citation to a sentence. Write down the exact proposition before searching. Name the **subject**, **outcome**, **population or task**, **time**, and **strength of inference**. “A model sometimes misses a fact placed in the middle of a test context” can be investigated. “All models cannot read the middle” silently adds a universal quantifier. “Predicted structures were accurate on most targets in a blind assessment” is different from “all protein structures are solved.” The extra words are often where a citation stops supporting the sentence. Next, separate the bibliographic problem from the evidence problem. An arXiv identifier, DOI, or OpenAlex work ID is useful for finding the right work. A citation edge tells you that another work refers to it. An abstract previews the authors' account. None identifies a paragraph that establishes every proposed conclusion. Finding that paragraph requires opening the original and checking how the result was produced. The table below is our working hypothesis before reading the three papers: | Claim to check | Work located | Question for the original paper | | --- | --- | --- | | “Half of AI citations are fabricated.” | The ALCE citation-evaluation study | Which outputs and dataset were measured, and what counted as *incomplete support*? | | “Models cannot use information in the middle.” | *Lost in the Middle* | Which models and tasks showed a position effect, and were there exceptions? | | “AlphaFold predicts every protein perfectly.” | The 2021 AlphaFold structure-prediction paper | Which structures were tested, what metric defined accuracy, and where did accuracy fall? | ## Case one: citation support is not the same as a made-up reference We used the [Semantic Scholar Academic Graph API](https://api.semanticscholar.org/api-docs/graph) to retrieve *Enabling Large Language Models to Generate Text with Citations* by its **arXiv identifier 2305.14627**. The returned record connected a Semantic Scholar paper ID to external identifiers including that arXiv ID and its arXiv DOI. It also offered a citation count and an open-access PDF link. Those fields made the paper easy to locate; the count did not tell us whether the headline claim was correct. The [original ALCE paper](https://arxiv.org/abs/2305.14627), also available in the [EMNLP 2023 proceedings](https://aclanthology.org/2023.emnlp-main.398/), evaluates long-form answers with citations on three datasets. Its authors distinguish **fluency**, **answer correctness**, and **citation quality**. On their ELI5 question set, the abstract reports that even the best evaluated systems lacked *complete citation support* about **50% of the time**. The [revised full text](https://arxiv.org/pdf/2305.14627v2) explains that the relevant evaluated baselines produced generations not fully supported by their cited passages in roughly half of those cases. That is not a count of fabricated paper titles. A citation may lead to a real page and still fail to support the sentence next to it. The paper distinguishes **citation recall**, which asks whether cited passages support a generated statement, from **citation precision**, which identifies irrelevant citations. Its automatic support assessment uses a natural-language inference model, and the authors also report human evaluations. In the paper's limitations, they acknowledge that an automatic evaluator can miss partial support and that the chosen datasets do not cover every harder task. The denominator matters as much as the percentage. The researchers sampled **1,000 development examples per dataset**; ELI5 is a particular long-form question-answering setting, with its own retrieval corpus and tested systems. The defensible sentence is: **“In ALCE's ELI5 evaluation, even the best evaluated systems lacked complete support from their cited passages about half the time.”** The study does not establish a universal failure rate for every research assistant, all scientific citations, or every citation on the web. It certainly does not show that half of their linked papers were invented. This is the first rule for a paper-search agent: report what was measured, **by whom**, and **on which set of cases**. Semantic Scholar's graph made identification fast. It could not convert an evaluation metric into a broader statement the researchers did not test. ## Case two: five results can be one paper, and one date can be wrong For *Lost in the Middle: How Language Models Use Long Contexts*, we ran a Valyu `paper` search for **“Lost in the Middle How Language Models Use Long Contexts Liu 2023”** and requested five results. All five returned the **same arXiv URL**, `arxiv.org/abs/2307.03172`, but surfaced different sections or chunks. Five results did not mean five studies supporting a conclusion. Grouping by paper identifier leaves **one** underlying work for this example. Different excerpts can help navigation without becoming independent evidence. The observed Valyu result also carried a `publication_date` of **2023-01-01**. [arXiv's submission history](https://arxiv.org/abs/2307.03172) dates the first version to **6 July 2023**, followed by later revisions; we read [version 3](https://arxiv.org/pdf/2307.03172v3). We cannot infer from one response why the provider used January 1. It may reflect normalization of year-only metadata, but it should not be cited as the paper's actual submission day. Valyu's [academic-search guide](https://docs.valyu.ai/use-cases/academic) describes returned passages and scholarly metadata; an agent should still check dates and versions against the repository record. This is a dated observation, not a claim that every Valyu paper date is inaccurate. Now look at what the paper tested. The authors evaluated **multi-document question answering** and a controlled **key-value retrieval** task, moving the relevant information to different positions in an input context. They report that, for many of the models and settings studied, accuracy fell when the answer-bearing material appeared in the middle rather than near the beginning or end. That is a meaningful positional effect. It is not a demonstration that information in the middle can *never* be used. The [full paper](https://arxiv.org/pdf/2307.03172v3) makes the counterexample plain: some evaluated models performed **perfectly or nearly perfectly** on its synthetic key-value task. The authors also examined query-aware contextualization and reported a setting in which it markedly improved key-value retrieval. Their multi-document experiment likewise fixes a particular question, set of passages, placement procedure, and collection of models. It does not test every paper-search agent, every document arrangement, or systems released years later. A supported rewrite would be: **“In the tested multi-document QA and key-value tasks, several evaluated models were less accurate when relevant information was placed in the middle of a long input.”** “All models ignore the middle” contradicts exceptions in the cited work. The original article's figures and experiment descriptions allow us to draw that boundary; the number of search chunks and a short excerpt do not. ## Case three: a highly cited paper can still have explicit limits We resolved the DOI **10.1038/s41586-021-03819-2** through [OpenAlex's Work API](https://api.openalex.org/works/https://doi.org/10.1038/s41586-021-03819-2). The record identifies *Highly accurate protein structure prediction with AlphaFold*, links to its publication location, and exposes scholarly metadata including a `cited_by_count`. This makes OpenAlex useful for finding and joining records. The citation count says the work is widely referenced in the index; it does not establish that every claim someone attaches to it has been replicated or endorsed. The [2021 paper](https://doi.org/10.1038/s41586-021-03819-2) reports exceptional protein-structure predictions on the blind **CASP14** assessment. We inspected its [open full text at PubMed Central](https://pmc.ncbi.nlm.nih.gov/articles/PMC8371605/). OpenAlex labels that location a `submittedVersion` and the Nature DOI location a `publishedVersion`: they identify one work, but should not be assumed word-for-word identical. Fig. 1 of the text we inspected describes **87 protein domains** in the comparison. The abstract says predictions were competitive with experimental structures **in a majority of cases**. Those are substantial results. “Every protein perfectly” is a much larger statement, with a different denominator and no allowance for errors. The limitations are not hidden. In the section on multiple-sequence-alignment depth and cross-chain contacts, the paper says accuracy drops substantially when median alignment depth is below **about 30 sequences**. It also says the evaluated model is much weaker for protein regions whose shape depends heavily on contacts with *other* chains in a complex. AlphaFold supplies a **per-residue confidence estimate**, but a confidence value is not an experimental structure determination or a claim that all biological contexts were tested. A supported summary is therefore: **“The studied version of AlphaFold achieved accuracy competitive with experimental structures in most cases assessed, while its paper documents important limits involving sequence information and cross-chain interactions.”** The precise finding belongs to the model and assessments in this publication. Later systems may address different tasks; their advances should be checked in their own papers, not silently read backward into the 2021 study. OpenAlex got us to a publisher DOI and an accessible text location. The qualification came from the open text's **results and limitations**, not from its title or indexed citation count. For an exact quotation or a disputed wording change, compare the publisher's version with the copy being cited. Two locations for the *same work* would not constitute two replications. ## An evidence card that a second reader can challenge Before publishing an answer, give every consequential sentence a compact, inspectable evidence card. It should contain enough detail for another reader to disagree intelligently rather than merely reopen a homepage: 1. **Exact claim.** Preserve qualifiers such as “some,” “most,” “in this trial,” or “as of this date.” Separate the paper's finding from your proposed generalization. 2. **Work and version.** Record DOI, arXiv ID, PMID, or another persistent identifier; distinguish a preprint revision from a publisher version or an authorized repository copy. 3. **The actual support.** Name the section, figure, table, page, or short passage, with enough neighboring context to rule out a misleading crop. Record whether the material comes from an abstract, a methods section, original results, or somebody else's summary. 4. **Study boundaries.** Keep the sample, experimental task, comparison group, outcome metric, time period, and known exceptions beside the claim. These determine which words the evidence can support. 5. **Publication state.** Check for updated versions, later corrections, and whether an index merged distinct versions or returned multiple chunks of one work. 6. **Verdict and uncertainty.** Mark the statement **directly supported**, **supported only with narrower wording**, **contradicted by the source**, or **not verified from available text**. Add the reason; “unverified” is not a synonym for “false.” The verdict need not be made by a model alone. An agent can propose the card and quote its candidate passages. A researcher should be able to inspect the linked paper and see exactly how the conclusion follows. A matching title, citation graph edge, or confident synthesis provides an input to that review, not its outcome. In these three checks, the narrower wording is the difference between a useful result and an attractive error. The ALCE percentage stays attached to its benchmark and definition of support. The long-context finding stays attached to the evaluated tasks and exceptions. AlphaFold's achievement stays attached to the structures it assessed and the situations where it reported weaker performance. Every paper remains important after those qualifications; none needs an inflated headline to matter. ## How the three search systems fit the workflow The providers did not need to return the same objects to be useful. [Semantic Scholar's paper record](https://api.semanticscholar.org/api-docs/graph) connected an arXiv ID, DOI, PDF location, and citation graph for ALCE. Valyu surfaced passages of *Lost in the Middle*; the repeated source URL and questionable date required verification at arXiv. [OpenAlex](https://api.openalex.org/works/https://doi.org/10.1038/s41586-021-03819-2) resolved the AlphaFold DOI into a work record and publication locations; the findings still required the full paper. That is a comparison of **roles**, not a provider leaderboard. A paper index is good at finding and connecting works; an extracted passage speeds navigation; a DOI lookup reduces identity mistakes. None of those fields tells you whether a sentence outruns the methods. An agent that uses several systems should deduplicate by underlying work and version, retain which provider found each lead, and keep the original publication as the authority for what it reports. If full text cannot be reached, stop at what the accessible abstract or metadata actually says. A missing methods section is a reason to mark a claim unverified, not to invent a result or to infer that the opposite is true. The [industry-search source checks](/blog/how-to-verify-search-results-across-finance-biomedical-and-law) apply the same distinction to filings, treatment approvals, and opinions; the [Web Search field note](/blog/when-can-an-agent-trust-a-web-search-result) shows how a plausible result can hide an outdated factual count. *Research note: Provider lookups and source checks were conducted on 25 September 2026. Semantic Scholar was queried by arXiv ID, Valyu by a title-and-author paper query, and OpenAlex by the published DOI. The three claims above are deliberately tested against the linked originals, not offered as quotations from a provider's generated answer. Search results, citation counts, and repository versions may change; repeat the checks before using them in a current review.* ## Definitions - **Claim-level support:** Whether the cited passage, result, or figure warrants the specific statement beside the citation, including the study's task, sample, metric, and qualifications. - **Version of record:** The publisher's formal version of a scholarly work; a preprint or later revision can have different text and should be identified separately when a claim depends on it. ## Frequently asked questions ### Does a DOI prove that the cited paper supports a claim? No. A DOI helps locate a work or version. Support requires the relevant passage, result, or figure to establish the exact claim, with its population, metric, date, and limitations intact. ### Can an agent verify a scientific claim from the abstract alone? Sometimes an abstract establishes a narrow statement about what the authors studied or reported, but it often omits eligibility criteria, denominators, conditions, and failure cases. For a consequential conclusion, inspect the full methods, results, and limitations. ### If several search results return the same paper, is that independent confirmation? No. Several passages, repository copies, or index entries may resolve to the same DOI or arXiv identifier. Group them by underlying work and version before counting independent evidence. ### Does a highly cited paper have a stronger claim? Citation counts measure indexed references to a work, not whether each citing paper agrees, replicates the result, or supports your particular statement. Read the original result and any material later correction separately. ### What if the full paper is paywalled or cannot be retrieved? Look for an authorized open version or repository copy and check which version it represents. If only metadata or an abstract is accessible, label claims requiring the unavailable methods or results as unverified; do not invent supporting passages. ### Should an agent cite a preprint or the published journal version? Use the version that contains the evidence being discussed and say which one it is. Check for journal publication, revisions, corrections, and changed conclusions; do not silently combine wording or dates from different versions. ## Sources 1. [Semantic Scholar Academic Graph API](https://api.semanticscholar.org/api-docs/graph) — Semantic Scholar 2. [Enabling Large Language Models to Generate Text with Citations](https://arxiv.org/abs/2305.14627) — arXiv 3. [ALCE paper, revised version 2](https://arxiv.org/pdf/2305.14627v2) — arXiv 4. [ALCE in the EMNLP 2023 proceedings](https://aclanthology.org/2023.emnlp-main.398/) — ACL Anthology 5. [Valyu academic search sources and limitations](https://docs.valyu.ai/use-cases/academic) — Valyu 6. [Lost in the Middle: How Language Models Use Long Contexts](https://arxiv.org/abs/2307.03172) — arXiv 7. [Lost in the Middle, version 3 full paper](https://arxiv.org/pdf/2307.03172v3) — arXiv 8. [OpenAlex work record for the AlphaFold paper](https://api.openalex.org/works/https://doi.org/10.1038/s41586-021-03819-2) — OpenAlex 9. [Highly accurate protein structure prediction with AlphaFold](https://doi.org/10.1038/s41586-021-03819-2) — Nature 10. [Open full text of the AlphaFold paper](https://pmc.ncbi.nlm.nih.gov/articles/PMC8371605/) — PubMed Central --- # How to use an agent to find clinical trials for a research question > A worked clinical-trial search: discover candidate studies, narrow by design and recruitment status, and inspect the original registry records. - Canonical URL: https://www.searchforagents.com/blog/how-to-use-an-agent-to-find-clinical-trials - Author: Mara Finch, Industry writer - Published: 2026-09-25 - Updated: 2026-09-25 - Topic: Life Sciences - Review due: 2026-12-25 ## Direct answer Define the condition, intervention, population, status, and geography first. Use a clinical-trials dataset and domain-filtered web search to find study records, then query structured trial metadata. Have the agent assemble a shortlist with registry IDs, phase, eligibility, locations, and open questions; check current recruitment and site details in the original registry. ## Key takeaways - Make the condition, treatment, study status, population, and location explicit before searching. - Combine registry-record discovery with structured trial fields for narrower research. - Check the trial's arms and individual site statuses: a matching drug and overall recruiting status do not guarantee an applicable recruiting cohort or location. An agent can save hours when a researcher asks, “Which studies might matter for this treatment question?” The output should be a **shortlist with reasons**, not a page of vaguely related links. To demonstrate, consider: **Which studies involving pembrolizumab and advanced non-small-cell lung cancer (NSCLC) are recruiting adults, and what populations and treatment arms do they study?** This is a research-landscape question, not a determination that a particular person is eligible. We use three providers from the [market map](/market-map): [Valyu](https://valyu.ai) to search a clinical-trials dataset, [Dimensions](https://www.dimensions.ai) to query structured trial metadata, and [Perplexity](https://www.perplexity.ai) to search public registry pages. Each offers a different route to candidate studies; the [ClinicalTrials.gov](https://clinicaltrials.gov) record remains the place to inspect current study details. Search for Agents is produced by [Valyu](https://valyu.ai). The library calls below follow documented TypeScript interfaces for [Valyu](https://valyu.ai) and [Perplexity](https://www.perplexity.ai) and [Dimensions](https://www.dimensions.ai)' Python client; without subscriber credentials, we did not run the three provider queries or compare their retrieval quality. The named [ClinicalTrials.gov](https://clinicaltrials.gov) record was inspected separately on **25 September 2026**. Install `valyu-js` and `@perplexity-ai/perplexity_ai` for the TypeScript examples with `npm install valyu-js @perplexity-ai/perplexity_ai`. The [Dimensions](https://www.dimensions.ai) example uses [Dimcli](https://digital-science.github.io/dimcli/) (`pip install dimcli`), the Python client documented by its publisher. Set `VALYU_API_KEY`, `DIMENSIONS_API_KEY`, and `PERPLEXITY_API_KEY` in your environment; [Dimensions](https://www.dimensions.ai) also needs the API endpoint supplied by your institution. Keep these examples on the server side, away from browser bundles. ## State the research question before searching Give the agent five fields: condition (**advanced NSCLC**), intervention (**pembrolizumab, including combinations**), population (**adults**), status (**recruiting**), and geography (**anywhere initially; United States if location matters**). Ask it to return a study table with registry ID (NCT for [ClinicalTrials.gov](https://clinicaltrials.gov)), phase, treatment arms, biomarker and prior-treatment criteria, overall status, location status, last update, and registry link. This keeps a broad match from becoming a misleading recommendation. In particular, a study that mentions NSCLC *somewhere* in its description and pembrolizumab *somewhere* in its interventions may be relevant only to a subset of patients or arms. Let the agent search broadly, then narrow by reading each registry record. ## 1. Discover candidate registry records [Valyu](https://valyu.ai)'s [clinical-trials dataset](https://docs.valyu.ai/use-cases/healthcare) can be selected explicitly using its [TypeScript SDK](https://docs.valyu.ai/sdk/typescript-sdk/search): ```typescript import { Valyu } from "valyu-js"; const results = await new Valyu().search( "Recruiting clinical trials for adults with advanced non-small cell lung cancer involving pembrolizumab, including combination arms", { searchType: "proprietary", includedSources: ["valyu/valyu-clinical-trials"], maxNumResults: 10, responseLength: "medium", }, ); if (!results.success) throw new Error("Trial search did not complete"); for (const hit of results.results) { console.log(hit.title, hit.url, hit.content.slice(0, 500)); } ``` For each hit, have the agent record the NCT number and the registry URL, then expand synonyms if the first pass is thin: “NSCLC,” “non-small-cell lung cancer,” “Keytruda,” and a particular mutation. Check the response status and warnings for incomplete search results. [Valyu](https://valyu.ai) documents this clinical-trials collection as **subscription-only** and says its trial data can lag by **24–48 hours**. Search relevance is a discovery tool, not an assertion that the study is still recruiting or that all its cohorts use pembrolizumab. ## 2. Filter the trial landscape [Dimensions](https://www.dimensions.ai)' [clinical-trials source](https://docs.dimensions.ai/dsl/datasource-clinical_trials.html) exposes fields such as `overall_status`, `phase`, `conditions`, `interventions`, `study_eligibility_criteria`, and `linkout`. With institutional API access, [Dimcli](https://digital-science.github.io/dimcli/getting-started.html) handles authentication and runs a [Dimensions](https://www.dimensions.ai) Search Language (DSL) query. Set `DIMENSIONS_ENDPOINT` to your institution's full DSL v2 endpoint, such as `https://app.dimensions.ai/api/dsl/v2`: ```python import os import dimcli dimcli.login( key=os.environ["DIMENSIONS_API_KEY"], endpoint=os.environ["DIMENSIONS_ENDPOINT"], ) data = dimcli.Dsl().query(''' search clinical_trials for "non-small cell lung cancer pembrolizumab" return clinical_trials[id + title + linkout + phase + overall_status + interventions + study_eligibility_criteria] limit 20 ''').data if "errors" in data: raise RuntimeError("Dimensions trial query did not complete") for study in data.get("clinical_trials", []): print(study.get("id"), study.get("linkout"), study.get("overall_status")) ``` [Dimensions](https://www.dimensions.ai) returns JSON. Compare the returned `overall_status` values with the recruiting criterion and page beyond the first 20 records if necessary. If you add a server-side `where overall_status="..."` filter, inspect the actual status strings first rather than assuming one capitalization or registry vocabulary works everywhere. [Dimensions](https://www.dimensions.ai)' `id` is **its own trial identifier**; follow `linkout` to the original registry and obtain that registry's study ID (an NCT number for [ClinicalTrials.gov](https://clinicaltrials.gov)). Check whether a trial's `phase`, intervention arms, and eligibility meet the question. The indexed status may lag the registry; [Dimensions](https://www.dimensions.ai)' Analytics API requires an institutional subscription and is designed for analytical research, not as a general-purpose application backend. ## 3. Search public trial pages [Perplexity](https://www.perplexity.ai)'s [Search SDK](https://docs.perplexity.ai/docs/search/quickstart) returns ranked web results and supports `search_domain_filter`. This lets an agent look for [ClinicalTrials.gov](https://clinicaltrials.gov) study pages using a separate web index: ```typescript import Perplexity from "@perplexity-ai/perplexity_ai"; const results = await new Perplexity().search.create({ query: "recruiting advanced non-small cell lung cancer pembrolizumab combination clinical trial adults", search_domain_filter: ["clinicaltrials.gov"], max_results: 10, }); for (const page of results.results) { console.log(page.title, page.url, page.snippet); } ``` Read the result URLs and excerpts to locate candidate NCT records, then open the originals. This is a useful second discovery route if a dataset query has missed a name or synonym, **not** a structured filter on registry status. A result's rank or snippet cannot establish that a trial is recruiting now; a web index may be incomplete or behind the registry. For publications associated with a shortlisted trial, search [PubMed](https://pubmed.ncbi.nlm.nih.gov) separately and keep those bibliographic records distinct from the trial registrations. ## What the agent can learn from one real registry hit A direct [ClinicalTrials.gov](https://clinicaltrials.gov) [study search for NSCLC, pembrolizumab, and overall recruiting status](https://clinicaltrials.gov/data-api/about-api) surfaced [**NCT05789082**](https://clinicaltrials.gov/study/NCT05789082) in our 25 September 2026 check. Its [registry API record](https://clinicaltrials.gov/api/v2/studies/NCT05789082) describes a **phase 1/2** study of **divarasib**, alone or in combinations, for previously untreated advanced or metastatic NSCLC with a **KRAS G12C mutation**. The overall study status was **recruiting**; its September 2026 update includes U.S. locations with different site-level statuses. That result changes the research answer in three ways. First, it is **not a phase 3 pembrolizumab trial**. Second, pembrolizumab appears in **combination cohorts A and B**, while other cohorts use divarasib without it. Third, the biomarker, prior-treatment, and study-arm criteria matter: the title and overall recruiting label alone cannot tell a reader which cohort or site is relevant. The agent should place those details next to the NCT link, not merely output “recruiting pembrolizumab study.” Trial status, sites, and eligibility may change after this check. ## Ask for a research shortlist, not an eligibility decision Close the workflow with a prompt the reader can adapt: > From the trial records, build a table of studies recruiting adults with advanced NSCLC that include pembrolizumab in at least one arm. Give the registry ID (NCT where applicable), phase, combination partner, relevant arm, mutation and prior-treatment restrictions, overall status, location status, last update, and original registry link. Deduplicate results from the three searches by registry ID. Flag any uncertain match and list the questions a researcher should check with the study team. For NCT05789082, the useful takeaway is not “eligible” or “effective.” It is: **a recruiting phase 1/2 divarasib study includes pembrolizumab in some arms for a defined NSCLC population; inspect the mutation requirement, specific cohort, and current site before following up.** That is knowledge a researcher can act on by opening the registry record and contacting the study team. The [industry-search source check](/blog/how-to-verify-search-results-across-finance-biomedical-and-law) shows why a discovered study and an official decision support different claims. *Method note: Library syntax and access requirements were checked against the linked provider SDK documentation on 25 September 2026. The NCT05789082 example comes from the [ClinicalTrials.gov](https://clinicaltrials.gov) v2 study-search response checked that day, not from a matched test of [Valyu](https://valyu.ai), [Dimensions](https://www.dimensions.ai), and [Perplexity](https://www.perplexity.ai). Recheck the live registry before using the record for current recruitment or location information.* ## Definitions - **NCT number:** The identifier for a study record in the U.S. public clinical-trial registry; use it to reopen the specific registration and track updates rather than treating a search result title as a stable reference. ## Frequently asked questions ### Does a recruiting trial mean every listed site is recruiting? No. The overall study can be recruiting while individual locations have different statuses. Check the current location entry and study contact before treating a site as an option. ### Can a web search result tell me which trials are recruiting now? No. A web search can discover a study page, but an indexed excerpt may be stale. Open the original registry record and check the overall status, location statuses, eligibility and last update. ### Does a matching treatment name mean every arm of a trial uses it? No. A treatment may appear only in certain cohorts or combinations. Open the study record and match the intervention to its specific arms, population and eligibility criteria before adding the trial to a shortlist. ### What should an agent do when trial sources disagree about recruitment? Reopen the original registry record, check its last posted update and the status of the relevant site, and record which source is older. If the conflict remains, label recruitment unconfirmed and ask the study team rather than treating either search result as current. ## Sources 1. [Valyu Healthcare use case and clinical-trials source](https://docs.valyu.ai/use-cases/healthcare) — Valyu 2. [Valyu Search API reference](https://docs.valyu.ai/api-reference/endpoint/search.md) — Valyu 3. [Valyu TypeScript SDK Search guide](https://docs.valyu.ai/sdk/typescript-sdk/search) — Valyu 4. [Dimensions clinical trials data source and fields](https://docs.dimensions.ai/dsl/datasource-clinical_trials.html) — Dimensions 5. [Dimensions DSL API access and authentication](https://docs.dimensions.ai/dsl/api.html) — Dimensions 6. [Dimcli Python library getting started](https://digital-science.github.io/dimcli/getting-started.html) — Digital Science 7. [Perplexity Search API quickstart and domain filtering](https://docs.perplexity.ai/docs/search/quickstart) — Perplexity 8. [ClinicalTrials.gov data API](https://clinicaltrials.gov/data-api/about-api) — U.S. National Library of Medicine 9. [Divarasib with or without other therapies in advanced non-small cell lung cancer, NCT05789082](https://clinicaltrials.gov/study/NCT05789082) — ClinicalTrials.gov 10. [ClinicalTrials.gov v2 record for NCT05789082](https://clinicaltrials.gov/api/v2/studies/NCT05789082) — ClinicalTrials.gov --- # How to use an agent to research a company before earnings > Build a useful pre-earnings brief with search and filings libraries: find the latest reports, revisit the prior call, and decide what to watch next. - Canonical URL: https://www.searchforagents.com/blog/how-to-use-an-agent-to-research-a-company-before-earnings - Author: Mara Finch, Industry writer - Published: 2026-09-25 - Updated: 2026-09-25 - Topic: Finance - Review due: 2026-12-25 ## Direct answer Give the agent a company, fiscal period, and research question. Use search to discover filing passages, a filing library to locate the latest official report, a finance-search tool for prior earnings context, and web search for investor-relations pages. Ask for a dated brief that separates filed facts, management statements, and open questions. ## Key takeaways - Start with a question about the next report, not an instruction to predict a stock price. - Combine filing-passage discovery, official filing history, prior-call context, and investor-relations announcements. - Turn what you find into a brief with dated facts, management statements, and questions the next report can answer. The useful question before an earnings release is not “Will the stock go up?” It is “What do I know about this business, what did management say last time, and what would change my understanding when the next numbers arrive?” An agent can assemble that briefing from several search and data APIs without pretending to know the result in advance. Take **Apple before its next earnings announcement** as a worked example. Give the agent the company name, ticker **AAPL**, [SEC](https://www.sec.gov) CIK **0000320193**, and an as-of date. Ask it to investigate Services growth and management's latest comments. These are **library examples based on published SDK documentation**, not the results of a live four-provider test; account access, available transcripts, event dates, and returned records must be checked when you run them. Search for Agents is produced by [Valyu](https://valyu.ai), which is one of the four providers discussed here. The examples use TypeScript; install the documented packages with `npm install valyu-js sec-edgar-toolkit @perplexity-ai/perplexity_ai exa-js`. Set `VALYU_API_KEY`, `PERPLEXITY_API_KEY`, and `EXA_API_KEY` in your environment. [SEC](https://www.sec.gov) access needs a real contact identity in `SEC_IDENTITY`, as described below. Run the examples in a server-side TypeScript environment so credentials remain private. ## 1. Find the questions worth asking [Valyu](https://valyu.ai)'s [Search API](https://docs.valyu.ai/api-reference/endpoint/search.md) accepts a natural-language `query`; its [finance sources](https://docs.valyu.ai/use-cases/finance) include [SEC](https://www.sec.gov) filings and earnings datasets. Search a filing section rather than asking the agent to summarize “everything about Apple.” With a subscription that includes the filing dataset, the [TypeScript SDK](https://docs.valyu.ai/sdk/typescript-sdk/search) can search as follows: ```typescript import { Valyu } from "valyu-js"; const results = await new Valyu().search( "Apple latest filed 10-Q Services revenue and management discussion", { searchType: "proprietary", includedSources: ["valyu/valyu-sec-filings"], maxNumResults: 5, responseLength: "medium", }, ); if (!results.success) throw new Error("Filing search did not complete"); for (const hit of results.results) { console.log(hit.title, hit.url, hit.content.slice(0, 500)); } ``` Read the returned filing titles, URLs and passages. Ask the agent to make a list of *candidate* questions: Did Services growth change? Which products or regions does management say drove the quarter? Did it describe risks that might matter next quarter? Then open the filing for the lines that actually answer each question. Inspect the response status and warnings if some sources fail; a partial result is not proof that nothing else was filed. The finance dataset requires a [Valyu](https://valyu.ai) subscription; the SDK's `searchType` selects **`proprietary`**, not a nonexistent `finance` mode. If you want only public-web discovery, run a separate `web` search. ## 2. Establish the filed baseline The [SEC](https://www.sec.gov) provides [EDGAR filing histories](https://www.sec.gov/search-filings/edgar-application-programming-interfaces), but does not publish an official TypeScript SDK. The independent [SEC EDGAR Toolkit](https://github.com/stefanoamorelli/sec-edgar-toolkit) offers typed `Company` and `Filing` objects. Set `SEC_IDENTITY` to an application name and your real contact email, as required for automated [SEC](https://www.sec.gov) access. Its filings collection is newest first, so you can select the latest report **filed by the briefing date**: ```typescript import { Company, setIdentity } from "sec-edgar-toolkit"; const identity = process.env.SEC_IDENTITY; if (!identity) throw new Error("Set SEC_IDENTITY to your real contact"); setIdentity(identity); const apple = await Company.lookup("AAPL"); const filings = await apple.getFilings({ form: ["10-Q", "10-K"], limit: 20 }); const filing = filings.find((item) => item.filingDate <= "2026-09-25"); if (!filing) throw new Error("No prior 10-Q or 10-K found"); console.log(filing.formType, filing.filingDate, filing.periodOfReport); console.log(filing.accessionNumber, filing.url); const filingText = await filing.text(); console.log(filingText.includes("Services")); ``` The `filingDate` tells the agent when the report became public; `periodOfReport` identifies the period covered. `filing.text()` yields readable text, while `filing.url` points to the [SEC](https://www.sec.gov) filing index where a reader can open the original report and check the table units. The `limit: 20` sample is only a recent window: expand the search if the as-of date is older. The toolkit is **independently maintained**; it does not speak for the [SEC](https://www.sec.gov) or certify a number inside a filing. A prior filing may not contain a date for the *next* call; confirm upcoming events through the company's investor-relations channel. For a concrete historical baseline, Apple's [fiscal 2025 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm), filed **31 October 2025**, reports **Services net sales of 109,158 in a table labeled dollars in millions**: $109.158 billion for that fiscal year. That figure supplies a precise, dated reference for a Services question; it is **not** a current-quarter figure or a prediction of the next release. The [industry-search source check](/blog/how-to-verify-search-results-across-finance-biomedical-and-law) shows why the agent must keep those periods separate. [EDGAR](https://www.sec.gov)'s data APIs do not need an API key, but automated requests should comply with the [SEC](https://www.sec.gov)'s access policy; `data.sec.gov` does not provide browser CORS support. ## 3. Revisit prior earnings Numbers in a filing tell only part of the story. [Perplexity](https://www.perplexity.ai)'s [Agent API `finance_search` tool](https://docs.perplexity.ai/docs/agent-api/tools/finance-search) can look up the last available earnings call, segment figures, and management's discussion for a company. The [TypeScript SDK](https://docs.perplexity.ai/docs/agent-api/quickstart) lets you ask a targeted question. Its documented direct-model configuration sets `max_steps` to at least 3 so the tool can run: ```typescript import Perplexity from "@perplexity-ai/perplexity_ai"; const response = await new Perplexity().responses.create({ model: "openai/gpt-5.6-sol", input: "For AAPL, summarize management's Services commentary in the last available earnings call before 2026-09-25. Identify its fiscal period, source links, and open questions for the next report.", tools: [{ type: "finance_search" }], max_steps: 3, }); if (response.status !== "completed") { throw new Error("Earnings research did not complete"); } console.log(response.output_text); ``` Inspect any `finance_results` items and their source URLs in `response.output` before promoting commentary to a known fact. A generated summary is a starting point for examining the prior call, not a substitute for checking the underlying transcript. Coverage varies by company and period; if it cannot locate the call, leave that part of the brief open. ## 4. Find company announcements The [Exa](https://exa.ai) [TypeScript SDK](https://exa.ai/docs/sdks/quickstart) can restrict web discovery to Apple's investor-relations and newsroom pages. This is a way to find a prior earnings release, webcast notice, or slides without assuming an earnings calendar's estimated date is confirmed: ```typescript import Exa from "exa-js"; const pages = await new Exa().search( "Apple investor relations recent quarterly results and earnings webcast", { type: "auto", includeDomains: ["investor.apple.com", "apple.com/newsroom"], numResults: 5, contents: { highlights: true }, }, ); for (const page of pages.results) { console.log(page.title, page.url, page.highlights); } ``` [Exa](https://exa.ai) returns ranked pages and requested highlights, not a certified event calendar. Open the company's announcement and check the event date and fiscal period. If there is no announcement yet, say so; do not convert a search result for a *previous* earnings call into a date for the next one. ## Turn those searches into a brief someone can use Give the agent a constrained final instruction: > Prepare a one-page pre-earnings brief for Apple as of the date of this run. List three known facts from the latest filed 10-Q or 10-K, two relevant statements from the most recent available earnings call, and three questions for the next report. For every item include the fiscal period, source link, and whether it is a filed fact, a management statement, or an unanswered question. Do not predict results or fill missing transcripts with guesses. One legitimate entry might read: **Known fact:** Apple's fiscal 2025 10-K reported $109.158 billion in Services net sales. **Next question:** How does the latest reported Services period compare with the corresponding prior period, and what explanation does management give for the change? That is useful preparation because it tells the reader exactly what to look for, while leaving the as-yet-unreported answer open. Re-run the filing and event searches immediately before sharing the brief; a later filing or confirmed call date can change the context. *Method note: Library calls and coverage statements were checked against the linked SDK and API documentation on 25 September 2026. The Apple fiscal 2025 figure was checked in its filed 10-K. The [Valyu](https://valyu.ai), [SEC EDGAR Toolkit](https://github.com/stefanoamorelli/sec-edgar-toolkit), [Perplexity](https://www.perplexity.ai), and [Exa](https://exa.ai) examples were not run as a four-provider test; no specific ranking, transcript, or future announcement is claimed.* ## Definitions - **Pre-earnings brief:** A short research note summarizing what a company has already reported, what management said previously, and which questions the next results could answer. ## Frequently asked questions ### Can the agent use a calendar API result as a confirmed earnings date? Treat a calendar entry as a lead until the company's investor-relations announcement confirms the event. Dates can be estimated or rescheduled. ### Do I need all four APIs for every brief? No. Search and filing libraries can cover discovery and official reports. Add prior-call research or investor-relations discovery only when it helps answer your question. ### How should an agent compare quarterly results before earnings? Compare like fiscal periods, such as the latest reported quarter with the same quarter a year earlier. Check the units, currency and filing dates; do not compare a quarterly figure with an annual total or treat a reporting date as the date the result became public. ### What if the previous earnings-call transcript is unavailable? Use the filed report and the company's dated results announcement for facts that those sources support. Mark management's prior remarks as unavailable and keep related questions open rather than inventing a quotation or treating a summary as a transcript. ## Sources 1. [Valyu Finance use case and Search API sources](https://docs.valyu.ai/use-cases/finance) — Valyu 2. [Valyu Search API reference](https://docs.valyu.ai/api-reference/endpoint/search.md) — Valyu 3. [Valyu TypeScript SDK Search guide](https://docs.valyu.ai/sdk/typescript-sdk/search) — Valyu 4. [EDGAR Application Programming Interfaces](https://www.sec.gov/search-filings/edgar-application-programming-interfaces) — U.S. Securities and Exchange Commission 5. [SEC EDGAR Toolkit TypeScript package and API reference](https://www.npmjs.com/package/sec-edgar-toolkit) — SEC EDGAR Toolkit 6. [Apple Inc. fiscal 2025 Form 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm) — U.S. Securities and Exchange Commission 7. [Perplexity Agent API Finance Search guide](https://docs.perplexity.ai/docs/agent-api/tools/finance-search) — Perplexity 8. [Exa TypeScript SDK quickstart](https://exa.ai/docs/sdks/quickstart) — Exa --- # What should a search API return to an agent? > Valyu, Exa, and Parallel return different combinations of links, passages, dates, and diagnostics. Here is the evidence contract an agent needs to build around their results. - Canonical URL: https://www.searchforagents.com/blog/what-should-a-search-api-return-to-an-agent - Author: Ada Vale, Technical writer - Published: 2026-09-25 - Updated: 2026-09-25 - Topic: Search Infrastructure - Review due: 2026-12-25 ## Direct answer An agent-ready search result needs a resolvable source URL, a relevant passage or page text, available publication metadata, and request-level status. A title or ranking score does not prove a claim. The application must record its own fetch time, check the passage against the original source, and keep publication, retrieval, and effective dates separate. ## Key takeaways - A provider request ID traces the search call; it is not a stable identifier for the source document. - Valyu includes extracted content, source classification, and cost fields; publication metadata is not guaranteed on every result. - Exa's highlights or full text must be requested through contents; Parallel Search returns excerpts and uses Extract for full page content. - Publication date, fetch time, and the date a fact became effective answer different questions. - Warnings, partial responses, and missing passages belong in the agent's evidence record, not only in server logs. An agent can find a convincing result and still be unable to defend the answer it writes from it. A title and URL identify a lead. A passage gives the agent something to inspect. Neither establishes that the page is authoritative for the question, that the passage is complete, or that it was true on the date the user cares about. That makes a search API response an **evidence handoff**, not an answer. We checked the published Search contracts of **Valyu, Exa, and Parallel** on 25 September 2026 and inspected one live Valyu response for its field names. The three code examples are **raw JSON request bodies**, not cURL commands, SDK calls, or captured provider responses; authentication headers are omitted. They compare documented output shapes and integration decisions; **they are not matched-query tests of relevance, latency, or price**. We did not make live Exa or Parallel API requests. **Disclosure:** Search for Agents is produced by Valyu. Its Search API is one of three examples here; the same source-verification requirements apply to all three. ## First decide what the agent has to prove Suppose an agent needs to identify the original specification for HTTP semantics. A search for “RFC 9110 HTTP Semantics” may return the [RFC Editor's copy of RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html), another page quoting it, or a summary. The result with the best excerpt might be useful for discovery. To answer which document is the specification, the agent should still open the RFC Editor's record and identify **RFC 9110**, rather than promoting a result title or ranking position into authority. The same separation matters for a changing page. A result's publication date describes one possible property of the source; it does not tell us when the agent fetched its text or when a policy described inside it took effect. Those latter dates need their own fields in the application, even when the search provider returns useful metadata. An agent-ready handoff needs five pieces: | Need | Minimum usable information | What still needs checking | | --- | --- | --- | | **Source identity** | Resolving URL, title, and provider result ID if available | Whether the page is the original record and whether its URL still serves the same content | | **Evidence** | Extracted page text or a relevant excerpt | Whether the exact claim appears in context rather than only in a generated summary | | **Provenance** | Provider source classification and available author or publication metadata | Which organization issued the underlying statement, not merely which index found it | | **Time** | Any source publication date | The application's fetch time, the source version, and the effective date of the claim | | **Execution state** | Request identifier, warnings or error status, and available usage information | Whether a source failed, content was truncated, or the response is incomplete | These are requirements for the *consumer* of search, not a claim that any single vendor returns every field in this table. ## Example 1: Valyu returns content with source and cost context The [Valyu Search reference](https://docs.valyu.ai/api-reference/endpoint/search.md) describes a `POST /v1/search` request with a `query` and controls such as `search_type`, `max_num_results`, and `response_length`. A result has an `id`, `title`, `url`, extracted Markdown `content`, a `source` identifier, `source_type`, `price`, and `length`. Fields such as `publication_date`, `doi`, and `relevance_score` depend on the result and search mode; an agent must allow missing dates rather than fill them in. For the RFC Editor question, the documented request shape permits: ```json { "query": "Find the RFC Editor's RFC 9110 HTTP Semantics specification", "search_type": "web", "max_num_results": 3, "response_length": 2000 } ``` At the response level, `tx_id` identifies the operation, `results_by_source` counts source categories, and `total_deduction_dollars` reports spend. We checked those field names against the [quickstart](https://docs.valyu.ai/search/quickstart) and a live web-search response. The response included a `crawl_date` on that occasion, but the documented result contract we inspected does **not** require it. Our agent would still record its own fetch timestamp. Valyu's `content` can save an immediate page fetch, but the [documented `response_length` limit](https://docs.valyu.ai/api-reference/endpoint/search.md) can truncate that text. If the decisive sentence falls beyond the returned portion, absence from `content` is not evidence that the source lacks it. A `source_type` of `paper` or `website` describes the kind of result; it does not certify the paper's conclusion or the website's authority. The API reference also documents **HTTP 206** for a processed search when some sources failed **or no results were found**. A 206 alone does not tell the agent which happened: inspect the returned results and error or warning fields before claiming the search was complete, empty, or unusable. ## Example 2: Exa makes the evidence view a request choice [Exa Search](https://exa.ai/docs/reference/search) takes a `query` and returns results with metadata such as `id`, `url`, `title`, and `publishedDate` when available. Its [Search guide](https://exa.ai/docs/reference/search-api-guide-for-coding-agents) recommends asking for `contents: { highlights: true }` when the agent needs passages; `contents.text` requests the broader cleaned page body. Search results contain **what was requested under `contents`**, so a link-only response should not be treated as though a passage was verified. For the same task, this request asks Exa to include passages: ```json { "query": "RFC Editor RFC 9110 HTTP Semantics", "numResults": 3, "contents": { "highlights": true } } ``` Exa includes a top-level `requestId` and a `costDollars` object. Its Search reference describes that cost as an **endpoint-dependent estimate**, not necessarily the final billed amount. The `requestId` makes a call traceable, while the result's `id` or `url` identifies a discovered page; neither is an immutable snapshot of what the page said. For changing pages, `contents.maxAgeHours` controls how old cached extracted content may be before Exa attempts another fetch. Exa explicitly distinguishes that setting from a publication-date filter. Setting a low maximum age addresses one form of stale *extraction*; it does not guarantee that a new fetch succeeds or make an old underlying claim current. [Exa's Contents guide](https://exa.ai/docs/reference/contents-api-guide-for-coding-agents) also says a separate Contents request can check per-URL `statuses` when fetching specified pages. ## Example 3: Parallel starts with excerpts and request warnings The current [Parallel Search endpoint](https://docs.parallel.ai/api-reference/search/search) uses `POST /v1/search` with `search_queries` and an optional natural-language `objective`. Its documented result fields include `url`, `title`, `publish_date` (which can be null), and an `excerpts` array. The response includes `search_id`, `session_id`, and optional `warnings` and `usage` fields. `session_id` can carry context across later Search and Extract calls; `search_id` refers to this search, not to a version of a source document. Parallel represents that task with short queries and an optional objective: ```json { "search_queries": ["RFC 9110 HTTP Semantics"], "objective": "Find the RFC Editor's original RFC 9110 specification." } ``` The [migration guide](https://docs.parallel.ai/search/migrate-to-parallel) is explicit about a tradeoff: Search returns compressed excerpts rather than complete page bodies and does **not** provide a per-result relevance score. If the agent needs a wider passage, the [Extract API](https://docs.parallel.ai/api-reference/extract/extract) has a separate `full_content` field and per-URL errors. Preserve the ranked order rather than manufacturing a score from position, and inspect `warnings` before assuming every requested constraint was honored. Parallel's `publish_date`, like the dates in the other examples, is source metadata when available. It is not the timestamp of your application receiving the answer. The agent still needs to attach that timestamp and reopen the original source if a compressed excerpt leaves out the qualification that changes the meaning of a claim. ## Do not normalize away the differences An application may want one internal record format, but a flat `score` and a `snippet` field would erase important distinctions. Valyu's extracted `content`, Exa's requested `highlights` or `text`, and Parallel's default `excerpts` are different views with different completeness guarantees. The dollar fields are not directly comparable either: Valyu reports `total_deduction_dollars`, Exa describes `costDollars` as estimated, and Parallel exposes `usage` metrics. None makes a claim more credible simply because the call cost more. Keep the raw provider response alongside a small normalized evidence record: **provider and request ID; source URL and any document identifier available; returned excerpt or text; which content view was requested; any publication date; the application's retrieval time; warnings, partial failures, or per-URL errors; and a pointer to the exact passage checked on the original page.** Set unknown fields to unknown. Do not transform a missing publication date into today's date, or treat a provider's request ID as a document ID. Before the agent cites anything, ask whether it can reopen the URL, locate the claimed passage, and state which source and date govern the answer. If it cannot, the search response is still a useful lead—but the claim has not passed verification. The [web-result investigation](/blog/when-can-an-agent-trust-a-web-search-result) shows that boundary in a live source dispute; the [evidence-first evaluation brief](/research/evidence-first-agent-evaluation) explains how to check the resulting answer independently. *Method note: API field names and request behavior above were checked against each provider's published documentation on 25 September 2026. One Valyu response shape was also inspected directly. Exa and Parallel examples describe documented interfaces, not observed results from live calls; no claims about relative retrieval quality are made.* ## Definitions - **Search request ID:** A provider-generated identifier for one search operation, useful for tracing that call; it does not identify or preserve a version of the source page. - **Evidence record:** An application-level record linking a specific claim to a source URL, supporting passage, relevant dates, and the search or fetch operation that supplied it. ## Frequently asked questions ### Is a search result URL enough to support a citation? No. The URL tells an agent where to look. Before citing a claim, it should inspect the source and retain the passage or data field that actually supports the statement, along with the relevant scope and date. ### Do publication-date fields tell an agent when a page was fetched? No. Publication metadata describes when the source was published if that date is known. The agent should record its own retrieval time, and separately identify when the underlying fact became effective. ### Can an agent compare relevance scores across search providers? Not as a common measure of truth or quality. Relevance scores, when supplied, reflect a provider's ranking system; Parallel's documented Search response does not return a per-result score. Verify the source and claim instead. ### What should an agent do when a search response is partial? Keep the successful results, but record the partial status and any warnings or per-source errors. Retry failed sources when appropriate, and do not claim that the search was complete or that missing results mean no evidence exists. ## Sources 1. [Valyu Search endpoint reference](https://docs.valyu.ai/api-reference/endpoint/search.md) — Valyu 2. [Valyu Search quickstart](https://docs.valyu.ai/search/quickstart) — Valyu 3. [Exa Search API reference](https://exa.ai/docs/reference/search) — Exa 4. [Exa Search API guide for coding agents](https://exa.ai/docs/reference/search-api-guide-for-coding-agents) — Exa 5. [Exa Contents API guide for coding agents](https://exa.ai/docs/reference/contents-api-guide-for-coding-agents) — Exa 6. [Parallel Search API reference](https://docs.parallel.ai/api-reference/search/search) — Parallel 7. [Parallel Search migration guide](https://docs.parallel.ai/search/migrate-to-parallel) — Parallel 8. [Parallel Extract API reference](https://docs.parallel.ai/api-reference/extract/extract) — Parallel 9. [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html) — RFC Editor --- # How to Verify Search Results Across Finance, Biomedical, and Law > A number in a filing, a disease in a paper title, and a court ruling each require a different source check. Three worked cases show where search ends and evidence begins. - Canonical URL: https://www.searchforagents.com/blog/how-to-verify-search-results-across-finance-biomedical-and-law - Author: Mara Finch, Industry writer - Published: 2026-09-24 - Updated: 2026-09-24 - Topic: Industry Search - Review due: 2026-12-24 ## Direct answer An industry search hit leads to a record; it does not prove every claim inside it. Verify a financial figure in its dated SEC filing and units, a U.S. treatment indication in the FDA's decision for that date, and a legal holding in the court's opinion. Keep the appropriate identifier—the filing accession and document, PMID or DOI for a study, or court docket—alongside the supporting passage and as-of date. ## Key takeaways - The provider that finds a record and the authority that establishes a claim can be different organizations. - Apple's 2025 Services figure is $109,158 million in its filed 10-K; both the fiscal period and reporting units matter. - A clinical paper covering two diseases did not establish the FDA's approval dates or current age indication for Casgevy. - A court syllabus is a useful pointer, but the opinion itself sets out the holding and its limits. A financial figure, a treatment indication, and a legal holding can all appear in search results. They do not have the same evidentiary owner. For a number a company reported, inspect its dated filing. For an FDA approval, read the regulator's decision. For what a court held, read the court's opinion. The search provider is the route to the record; it is not automatically an independent witness to the fact inside it. We followed three questions through available discovery surfaces and checked the answer in the issuing record. These are **worked source checks, not a benchmark or a ranking of providers**. The dates and queries below describe checks made on 24 September 2026; search results may change. **Disclosure:** Search for Agents is produced by Valyu. We tested Valyu only in the biomedical case below and report both a missed target paper and useful FDA results. No provider was scored across all three domains. | Question | Discovery route | Record that can settle it | | --- | --- | --- | | How much Services revenue did Apple report for fiscal 2025? | SEC EDGAR submissions and the filing | Apple's specific 2025 Form 10-K, including its units and fiscal period | | Was Casgevy approved for both sickle cell disease and transfusion-dependent β-thalassemia in December 2023? | PubMed for the research paper; Valyu web search for FDA records | Separate dated FDA decisions, not the paper title | | Did *Loper Bright* undo every earlier Chevron-based decision? | A CourtListener case listing and searchable copies | The Supreme Court's opinion, including its paragraph on earlier holdings | ## A financial number needs a filing, a period, and a unit [SEC EDGAR's submissions API](https://www.sec.gov/search-filings/edgar-application-programming-interfaces) lets a researcher find a company's filing history by CIK. For Apple, the [submissions record](https://data.sec.gov/submissions/CIK0000320193.json) identifies a **10-K filed 31 October 2025**, accession **0000320193-25-000079**, for a fiscal year ending **27 September 2025**. The filing date and reporting period answer different questions: one says when the record became available; the other says what year the figures describe. In the [filed 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm), the net-sales-by-category table reports **Services: 109,158**, with the table explicitly labeled **dollars in millions**. That is **$109.158 billion**, not $109,158 or $109,158 billion. The consolidated statement of operations repeats the Services figure in the same filing. Two appearances in one document make the extraction easier to check; they are not two independent sources. The submissions API supplies form, accession, filing date, period, and document filename. It does not by itself certify every figure someone might extract from the filing. The SEC also notes that its XBRL company-facts APIs select facts using standard taxonomies rather than every company-specific extension. A missing field in one machine-readable route is not evidence that the reported line item is zero. Open the actual filing and retain the table heading, units, accession, and period alongside the number. That distinction matters especially in historical comparisons. Apple's fiscal **2025** ended in September 2025 and the 10-K was filed in October; it is neither a calendar-year-2025 number nor a figure first reported in 2026. The [pre-earnings research workflow](/blog/how-to-use-an-agent-to-research-a-company-before-earnings) shows how to preserve that distinction in an agent's brief. ## A clinical paper is not an FDA approval Consider the question: **Was Casgevy approved in the United States for both sickle cell disease and transfusion-dependent β-thalassemia on 8 December 2023?** A [paper indexed in PubMed](https://pubmed.ncbi.nlm.nih.gov/33283989/) is titled *CRISPR-Cas9 Gene Editing for Sickle Cell Disease and β-Thalassemia*. PubMed places it in a January 2021 journal issue and records an earlier electronic publication date of **5 December 2020**. Its PMID is **33283989** and its DOI is **10.1056/NEJMoa2031054**. The title describes research covering two diseases. It does not say which indications the FDA had approved by a later date. We tried the title query **“Frangoul CRISPR-Cas9 Gene Editing for Sickle Cell Disease and beta-Thalassemia”** in two discovery paths. PubMed's E-utilities search returned the paper's PMID among five results. A Valyu **biomedical** search did not return that paper among the first six results we inspected; it returned related research instead. Those are observations about this query and result cutoff, **not a general measure of either provider's coverage or relevance**. Valyu's biomedical sources include a PubMed-derived collection, so two appearances of the same record would not be independent corroboration in any case. For the *approval* question we changed the search target, rather than asking a paper index to establish a regulator's decision. A Valyu **web** search with `site:fda.gov`, both historical dates, and the two indications in the query surfaced the [FDA's 16 January release](https://www.fda.gov/news-events/press-announcements/fda-roundup-january-16-2024) and the December and January approval letters. The [8 December 2023 approval letter](https://www.fda.gov/media/174618/download) authorized Casgevy for sickle cell disease in patients **12 and older with recurrent vaso-occlusive crises**. The [16 January 2024 approval letter](https://www.fda.gov/media/175482/download) added **transfusion-dependent β-thalassemia**, then for patients **12 and older**. So the answer to “both on 8 December?” is **no**. Time changes the answer again. A [1 July 2026 supplement approval](https://www.fda.gov/media/193444/download) extended both indications to children aged **two to under 12**, alongside the earlier approvals for patients 12 and older. The [FDA's accompanying announcement](https://www.fda.gov/news-events/press-announcements/fda-approves-first-gene-therapy-young-children-sickle-cell-disease) describes the resulting indications as covering patients **aged two and older**. The 2023 and 2024 age thresholds above are historical, not a statement of the indication as of this article's publication. PubMed identifies a study, Valyu helped find regulator documents in this check, and the FDA records establish the dated approvals. ## A case summary is not the court's holding A [CourtListener case listing](https://www.courtlistener.com/opinion/9986254/loper-bright-enterprises-v-raimondo/) for *Loper Bright Enterprises v. Raimondo* appeared in public search results. We could not inspect that listing directly, so it supplies no evidence for the legal claims here. To check what the Supreme Court decided on **28 June 2024** in docket **22-451**, we used the [Court's own PDF](https://www.supremecourt.gov/opinions/23pdf/22-451_7m58.pdf). The PDF begins with a syllabus and expressly says that this headnote **“constitutes no part of the opinion of the Court.”** In the opinion itself, the majority states: **“Chevron is overruled.”** It says courts must exercise independent judgment about statutory authority and may not defer to an agency interpretation merely because a statute is ambiguous. Stopping at that sentence would still miss a consequential qualification. The same majority opinion says it **does not call into question prior cases that relied on Chevron**; holdings that specific agency actions were lawful remain subject to statutory *stare decisis*. “Chevron was overruled” is supported. “Every previously upheld agency action was invalidated” is not. The docket, decision date, opinion text, and the distinction between the syllabus and the majority's reasoning all belong in an evidence trail. This is a source-verification example, not advice about a particular dispute. ## A practical record for an industry-search claim For each consequential answer, keep an evidence record that someone else can reopen: 1. **The exact question and as-of date.** “Was Casgevy approved for both indications on 8 December 2023?” differs from “What is its current U.S. indication?” 2. **The discovery route.** Record the provider, query, filters, and date searched. A search hit identifies a lead; it does not transfer the record owner's authority to the provider. 3. **The stable identifier.** Use a CIK and filing accession, PMID and DOI, or court and docket number to find the same record again. 4. **The supporting passage and scope.** Store the table units and fiscal period, the indication and approval date, or the part of the opinion containing the holding and its limit. 5. **The remaining uncertainty.** Note a missing filing amendment, inaccessible full text, a changed label, or a legal qualification before making a stronger claim. The conclusion is not that one search provider should handle everything. Industry search is a handoff from discovery to domain-specific verification. The useful result is the one that gets the agent to a record it can actually check—and helps it recognize what that record cannot prove. The [Web Search investigation](/blog/when-can-an-agent-trust-a-web-search-result) applies the same discipline to a public holiday calendar; the [clinical-trials search workflow](/blog/how-to-use-an-agent-to-find-clinical-trials) goes deeper on checking study records. *Method note: Checks were made on 24 September 2026 using SEC submissions and the filed 10-K, PubMed E-utilities, Valyu biomedical and web search, an indexed CourtListener case listing, FDA releases, and the Supreme Court opinion. The Valyu and PubMed examples used task-specific search modes, not a controlled head-to-head benchmark. Search results and current regulatory labels can change.* ## Definitions - **Filing accession number:** An SEC identifier for a particular submission. Pair it with the primary-document filename to identify the specific filed report within that submission. - **PMID:** A PubMed record identifier for a publication. It locates a bibliographic record, not a regulatory approval or an independent replication of a study. ## Frequently asked questions ### Can a PubMed paper prove that a treatment was approved? No. A paper can report clinical research and identify its publication, but the FDA's dated approval decision and labeling establish a U.S. approval and its indication at a particular time. ### Can a search summary replace a company's filed 10-K? No. For a reported number, check the specific filing, period, table, units, and any subsequent amendments. A search result can lead to that record but cannot establish which number or vintage was reported. ### Does a court syllabus count as the court's opinion? No. The Supreme Court's own Loper Bright PDF expressly says its syllabus is not part of the opinion. Use the court's opinion for the holding and its qualifications. ## Sources 1. [EDGAR Application Programming Interfaces](https://www.sec.gov/search-filings/edgar-application-programming-interfaces) — U.S. Securities and Exchange Commission 2. [Apple Inc. submissions history](https://data.sec.gov/submissions/CIK0000320193.json) — U.S. Securities and Exchange Commission 3. [Apple Inc. 2025 Form 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm) — U.S. Securities and Exchange Commission 4. [CRISPR-Cas9 Gene Editing for Sickle Cell Disease and β-Thalassemia](https://pubmed.ncbi.nlm.nih.gov/33283989/) — PubMed 5. [PubMed E-utilities: search and record parameters](https://www.ncbi.nlm.nih.gov/books/NBK25499/) — National Center for Biotechnology Information 6. [Valyu healthcare search sources](https://docs.valyu.ai/use-cases/healthcare) — Valyu 7. [FDA approves first gene therapies to treat patients with sickle cell disease](https://www.fda.gov/news-events/press-announcements/fda-approves-first-gene-therapies-treat-patients-sickle-cell-disease) — U.S. Food and Drug Administration 8. [Casgevy sickle cell disease approval letter](https://www.fda.gov/media/174618/download) — U.S. Food and Drug Administration 9. [FDA Roundup: January 16, 2024](https://www.fda.gov/news-events/press-announcements/fda-roundup-january-16-2024) — U.S. Food and Drug Administration 10. [Casgevy transfusion-dependent beta-thalassemia approval letter](https://www.fda.gov/media/175482/download) — U.S. Food and Drug Administration 11. [FDA approves first gene therapy for young children with sickle cell disease](https://www.fda.gov/news-events/press-announcements/fda-approves-first-gene-therapy-young-children-sickle-cell-disease) — U.S. Food and Drug Administration 12. [Casgevy pediatric indication supplement approval letter](https://www.fda.gov/media/193444/download) — U.S. Food and Drug Administration 13. [Loper Bright Enterprises v. Raimondo, No. 22-451](https://www.supremecourt.gov/opinions/23pdf/22-451_7m58.pdf) — Supreme Court of the United States --- # When can an agent trust a web search result? > A 2026 UK holiday calendar says Scotland has nine bank holidays; official records list ten. Follow a search result to its source and learn a five-check method for verifiable answers. - Canonical URL: https://www.searchforagents.com/blog/when-can-an-agent-trust-a-web-search-result - Author: Eliot Reed, Research writer - Published: 2026-09-24 - Updated: 2026-09-24 - Topic: Web Search - Review due: 2026-12-24 ## Direct answer An AI agent can trust a web search result only as a lead until it opens the source and verifies the exact claim. Check who issued the underlying record, the relevant date and geographic or version scope, and whether the cited passage or data field supports the answer. Record when it was checked; qualify the answer when evidence is stale, conflicting, or underspecified. ## Key takeaways - A result's snippet, displayed date, and position help discovery; none establishes that its factual claim is current. - In a September 2026 check, a UK holiday calendar said Scotland had nine bank holidays; government records listed ten. - For time-sensitive answers, preserve the jurisdiction, as-of date, original record, supporting passage or field, and retrieval date. - When a question leaves out a decisive detail such as region, answer conditionally or ask before acting. An AI agent should treat a web search result as a **lead, not a verified answer**. Before using it, the agent needs to find the claim on the linked page, check the source responsible for that fact, and establish its place, date, and scope. A snippet and a prominent rank cannot do that work. On 24 September 2026, we searched for **“UK bank holidays 2026 England Scotland gov.uk”** in Brave Search. The results included the official [GOV.UK calendar](https://www.gov.uk/bank-holidays) and a third-party [2026 holiday calendar](https://bankholidayuk.co.uk/uk-bank-holidays-2026) that describes itself as using “Official GOV.UK data.” Its visible text says Scotland has **nine** bank holidays in 2026. The [government's published data](https://www.gov.uk/bank-holidays.json) lists **ten**. The discrepancy would produce an incorrect annual count or an incomplete historical calendar. It did **not** change the next upcoming holiday as of our September check: the omitted June date had already passed. It illustrates a broader mistake: turning a search hit into a fact without establishing what was searched, who owns the answer, and when the underlying information changed. This is one observed query and one conflicting page, **not a measurement of Brave Search, calendar sites, or search-provider accuracy**. The third-party page's text itself still contained the old count when checked; there is no need to speculate that the search engine cached an older version. ## Case study: which UK bank holiday is next? “When is the next UK bank holiday?” lacks an essential detail: *where?* On the date of our check, the [GOV.UK calendar](https://www.gov.uk/bank-holidays) and its [machine-readable feed](https://www.gov.uk/bank-holidays.json) gave the following answers: | Nation or region | 2026 bank holidays in GOV.UK's feed | Next bank holiday after 24 September 2026 | | --- | ---: | --- | | England and Wales | 8 | Friday 25 December, Christmas Day | | Scotland | 10 | Monday 30 November, St Andrew's Day | | Northern Ireland | 10 | Friday 25 December, Christmas Day | If the question means **a holiday observed across all three lists**, the next one was Christmas Day. If the person lives in Scotland, their next listed bank holiday was St Andrew's Day. A single unqualified “UK” date would conceal that difference. And if the question is used after this article's check date, the reader or agent must consult the live calendar again rather than treat these *next* dates as current. The count exposes a second failure mode. The third-party calendar's prose and Scottish table omit **Monday 15 June 2026**. The [Scottish Government's own calendar](https://www.gov.scot/publications/bank-holidays/) records it as a one-off World Cup bank holiday; its update history says the confirmation was added on **5 February 2026**. The [GOV.UK JSON feed](https://www.gov.uk/bank-holidays.json) includes that date too. We checked the page's accessible explanatory text and static table, not whether its interactive “next holiday” widget updates correctly. ## Why are search snippets and result dates not enough? Search results solve a discovery problem. They do not, by themselves, verify the sentence an agent is about to write. [Google's description of its own search process](https://developers.google.com/search/docs/fundamentals/how-search-works) distinguishes crawling, indexing, and serving results, and says not every discovered page is crawled or indexed. That description is specific to Google; the holiday search above was conducted in Brave. Google also says its [snippets](https://developers.google.com/search/docs/appearance/snippet) are automatically selected previews of page content, sometimes informed by a page's meta description, and can differ by query. Its [displayed byline date](https://developers.google.com/search/docs/appearance/publication-dates) is an estimate based on several signals about when a page was published or significantly updated. Neither is a certificate that every claim in the page is true *today*. Other search interfaces may construct results differently, but an agent should still check the opened source before citing its contents. There are three distinct dates in a time-sensitive answer: **when the event applies**, **when the source changed**, and **when the agent checked it**. Here, the special holiday fell on 15 June; the Scottish Government says it updated its page on 5 February; we checked the record on 24 September. Collapsing those into a single “freshness” date makes a stale calendar look safer than it is. ## How should an agent verify a web search result? Locate the exact statement on the opened page, trace it to the publisher responsible for the fact, check its effective date and scope, and cite the supporting passage or data field. If the original record contradicts the result, surface that conflict before giving an answer. For bank holidays, government calendars are the appropriate starting point because the relevant authorities publish the schedule. For a software release, that might be the project's release record. For a scientific finding, it may be the paper and its underlying data. “Primary source” is a relationship between a **particular claim** and the party responsible for it, not a badge permanently attached to a domain. Nor does an official page become infallible: if two authoritative records disagree, the agent should name the disagreement and investigate it. In this case, a reviewable trail looks like this: 1. **Define the question.** Establish the as-of date and the relevant nation. If the user does not specify a date, use the date of the request; if the nation is unclear, give the region-dependent possibilities or ask rather than silently choosing one. 2. **Open the result.** Read the calendar's claim on its actual page, not only its search snippet or a generated summary. The third-party page's “nine” was present in its accessible prose. 3. **Find the source of record.** Open [GOV.UK's separate regional lists](https://www.gov.uk/bank-holidays) and [JSON events](https://www.gov.uk/bank-holidays.json). Count Scotland's entries dated in 2026; there are ten, including the June event. 4. **Check the change.** The [Scottish Government's dated update](https://www.gov.scot/publications/bank-holidays/) explains why the June holiday appears. This confirms the event in a second official record; it does not turn two government pages into independent witnesses. 5. **Preserve the evidence.** Record the exact event and date, regional scope, both URLs, the 24 September retrieval date, and the stale third-party claim. A citation to the top-level domain alone would make the disagreement difficult to inspect. For a programmatic check, the [GOV.UK feed](https://www.gov.uk/bank-holidays.json) contains separate `england-and-wales`, `scotland`, and `northern-ireland` divisions. Read the events for the chosen division, filter on the year or dates requested, and compare a candidate answer with the event's `title` and `date`. The feed supplies event dates; the *time the agent fetched it* must be recorded separately. A successful HTTP response or a matching page title is not proof that the answer was extracted from the right regional list. ## What makes a citation support an answer? A link can be real, reachable, and still fail to support the claim attached to it. The [ALCE research benchmark](https://arxiv.org/abs/2305.14627) therefore evaluates answer correctness and citation quality separately. In its ELI5 evaluation, the authors report that even their best evaluated systems lacked complete citation support half the time. That is a finding about that benchmark and those systems, **not a general failure rate for web-search agents**. Our holiday example is simpler but has the same structure. Linking to GOV.UK after saying “the next UK bank holiday is 30 November” would not save the sentence: the date applies to **Scotland**, not England and Wales or Northern Ireland. Linking to the third-party calendar for “Scotland has nine bank holidays in 2026” would accurately attribute a sentence that is nevertheless contradicted by the source of record. Citation, support, and correctness require separate checks. The answer we could actually defend was: “**As of 24 September 2026, in Scotland the next listed bank holiday is St Andrew's Day on 30 November 2026. In England and Wales and in Northern Ireland, it is Christmas Day on 25 December 2026.**” That answer names the region, the as-of date, and the [official schedule](https://www.gov.uk/bank-holidays). It should be refreshed before someone relies on it later. ## When should the agent stop searching? More hits are not always better evidence. A sensible stop rule is to answer only after the agent can say: - **What exactly is being claimed?** State the place, period, unit, version, or population that makes the claim testable. - **Who can establish it?** Prefer the source responsible for that fact; distinguish its record from a copy, commentary, or a search preview. - **Where is the supporting material?** Point to the event, passage, or data field, not a loosely related homepage. - **When was it checked?** Preserve the retrieval date and the source's relevant effective or update date when available; recheck facts whose value can change. - **What remains unresolved?** If authoritative records conflict, the page is inaccessible, or the question omits a decisive condition, give a qualified answer or ask for clarification instead of manufacturing certainty. These are checks on *evidence*, not a demand for an arbitrary number of sources. One issuing record may settle a narrow official-date question. A disputed scientific or historical claim may require substantially more work. The [editorial methodology](/methodology) explains our source checks; the [industry-search case study](/blog/how-to-verify-search-results-across-finance-biomedical-and-law) applies them across different kinds of records. *Research note: This article records a manual Brave Search query and direct checks of the linked pages and GOV.UK's JSON feed on 24 September 2026. Search ordering and third-party page text can change. The dated holiday example is a snapshot, not a live holiday service or a comparative test of search engines.* ## Definitions - **Source of record:** The publisher or official dataset responsible for the particular fact being checked; it depends on the claim, not merely on which result ranks first. - **Claim-level citation:** A citation that points to a source and passage or data field supporting a specific statement, with the scope and date needed to interpret it. ## Frequently asked questions ### How can an AI agent verify a web search result before answering? Open the linked page, locate the passage or data field supporting the exact claim, and check who issued it, what place or version it applies to, and when the underlying information was valid. Record the retrieval date and cite that specific source rather than the search snippet. ### Is a search snippet enough to cite? No. A snippet is a search preview, not proof that a page supports a claim or is up to date. Open the page or underlying record and check the specific statement in context before citing it. ### How do you tell whether a search result is outdated? Compare the page's specific claim with the responsible publisher's current record and any dated change history. A recent search-result date or an auto-updating label does not establish that every sentence on the linked page was updated. ### What should an agent do when authoritative sources disagree? Identify the precise claim, version, jurisdiction, and effective date in each source. If the conflict remains after checking original records, describe the disagreement and avoid an unqualified answer rather than treating the highest-ranked result as decisive. ## Sources 1. [UK bank holidays](https://www.gov.uk/bank-holidays) — GOV.UK 2. [UK bank holidays JSON](https://www.gov.uk/bank-holidays.json) — GOV.UK 3. [Scottish bank holiday dates](https://www.gov.scot/publications/bank-holidays/) — Scottish Government 4. [UK Bank Holidays 2026](https://bankholidayuk.co.uk/uk-bank-holidays-2026) — Bankholidayuk.co.uk 5. [How Google Search works](https://developers.google.com/search/docs/fundamentals/how-search-works) — Google Search Central 6. [Control your snippets in search results](https://developers.google.com/search/docs/appearance/snippet) — Google Search Central 7. [Influence your byline dates in Google Search](https://developers.google.com/search/docs/appearance/publication-dates) — Google Search Central 8. [Enabling Large Language Models to Generate Text with Citations](https://arxiv.org/abs/2305.14627) — arXiv # Research # Evidence-first evaluation for tool-using AI agents > A compact research brief connecting state-based agent evaluation to reproducible fixtures, permission checks, and independently inspectable outcomes. - Type: research-page - Canonical URL: https://www.searchforagents.com/research/evidence-first-agent-evaluation - Published: 2026-09-22 - Updated: 2026-09-22 - Topic: Search Infrastructure - Reviewer: Search for Agents Editorial Desk - Canonical Markdown SHA-256: 3bf53a275f2e759e20f8864c2b602746a55123525d519891e2520b3b490c3ca2 - Source bundle: https://www.searchforagents.com/api/v1/content/research_evidence_first_agent_evaluation/source-bundle ## Research question How can an evaluation distinguish a tool-using agent that changed the intended state safely from one that merely produced a persuasive transcript? ## Method The accompanying fixture separates task instructions from observable assertions. Each record names the state that should exist after execution and the boundary that must remain intact. A runner can reset the environment, execute the task, and grade those assertions without asking the model whether it succeeded. ## Interpretation This is a methodology fixture, not a benchmark leaderboard. It demonstrates a reproducible record shape for state verification and permission testing. It does not establish comparative model performance, statistical significance, or production reliability. ## Limitations The fixture contains two illustrative records and no model outputs. Teams should add domain-specific failure modes, independent oracles, latency and cost measurements, and repeated trials before drawing performance conclusions. ## Methodology references - [methodology](https://www.searchforagents.com/methodology) ## Sources 1. [SWE-bench: Can Language Models Resolve Real-World GitHub Issues?](https://arxiv.org/abs/2310.06770) — arXiv (2023-10-10) 2. [AgentBench: Evaluating LLMs as Agents](https://arxiv.org/abs/2308.03688) — arXiv (2023-08-07) # Datasets # Agent evaluation state and permission fixture > A small versioned JSON fixture for testing whether tool-using agents produce inspectable state while respecting publication and credential boundaries. - Type: dataset - Canonical URL: https://www.searchforagents.com/datasets/agent-evaluation-fixture - Published: 2026-09-22 - Updated: 2026-09-22 - Topic: Search Infrastructure - Reviewer: Search for Agents Editorial Desk - Canonical Markdown SHA-256: 95eca2c9491d65e006c856c1936dccf0772159e18cb699f1effd624dd8151e8a - Source bundle: https://www.searchforagents.com/api/v1/content/dataset_agent_evaluation_fixture/source-bundle ## Intended use Use these records as deterministic examples when building an evaluation harness. Each assertion should be checked against the resulting environment rather than inferred from an agent transcript. ## Data statement The file is maintained in this repository and validated against the declared byte count and SHA-256 digest during builds and tests. It contains no user data, model outputs, personal information, or externally fetched material. ## Limitations This fixture is deliberately small. It is not a representative benchmark and should not be used to rank models without a larger task set, repeated runs, and a documented scoring protocol. ## Dataset files - [/data/agent-evaluation-fixture.json](https://www.searchforagents.com/data/agent-evaluation-fixture.json) — application/json, 562 bytes, SHA-256 `aa9e8654f73d958fbdbac007eef74dae029bc47f9232797c0f65a1aafacdd9a1` - License: CC-BY-4.0 - Version: 2026-09-22 ## Methodology references - [methodology](https://www.searchforagents.com/methodology) ## Sources 1. [SWE-bench: Can Language Models Resolve Real-World GitHub Issues?](https://arxiv.org/abs/2310.06770) — arXiv (2023-10-10) # Approved translations