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
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.
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.

Initialize the Exa search toolkit with an API key and perform a search.

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)