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.