## Recommendation: Tavily For this repo — a Python, **LlamaIndex-based** RAG chatbot (Ollama/OpenAI LLMs, hybrid BM25+vector retrieval over PDFs) — the single best managed web-search/retrieval provider is **Tavily**. ### Every credible managed provider I identified **AI-native search-for-LLMs:** Tavily, Exa, Linkup (🇫🇷), Brave Search API, Perplexity Sonar, You.com, Parallel (Search Pro), Jina AI (🇩🇪, DeepSearch/Reader grounding), Valyu. **SERP / scraping aggregators:** SerpApi, Serper.dev, ScrapingDog, ScrapingBee, ZenRows, Firecrawl (search+scrape), Diffbot, Apify. **Engine-native indexes:** Brave (independent), Mojeek (🇬🇧, independent), Kagi Search API, Google Programmable Search / Custom Search JSON, Qwant (🇫🇷), and **Bing Web Search — retired Aug 2025, excluded**. **Non-US / European options specifically:** Linkup (France, EU-hosted), Jina AI (Berlin), Mojeek (UK), Qwant (France). ### Why Tavily wins for *this* repo - **First-class LlamaIndex integration** — `llama-index-tools-tavily-research` / `TavilyToolSpec`, which slots directly into the existing LlamaIndex engine and retriever pattern (`rag_chatbot/core/engine/retriever.py`). Lowest integration cost of any option. - **Purpose-built for RAG grounding** — one round-trip searches, scrapes, filters, and ranks up to ~20 sources, returning scored passages + URLs + optional full content + a short answer. The repo's `