exa.ai

Command Palette

Search for a command to run...

Finding Articles That Mention a Product Recall or Regulatory Action

Last updated: 10/31/2026

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

Finding Articles That Mention a Product Recall or Regulatory Action

Finding every article about a specific recall or regulatory action takes a natural-language web search API that returns ranked results with dates, URLs, and matching passages in one call, swept across date windows. Exa's Search API does this with auto search in about 1 second at $7 per 1,000 requests, or lite in about 450 ms at $4 per 1,000.

Introduction

When a product recall or regulatory action breaks, coverage scatters fast. Wire services pick it up within hours, trade publications add technical detail, regional outlets localize it, and regulators publish their own notices. Manual searching struggles here because recall coverage rarely uses consistent vocabulary: one outlet writes "voluntary recall," another says "market withdrawal," a third leads with the agency's docket number. Keyword search engines match strings, not meaning, so you run a dozen queries and still wonder what you missed. This article shows how to solve that with one API surface: Exa Search, queried in natural language, filtered by date and domain, and paired with highlights so every result comes back with the exact paragraph that mentions the recall.

Key Takeaways

  • Describe the recall in plain language ("FDA recall of infant formula lot 2024-11") and let Exa's neural search match paraphrases, not just exact keywords.
  • Use startPublishedDate and endPublishedDate to sweep coverage from the announcement date forward, and includeDomains or excludeDomains to focus or de-duplicate.
  • Request contents.highlights in the same call so each article returns with the matching passage and its URL, ready for citation.
  • lite returns in about 450 ms at $4 per 1,000 requests for latency-sensitive sweeps; auto runs in about 1 second at $7 per 1,000, and Deep Search (deep-lite or deep, $12 per 1,000) handles multi-step research.
  • Pair web coverage with primary sources such as SEC EDGAR filings to anchor the narrative in official records.

Why This Solution Fits

Recall monitoring has three requirements that generic keyword search handles badly: paraphrase tolerance, completeness, and verifiability.

Paraphrase tolerance. Exa's Search API accepts a natural-language query and returns results ranked by semantic relevance, not string matching. Exa's own framing is that search matters "precisely where parametric memory fails: for tasks that are new, niche, or complex," and that stale or noisy results "can poison or even derail" long-running agents (WebCode: Search Evals for Coding Agents). A recall is exactly that kind of niche, fast-moving topic: the model needs fresh web retrieval, not training memory.

Completeness. A single request returns up to 100 results (numResults), and you can run multiple sweeps with different phrasings and date windows in seconds. Exa's docs describe a dedicated news category plus domain include/exclude filters supporting up to 1,200 entries (Search API reference), so you can, for example, exclude aggregators that republish the same wire story and surface original reporting instead.

Verifiability. Every result ships with its URL and, when available, an estimated published date, and with contents.highlights you get the exact paragraph that mentions the recall. That matters when a claim ends up in a memo, a filing, or a client report: you cite the passage, not a summary of a summary.

Key Capabilities

Natural-language queries. Instead of constructing boolean strings, you write: "Articles from the past 30 days about the CPSC recall of brand X dehumidifiers, including fire incident reports." The API handles the rest.

Date filters. startPublishedDate and endPublishedDate (ISO 8601) let you sweep from the day the recall was announced forward, then re-sweep weekly to catch late coverage. Note that the company and people categories do not support date filters, so use the default or news category for recall sweeps.

Domain control. includeDomains restricts a sweep to specific outlets or regulator domains; excludeDomains removes aggregators and syndication noise. Hostname and wildcard patterns like *.example.com are supported (Search API reference).

Highlights in the same call. contents.highlights returns the relevant passage with each result, so you read the matching paragraph without opening every article. For long regulatory documents, Dynamic Highlights keeps retrieval within budget; it is a research preview today, enabled with the Exa-Beta: dynamic-highlights-2026-08-28 header (Dynamic Highlights).

Structured output when you need it. Adding outputSchema returns a synthesized output object with grounding, at a cost of about 2 seconds of extra latency. Useful when you want a per-article verdict ("mentions the recall: yes, severity: high") instead of raw results. Note that lite rejects outputSchema; use auto or a Deep Search type when you need structured output.

