Health

Outdated

Benchmark

62/100

SDK Version

No SDK dependency

Latest: 2.12.1

Audit Status

Audit Done

Started May 11, 2026

Approval

Not requested

Latest Audit Result

exa-haystack v1.1.0 implements the declared core Haystack components for search, contents, findSimilar, answer, streaming answer, and legacy research, and passes through the declared content options text/highlights/summary/livecrawl/subpages plus newer max_age_hours. The package is outdated because it does not use exa-py, has no current_sdk_version, still sends or parses several May 1 2026 sunset fields, still exposes legacy /research and deprecated /findSimilar, and has search type drift: invalid deep-max present while valid deep-lite is missing. Detailed report uploaded: https://kitchen-sink.exa.ai/content-host/view/haystack-audit-2026-05-11-1148944f

Health: outdated
Latest SDK: 2.12.1

Missing Features (9)

  • The integration does not use exa-py at all: pyproject.toml has no exa-py dependency and source grep found no exa_py imports, so current_sdk_version is null despite the baseline being exa-py.
  • DEPRECATED: ExaWebSearch still sends startCrawlDate / endCrawlDate request parameters, which the Exa API deprecation notice says were ignored starting April 15 2026 and hard-removed May 1 2026.
  • DEPRECATED: ExaFindSimilar still sends startCrawlDate / endCrawlDate request parameters, which the Exa API deprecation notice says were ignored starting April 15 2026 and hard-removed May 1 2026.
  • DEPRECATED: ExaWebSearch, ExaFindSimilar, and ExaContents still parse highlightScores from responses, which the Exa API deprecation notice says returned null starting April 15 2026 and was hard-removed May 1 2026.
  • DEPRECATED: ExaResearch still wraps /research/v1, which the Exa API deprecation notice says sunset May 1 2026; current Python SDK docs call the Research API legacy/deprecated and recommend /search with type='deep-reasoning'.
  • DEPRECATED: ExaFindSimilar still wraps /findSimilar; exa-py marks find_similar()/findSimilar deprecated with guidance to use search(), and the current public OpenAPI generation excludes /findSimilar.
  • DEPRECATED: ExaWebSearch, ExaFindSimilar, and ExaContents still accept and send livecrawl; exa-haystack CHANGELOG v1.1.0 deprecates it and Exa guidance says maxAgeHours replaces livecrawl for content freshness.
  • ExaWebSearch declares deep-max as a valid SearchType and Haystack integrations docs advertise it, but current Exa API schema/docs and exa-py SearchType do not include deep-max; it is an invalid search type that fails at runtime.
  • ExaWebSearch is missing deep-lite from its SearchType literal and docs even though current Exa API schema/docs and exa-py SearchType include it as a valid reasoning-focused search type.

Marked outdated since May 11, 2026

Missing Features (17)

  • The integration does not use exa-py at all: pyproject.toml has no exa-py dependency and source grep found no exa_py imports, so current_sdk_version is null despite the baseline being exa-py.
  • DEPRECATED: ExaWebSearch still sends startCrawlDate / endCrawlDate request parameters, which the Exa API deprecation notice says were ignored starting April 15 2026 and hard-removed May 1 2026.
  • DEPRECATED: ExaFindSimilar still sends startCrawlDate / endCrawlDate request parameters, which the Exa API deprecation notice says were ignored starting April 15 2026 and hard-removed May 1 2026.
  • DEPRECATED: ExaWebSearch, ExaFindSimilar, and ExaContents still parse highlightScores from responses, which the Exa API deprecation notice says returned null starting April 15 2026 and was hard-removed May 1 2026.
  • DEPRECATED: ExaResearch still wraps /research/v1, which the Exa API deprecation notice says sunset May 1 2026; current Python SDK docs call the Research API legacy/deprecated and recommend /search with type='deep-reasoning'.
  • DEPRECATED: ExaFindSimilar still wraps /findSimilar; exa-py marks find_similar()/findSimilar deprecated with guidance to use search(), and the current public OpenAPI generation excludes /findSimilar.
  • DEPRECATED: ExaWebSearch, ExaFindSimilar, and ExaContents still accept and send livecrawl; exa-haystack CHANGELOG v1.1.0 deprecates it and Exa guidance says maxAgeHours replaces livecrawl for content freshness.
  • ExaWebSearch declares deep-max as a valid SearchType and Haystack integrations docs advertise it, but current Exa API schema/docs and exa-py SearchType do not include deep-max; it is an invalid search type that fails at runtime.
  • ExaWebSearch is missing deep-lite from its SearchType literal and docs even though current Exa API schema/docs and exa-py SearchType include it as a valid reasoning-focused search type.
  • Remove start_crawl_date / end_crawl_date constructor fields, serialization fields, and payload mapping from ExaWebSearch and ExaFindSimilar.
  • Remove highlightScores parsing and highlight_scores metadata population from ExaWebSearch, ExaFindSimilar, and ExaContents.
  • Replace ExaResearch with a deep-search component that calls /search using type='deep-reasoning' plus output_schema, matching the official /research migration path.
  • Remove deep-max from ExaWebSearch.SearchType and from the Haystack integrations docs listing.
  • Add deep-lite to ExaWebSearch.SearchType and docs.
  • Finish removing the deprecated livecrawl parameter from ExaWebSearch, ExaFindSimilar, and ExaContents; rely on max_age_hours / maxAgeHours.
  • Deprecate ExaFindSimilar in the integration API and docs with guidance to use ExaWebSearch/search instead, matching exa-py.
  • Add system_prompt to ExaWebSearch so structured/deep search can use the current search synthesis guidance parameter supported by exa-py.