🦙 llama-searcher
llama-searcher is a professional-grade search orchestration framework designed for AI Agents and RAG (Retrieval-Augmented Generation) pipelines. It unifies traditional SEO/SERP APIs with modern neural search engines, transforming raw web data into clean, LLM-ready markdown.
🚀 Key Features
- Deca-Engine Support: Seamlessly switch between or aggregate results from 10+ providers:
- Neural AI Search: Firecrawl, Exa (Metaphor), Tavily, Perplexity Sonar.
- Traditional SERP: Google Custom Search, Bing, SerpApi, Serper.dev, Brave Search, Zenserp.
- RAG-Ready Output: Automatically cleans HTML, removes boilerplate (nav, footers, scripts), and returns structured markdown optimized for context windows.
- Smart Orchestration: Concurrent search execution, link deduplication, and intelligent content merging.
- Event Extraction: Built-in logic for parsing sports, calendars, and community events from structured search metadata.
- Professional Architecture: Production-ready modular design with standardized logging, error handling, and
dynaconfconfiguration management.
📚 Documentation
For a deep dive into the project structure, configuration, and how to extend it, check out our Tutorial.
🛠️ Tech Stack
- Core: Python 3.10+, Asynchronous execution with
asyncio&aiohttp. - Scraping: Headless Playwright (for dynamic content) & httpx (for performance).
- AI/LLM: LangChain, OpenAI/Gemini compatible API integration, Tiktoken for token optimization.
- Storage: In-memory vector stores and RAG-based similarity search.
🚦 Quick Start
1. Configuration
The project uses dynaconf. Populate your API keys in .secrets.toml:
[default]
GOOGLE_API_KEY = "your_key"
CSE_ID = "your_cse_id"
BING_API_KEY = "your_key"
FIRECRAWL_API_KEY = "your_key"
# ... add other keys as needed
2. Basic Usage
from llama_searcher.api.search import get_events
# Use multiple engines at once
result = get_events(
search_qeury="Music festivals in Europe 2024",
engine="google,exa,tavily"
)
print(result)
3. Running the API
uv run python -m llama_searcher.api.app
4. Running the MCP Server (for AI Agents)
uv run python -m llama_searcher.mcp_server
🏗️ Architecture
├── agents/ # LLM Analysis & Summarization Agents
├── api/ # Unified Search Entry point
├── core/ # Fetchers, Cleaners, RAG, and SearchProviders
├── services/ # Orchestration & Domain services
├── utils/ # Configuration (Dynaconf) & Logging
└── main.py # Entry point
Created with ❤️ for the Advanced Agentic Coding community.
Metadata
Release files for llama-searcher 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_searcher-0.1.0.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_searcher-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.8 kB
Release files / llama_searcher-0.1.0.tar.gz
| Download URL | llama_searcher-0.1.0.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3fdb53aafec5211893704c0e5603f27f4b6d3c1ffe8f1bdc0edeeedf94fab47
|
|
BLAKE2b-256 checksum How to use checksums |
0d12fc0f74b217b03cd2ffee82dacd714999914507763f2351ef067676683411
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency logRelease files / llama_searcher-0.1.0-py3-none-any.whl
| Download URL | llama_searcher-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5cf39881498bae91b51485ddda69e61e54d614860c3e4169690aef06adabb5ea
|
|
BLAKE2b-256 checksum How to use checksums |
61cf050baeb5628ddc6d308f2627fe1a5540852730d4ea5158fc49cb3a4ab27a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency log