---
source_url: "https://docs.langchain.com/oss/python/integrations/providers/exa_search"
title: Exa integrations - Docs by LangChain
mirrored_at: 2026-08-06T01:40:48.923Z
host: docs.langchain.com
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/docs.langchain.com/oss/python/integrations/providers/exa_search"
---

> **Original source:** https://docs.langchain.com/oss/python/integrations/providers/exa_search

> [Exa](https://exa.ai/) is a knowledge API for AI and developers.

## Installation and setup

`Exa` integration exists in its own [partner package](https://pypi.org/project/langchain-exa/). You can install it with:

In order to use the package, you will also need to set the `EXA_API_KEY` environment variable to your Exa API key.

## Retriever

You can use the [`ExaSearchRetriever`](https://docs.langchain.com/oss/python/integrations/tools/exa_search#using-exasearchretriever) in a standard retrieval pipeline. You can import it as follows. See a [usage example](https://docs.langchain.com/oss/python/integrations/tools/exa_search).

## Tools

You can use Exa as an agent tool as described in the [Exa tool calling docs](https://docs.langchain.com/oss/python/integrations/tools/exa_search#use-within-an-agent). See a [usage example](https://docs.langchain.com/oss/python/integrations/tools/exa_search).

### ExaFindSimilarResults

A tool that queries the Metaphor Search API and gets back JSON.

### ExaSearchResults

Exa Search tool.

## Exa search retriever

You can retrieve search results as follows

### Advanced features

You can use advanced features like text limits, summaries, and live crawling:

## Exa search results

You can run the ExaSearchResults module as follows

## Exa find similar results

You can run the ExaFindSimilarResults module as follows

## Configuration options

All Exa tools support the following common parameters:

-   `num_results` (1-100): Number of search results to return
-   `type`: Search type - “neural”, “keyword”, or “auto”
-   `livecrawl`: Live crawling mode - “always”, “fallback”, or “never”
-   `summary`: Get AI-generated summaries (True/False or custom prompt dict)
-   `text_contents_options`: Dict to limit text length (e.g. `{"max_characters": 2000}`)
-   `highlights`: Include highlighted text snippets (True/False)

* * *