exa-py
Python SDK for Exa API.
What it is and what it does
Exa-py is the official Python SDK for Exa, a web search API designed for AI applications. It wraps HTTP calls to Exa's backend and provides a clean interface for searching the web, retrieving page contents, answering questions, and running autonomous agents. The package supports both synchronous and asynchronous workflows, streaming responses, and structured output schemas—allowing you to extract results in custom JSON formats rather than plain text.
The SDK is built on httpx and pydantic for HTTP and data validation, and integrates with openai for streaming compatibility. It's actively maintained and supports Python 3.9 through 3.14. Core use cases include semantic web search with filters, content extraction with highlights, multi-step agent runs with structured output, and real-time monitoring of entity data across the web.
Use it for:
- Search the web from an AI agent or LLM application and return structured results (e.g., company names, funding rounds) instead of raw links.
- Build a research tool that retrieves and highlights relevant passages from web pages matching a query.
- Run autonomous agents that discover people, companies, or products matching complex criteria and return results in a predefined JSON schema.
- Stream search results or answers to a user in real-time, similar to ChatGPT's streaming interface.
- Monitor a set of companies or entities for news and funding updates on a recurring cadence using Agent Monitors.
- Extract structured data from the web (e.g., engineering leaders at AI startups) without manual scraping or parsing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python SDK for the Exa web search API that enables AI applications to search the web, retrieve content, answer questions, and run autonomous agents with structured output support.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and integrates cleanly with common Python dependencies. Install it if you need to add web search or autonomous agent capabilities to an AI application. The main gotcha is that you must have an Exa API key and account; the SDK itself is straightforward to use.
Install
exa-py on PyPI
pip
pip install exa-pyuv
uv add exa-pypoetry
poetry add exa-pyInstalling exa-py
Before you install
Low friction install with a pure-Python wheel. Active maintenance as of 2026-08-14. Depends on httpcore, httpx, openai, pydantic, python-dotenv, requests, and typing-extensions—all stable, widely-used packages.
License in practice
MIT license (permissive). You can use, modify, and distribute this package with minimal restrictions, including in commercial projects.
Quickstart
pip install exa-py
from exa_py import Exa
exa = Exa(api_key="your-api-key")
results = exa.search("machine learning startups", contents={"highlights": True})
Requires Python 3.9 or later. Requires a valid Exa API key from https://dashboard.exa.ai.
Verify before relying
- Whether the Exa API service itself has uptime guarantees or SLAs.
- Pricing model and cost implications of search, answer, and agent API calls.
- Rate limits and quota constraints for different API endpoints.
- Whether Agent Monitors and Agent Max features are production-ready or beta-only.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — httpcore, httpx, openai, pydantic, python-dotenv, requests, typing-extensions |
| Maintenance | actively maintained — 0 days since the last release |
| First released | |
| Downloads | 9,661,073/month — #1,511 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: exa_py-2.18.1-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
metaphor-pythonPython SDK for the Exa web search API,…
permissive · top 15,000 on PyPI
seltzSeltz is a Python SDK that provides web search…
unclear · top 15,000 on PyPI
langchain-exaIntegrates Exa's web search API with LangChain,…
permissive · top 15,000 on PyPI
agent-framework-devuiProvides a lightweight web UI and…
permissive · top 15,000 on PyPI
npmai-agentsAutonomous AI agent framework that executes…
permissive · top 15,000 on PyPI
crewaiCrewAI is a Python framework for building…
unclear · top 5,000 on PyPI
zai-sdkOfficial Python SDK for Z.ai's large model…
unclear · top 15,000 on PyPI
rocketreachPython client library for the RocketReach API,…
unclear · top 15,000 on PyPI
gnewsGNews searches Google News RSS feeds and…
permissive · top 15,000 on PyPI
pycdcSearches the web for gift ideas and client…
permissive · top 15,000 on PyPI