brave-search-python-client
🦁 Brave Search Python Client supporting Web, Image, News and Video search.
Decision gist · record as of 2026-08-14
Yes, with conditions. The package is actively maintained, has low install friction, and offers a clean async API with CLI support. However, it is marked pre-alpha, so expect potential API changes. You must obtain a Brave Search API key and be aware of the free tier's 2,000 monthly request limit. If you need a stable, production-ready search client and can work within those constraints, this is a solid choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Brave Search API key (obtain from https://brave.com/search/api/); free tier includes 2,000 requests per month.
- Low install friction with a pure-Python wheel and only three runtime dependencies (pydantic-settings, tenacity, typer).
- Actively maintained with recent releases; last commit 2026-08-08.
License · maintenance · safety
permissive license (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects without restriction.
last release 2025-04-27 (474 days) · last repo commit 2026-08-08 · 13 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 85,306 downloads/mo, #13,932 on PyPI
Alternatives
Verify before relying
pip install brave-search-python-client
import asyncio
from brave_search_python_client import BraveSearch, WebSearchRequest
async def search():
client = BraveSearch()
response = await client.web(WebSearchRequest(q="python"))
return response
asyncio.run(search())- Whether tenacity is used for automatic retry logic on API failures
- Specific rate-limiting behavior and how it interacts with the free tier quota
What it is and what it does
Brave Search Python Client is an async-first wrapper around the Brave Search API that lets you perform web, image, news, and video searches from Python code. It uses pydantic-settings for configuration, tenacity for resilience, and typer for its command-line interface. The library is designed to work with current Python versions (3.11, 3.12, 3.13) and includes both a programmatic API for integration into applications and a CLI for shell scripts.
Typical use cases include adding search capabilities to Python applications, giving language models access to current web information, and running searches from the command line. The package is in pre-alpha development status but actively maintained, with comprehensive documentation, examples, and test coverage.
Use it for
- Integrate web search into Python applications so users can find current information without leaving your app.
- Add real-time web data to LLM applications to supplement model knowledge with current search results.
- Use the CLI in shell scripts to fetch search results in JSON format for further processing.
- Build image or video search features into web or desktop applications.
- Create news aggregation tools that pull recent articles on specific topics.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The package is actively maintained, has low install friction, and offers a clean async API with CLI support. However, it is marked pre-alpha, so expect potential API changes. You must obtain a Brave Search API key and be aware of the free tier's 2,000 monthly request limit. If you need a stable, production-ready search client and can work within those constraints, this is a solid choice.
Install
brave-search-python-client on PyPI
Before you install
Low install friction with a pure-Python wheel and only three runtime dependencies (pydantic-settings, tenacity, typer). Actively maintained with recent releases; last commit 2026-08-08.
Requires a Brave Search API key (obtain from https://brave.com/search/api/); free tier includes 2,000 requests per month.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects without restriction.
Quickstart
pip install brave-search-python-client
import asyncio
from brave_search_python_client import BraveSearch, WebSearchRequest
async def search():
client = BraveSearch()
response = await client.web(WebSearchRequest(q="python"))
return response
asyncio.run(search())
Verify before relying
- Whether tenacity is used for automatic retry logic on API failures
- Specific rate-limiting behavior and how it interacts with the free tier quota
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release <4.0,>=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagespydantic-settingstenacitytyper |
| Maintenance | Actively maintained 474 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 85,306 / month, #13,932 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 2 - Pre-AlphaFramework :: AsyncIOFramework :: PydanticFramework :: PytestIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Typing :: Typed |
Evidence: brave_search_python_client-0.4.27-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 › “image news video search api”
- brave-search-python-clientA Python client library for the Brave Search API that supports web,…
- duckduckgo-searchRetrieves search results from DuckDuckGo for text, images, videos,…
- goose3Extracts article text, metadata, images, and embedded videos from web…
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 brave-search · youtube-search-python · newsapi-python · duckduckgo-search · python-sonarqube-api · sfrbox-api · twelvelabs · openapi-generator-cli · bilibili-api-python · xai-sdk