VKFolio

OrioSearch: Your AI Agent need WebSearch - 100% Open-source Tavily alternative. Self-hosted search API

by
OrioSearch is a self-hosted, Tavily-compatible web search & extraction API. Every AI agent needs web search ! - Drop-in: Matches Tavily's endpoints exactly. - BYO-LLM: Plug in Ollama or OpenAI for AI answers with citations. - Reach: 70+ search engines via SearXNG with DuckDuckGo fallback. - Web + Image search: image results alongside web results via parallel search - Ready: Multi-tier extraction, reranking, SSE streaming & Redis caching.

Add a comment

Replies

Best
VKFolio
Maker
📌

Hey everyone! 👋

Building AI agents and RAG pipelines is incredibly fun, right up until you hit a hard API rate limit or get a surprise bill from your search provider.
I built OrioSearch because I wanted full control over my search stack without rewriting my agent's code. It’s a self-hosted, open-source web search and extraction API that acts as a 100% drop-in replacement for Tavily.
Here’s what it gives you out of the box:

{
  "query": "python async programming",
  "search_depth": "basic",
  "topic": "general",
  "max_results": 5,
  "include_answer": false,
  "include_images": false,
  "include_raw_content": false,
  "time_range": "week",
  "include_domains": ["docs.python.org"],
  "exclude_domains": ["pinterest.com"]
}
  • Zero Friction: It's Tavily-compatible. Swap one base URL in your existing code, and everything just works.

  • Bring Your Own LLM: Works flawlessly with Ollama (free/local), OpenAI, or Groq.

  • Native AI Answers: Pass include_answer: true to get synthesized responses with citations.

  • Web + Image search: include_images: true returns image results alongside web results via parallel search

I’d absolutely love your feedback, feature requests, or GitHub PRs. What kind of AI agents are you building, and what would you plug OrioSearch into? Let me know below! 👇

Piroune Balachandran

@vignesh0702 How are you handling source quality once include_answer is on, especially with AI SEO spam and stale pages? The Tavily-compatible swap is nice, but a small public eval repo plus freshness controls is probably what gets OrioSearch into real agent stacks.

VKFolio
Maker

@piroune_balachandran  Great Question, This is something i also think about.

What's currently in place today:

  1. FlashRank reranking : Rescores results by actual relevance to your query, not just keyword match, SEO-gamed pages get pushed down when their content doesn't match intent

  2. Time range filtering: time_range: "day" | "week" | "month" | "year" at the API level, so agents can scope searches to fresh content only

  3. Domain include/exclude : include_domains and exclude_domains let you whitelist trusted sources or blacklist spam farms per request.

  4. Search_depth: "advanced" : fetches and extracts full page content via trafilatura + readability, so the LLM gets actual article text, not the SEO-optimized snippets

  5. Context limits: only top 5 results, max 8K chars reach the LLM. Low-ranking junk doesn't pollute the answer

What's on the roadmap:

  1. Minimum relevance score threshold: filter below a confidence cutoff before results reach the LLM

  2. Result deduplication: collapse near-duplicate URLs and snippets

  3. Freshness scoring: weight recency alongside relevance, not just filter by time range

Thinking a benchmark set comparing OrioSearch vs Tavily on the same queries, measuring answer accuracy, source quality, and latency. If anyone wants to collaborate on that will build trust, thanks