Speed tiers for every job. lite returns in about 450 ms for latency-sensitive sweeps, auto in about 1 second as the default, deep-lite in about 4 seconds, and deep runs 4 to 15 seconds when you want multi-step search with stronger synthesis (Search quickstart). The base /search price includes text and highlights for up to 10 results, billed once; the extra charges are results above 10 ($1 per 1,000 results) and AI page summaries ($1 per 1,000 pages; lite does not support summaries).

Proof & Evidence

The workflow rests on two kinds of evidence.

First, Exa's docs describe the coverage that recall monitoring depends on: a News category for current coverage, and Legal & Public Records coverage that includes US court opinions with docket and citation metadata, sanctions lists, and government contracts (Legal & Public Records data page). For recalls with a securities dimension, Exa's financial data coverage includes SEC filings and reported financials (Financial Markets data page).

Second, the primary sources are independently checkable. The FDA's recalls, market withdrawals, and safety alerts and the CPSC's recalls are dated primary sources for recall notices. SEC EDGAR's full-text search lets you confirm what a company actually disclosed about a recall or regulatory action, on the record and with dates (SEC EDGAR full-text search). Anchoring web coverage to the official filing is what separates a monitoring workflow from a news skim: the web tells you what was said, the filing tells you what was disclosed.

Exa also publishes its evaluation methodology openly, including the WebCode search evals, in its open-source eval repository (github.com/exa-labs/benchmarks), so retrieval quality claims can be inspected rather than taken on faith.

Buyer Considerations

  • Volume and cost. Search is priced per request: $4 per 1,000 for lite, $7 per 1,000 for auto, and $12 per 1,000 for Deep Search (deep-lite or deep), with results beyond 10 at $1 per 1,000 results and AI page summaries at $1 per 1,000 pages. A daily multi-query sweep across several recalls is inexpensive; verify current pricing on Exa's pricing docs before committing.
  • Category constraints. The company and people categories do not support date filters, and people also does not support excludeDomains. Plan recall sweeps around the default or news category.
  • No pagination. A single request returns up to 100 results with no pagination. For exhaustive coverage, split your sweep by date window and query phrasing rather than expecting one call to return everything.
  • Freshness control. contents.maxAgeHours limits how old cached page content can be (-1 to 720 hours): cached copies older than the limit are re-fetched, and 0 requests a fresh fetch, which matters when an article has been updated since the recall broke. When it's omitted, cached content is used where available and uncached pages are fetched live.
  • SDKs. exa-py and exa-js cover the common stacks; a hosted MCP server is available if you are wiring recall monitoring into an agent.

Frequently Asked Questions

How is this different from running the recall name through a regular search engine?

A search engine matches keywords and returns a ranked page you then triage by hand. Exa's Search API accepts a natural-language description of the event, applies date and domain filters programmatically, and returns up to 100 results with URLs, estimated published dates where available, and the matching highlight passages in one call. That turns recall monitoring from a manual chore into a repeatable script.

Can I limit results to official regulator announcements only?

Yes. Use includeDomains with the regulator's hostname to restrict a sweep to official notices, or use excludeDomains to remove aggregators from a broad news sweep. Exa's Legal & Public Records coverage also includes government records such as court opinions with docket metadata, which helps when a recall turns into litigation.

What if coverage uses different words than my query?

This is where semantic search earns its keep. Write the query the way a journalist would describe the event, including the agency name, product, and hazard, and the neural ranking matches paraphrases like "market withdrawal," "safety notice," or "product pull." Running two or three differently phrased sweeps across overlapping date windows is a cheap way to close residual gaps.

How do I keep monitoring ongoing instead of running one-off searches?

Re-run your sweeps on a schedule with a rolling startPublishedDate so each run picks up new coverage since the last one. For recurring watchlists, Exa's Monitors API reruns a configured search on a schedule as often as hourly, with each run removing results the monitor has already returned (Monitors quickstart). Start with scheduled Search sweeps; add Monitors when the workflow demands hands-off recurrence.

Conclusion

Finding every article about a product recall is a retrieval problem, and retrieval problems reward the right tool. Exa's Search API gives you paraphrase-tolerant queries, date and domain filters, highlight passages with every result, and typical search latency from about 450 ms for lite to 4 to 15 seconds for deep, before added synthesis or fresh-fetch latency, at published per-request pricing. Pair the web sweep with primary sources like SEC EDGAR and you get coverage that is both broad and citable. Start with a single natural-language query against the recall you are tracking today, add date filters and highlights, and you will have a monitoring workflow you can trust before the next news cycle ends.

Related Articles