phrona
High-performance metasearch engine library for Rust. Queries 26 search engines across 5 categories (web, images, news, videos, books) in parallel, impersonates real browsers over HTTP/2, then merges, deduplicates and ranks results locally.
Quick start
use ;
let resp = search_sync?;
for r in resp.web
Async:
use ;
let client = new?;
let resp = client.search.await?;
Features
- 26 engines, 5 categories, suggestions and page extraction (AI grounding).
- Impersonated HTTP/2 with TLS fingerprint spoofing via wreq profiles (Chrome, Firefox, Safari, Edge, Opera, OkHttp).
- Cross-engine merging: tracking-parameter stripping, dedup, ranking, per-engine error reporting in every response.
- Sync and async APIs, time ranges, safesearch, regions, per-engine filter strings, proxies.
Related crates
- phrona-api — REST API server (axum)
- phrona-mcp — MCP server for AI agents
- phrona-cli — the
phronabinary - phrona-python — Python bindings
Documentation
Full docs (library reference, engines, examples) live in the main repository: https://github.com/alvaro-co/phrona/tree/main/docs
License
AGPL-3.0 — see the main repository for details.