Skip to main content

🦙 llama-searcher

llama-searcher logo

Python Version License: MIT CI

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 dynaconf configuration 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)

Source distribution for llama-searcher 0.1.0
File Size Uploaded
llama_searcher-0.1.0.tar.gz 18.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-searcher 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page