brave-search-python-client
š¦ Brave Search Python Client supporting Web, Image, News and Video search.
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
A Python client library for the Brave Search API that supports web, image, news, and video search with both async library and CLI interfaces.
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
pip
pip install brave-search-python-clientuv
uv add brave-search-python-clientpoetry
poetry add brave-search-python-clientInstalling brave-search-python-client
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.
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())
Requires a Brave Search API key (obtain from https://brave.com/search/api/); free tier includes 2,000 requests per month.
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 | MIT License Copyright (c) [2025] [Helmut Hoffer von Ankershoffen (helmuthva@googlemail.com)] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and⦠(full text in the JSON record) (permissive) |
| Python support | supports the current Python release (<4.0,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pydantic-settings, tenacity, typer |
| 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) |
Evidence: brave_search_python_client-0.4.27-py3-none-any.whl
Keywords: act, api, brave, brave-api, brave-search, brave-search-api, brave-search-python-client, bravesearch, bravesearchapi, codecov, copier, cyclonedx, detect-secrets, devcontainer, docker, git-cliff, jupyter, marimo, mypy, nox, oe-python-template, pip-audit, pip-licenses, pre-commit, pydantic, pypi, pytest, python, readthedocs, ruff, sonarcloud, sonarqube, sphinx, streamlit, typer, uv, web-search, websearch
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
brave-searchWrapper for the Brave Search API that providesā¦
unclear · top 15,000 on PyPI
youtube-search-pythonSearch YouTube for videos, channels, andā¦
permissive · top 15,000 on PyPI
newsapi-pythonA Python client library that wraps the Newsā¦
permissive · top 15,000 on PyPI
duckduckgo-searchRetrieves search results from DuckDuckGo forā¦
permissive · top 5,000 on PyPI
python-sonarqube-apiProvides a Python client library forā¦
agpl · top 15,000 on PyPI
sfrbox-apiProvides an async Python client for interactingā¦
permissive · top 15,000 on PyPI
twelvelabsPython SDK for the TwelveLabs videoā¦
unclear · top 15,000 on PyPI
openapi-generator-cliProvides a Python CLI wrapper for OpenAPIā¦
permissive · top 15,000 on PyPI
bilibili-api-pythonProvides async Python bindings for Bilibili'sā¦
copyleft · top 15,000 on PyPI
xai-sdkOfficial Python SDK for xAI's APIs, providingā¦
permissive · top 5,000 on PyPI