LangChain Exa Integration
raw JSON → 1.1.0 verified Fri May 01 auth: no python
An integration package connecting Exa (formerly Metaphor) and LangChain. Current version 1.1.0, requires Python >=3.10 and <4.0.0. Maintained under the LangChain monorepo, with releases tied to LangChain core updates.
pip install langchain-exa Common errors
error ModuleNotFoundError: No module named 'langchain_exa' ↓
cause Package not installed or imported with wrong name (e.g., 'langchain-exa' instead of 'langchain_exa').
fix
Run 'pip install langchain-exa' and use 'from langchain_exa import ExaSearchToolkit'.
error ImportError: cannot import name 'ExaSearchToolkit' from 'langchain_exa.tools' ↓
cause Incorrect import path; ExaSearchToolkit is at the root package.
fix
Use 'from langchain_exa import ExaSearchToolkit'.
error exa_py.exceptions.AuthenticationError: API key is invalid or missing ↓
cause No valid EXA_API_KEY provided.
fix
Set the EXA_API_KEY environment variable or pass api_key='your-key' to the constructor.
Warnings
breaking In v1.0.0, the package was renamed from 'langchain-metaphor' to 'langchain-exa'. All imports have changed. ↓
fix Replace 'from langchain_metaphor import ...' with 'from langchain_exa import ...'.
deprecated The 'MetaphorSearchToolkit' alias was removed in v1.1.0. ↓
fix Use 'ExaSearchToolkit' instead.
gotcha If you pass the API key directly, it may be logged or exposed in traces. Always use environment variables or a secrets manager in production. ↓
fix Set EXA_API_KEY via os.environ and omit the api_key parameter.
Imports
- ExaSearchToolkit wrong
from langchain_exa.tools import ExaSearchToolkitcorrectfrom langchain_exa import ExaSearchToolkit - ExaRetriever
from langchain_exa import ExaRetriever
Quickstart
import os
from langchain_exa import ExaSearchToolkit
api_key = os.environ.get('EXA_API_KEY', '')
toolkit = ExaSearchToolkit(api_key=api_key, max_results=5)
result = toolkit.search('latest AI news')
print(result)