metaphor-python
A Python package for the Metaphor API.
Decision gist · record as of 2026-08-14
Yes, if you need web search capabilities in a Python application and have access to an Exa API key. The low install friction, active maintenance, and permissive license make it straightforward to integrate. Be aware that the Alpha status means the API may change, and you'll incur costs based on Exa's pricing model. Not suitable if you need offline search or cannot use an external API service.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9+; requires a valid Exa API key and active account.
- Low friction install with a single runtime dependency (requests).
- Active maintenance with recent commits and steady download volume (146131 monthly).
License · maintenance · safety
permissive license (permissive) — MIT license permits commercial and private use with minimal restrictions; permissive treatment means you can integrate freely without licensing concerns.
last release 2023-11-30 (988 days) · last repo commit 2026-08-14 · 227 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 146,131 downloads/mo, #11,106 on PyPI
Alternatives
Verify before relying
pip install metaphor-python
from metaphor_python import Exa
exa = Exa(api_key="your-api-key")
results = exa.search("machine learning startups", contents={"highlights": True})- Whether the API key requirement and Exa service costs are clearly documented for budget planning
- Rate limits and quota behavior under production load
- Stability guarantees for beta features (Agent Max, Agent Monitors)
- Whether Python 3.6, 3.7, 3.8 listed in classifiers are actually supported despite 3.9+ requirement in description
What it is and what it does
The metaphor-python package is an official client library for Exa's web search API, designed to integrate AI-powered search into Python applications. It wraps HTTP calls to the Exa service via requests, providing methods for semantic web search, content extraction, question-answering, and agent-based research tasks. You instantiate a client with an API key, then call methods like search(), answer(), get_contents(), or agent.runs.create() to retrieve web data with optional structured output schemas and streaming.
The package supports multiple search modes, custom output schemas for structured JSON results, system prompts for search refinement, and streaming responses. It also includes beta features for higher-effort research with cost budgets and entity tracking over time. All communication is synchronous by default, with an async variant for async/await workflows. The SDK is actively maintained but remains in Alpha, meaning the API may change.
Use it for
- Build AI applications that need real-time web search results with semantic understanding and structured extraction.
- Automate research tasks like finding engineering leaders at specific companies or tracking funding announcements.
- Retrieve highlighted excerpts and full text from web pages for content analysis or knowledge base building.
- Create agent workflows that answer complex questions by searching and synthesizing web data with custom output schemas.
- Monitor entities for news and changes on a recurring schedule using the monitoring API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need web search capabilities in a Python application and have access to an Exa API key.
The low install friction, active maintenance, and permissive license make it straightforward to integrate. Be aware that the Alpha status means the API may change, and you'll incur costs based on Exa's pricing model. Not suitable if you need offline search or cannot use an external API service.
Install
metaphor-python on PyPI
Before you install
Low friction install with a single runtime dependency (requests). Active maintenance with recent commits and steady download volume (146131 monthly). Alpha status suggests the API surface may evolve.
Requires Python 3.9+; requires a valid Exa API key and active account.
License in practice
MIT license permits commercial and private use with minimal restrictions; permissive treatment means you can integrate freely without licensing concerns.
Quickstart
pip install metaphor-python
from metaphor_python import Exa
exa = Exa(api_key="your-api-key")
results = exa.search("machine learning startups", contents={"highlights": True})
Verify before relying
- Whether the API key requirement and Exa service costs are clearly documented for budget planning
- Rate limits and quota behavior under production load
- Stability guarantees for beta features (Agent Max, Agent Monitors)
- Whether Python 3.6, 3.7, 3.8 listed in classifiers are actually supported despite 3.9+ requirement in description
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerequests |
| Maintenance | Actively maintained 988 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 146,131 / month, #11,106 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: metaphor_python-0.1.23-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “web search api python”
- metaphor-pythonPython SDK for the Exa web search API, providing search, content…
- langchain-exaIntegrates Exa's web search API with LangChain, enabling AI…
- ddgsAggregates web search results from multiple search engines (Bing,…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also exa-py · seltz · langchain-exa · gnews · agent-framework-devui · zai-sdk · zenrows · pycdc · chonkie · haystack-experimental