## Recommendation **Choose: Tavily Search API** — as the dedicated provider to add. But first, the honest caveat given your stack: you already call **Gemini 2.5 Flash Lite** directly (`useTravelPlanner.ts:154`, `useLocationAutocomplete.ts:65`). The *lowest-effort* grounding is Gemini's **native Google Search grounding** — add one `tools: [{ google_search: {} }]` line to the existing request body; no new provider, no new key, no extra round-trip, and you get `groundingMetadata` (queries, source chunks, inline citation supports) for free. If "minimum change" is the priority, do that. If you want a **provider-agnostic retrieval layer** (decoupled from the LLM, portable if you ever swap Gemini), **Tavily** is the best managed pick. ### Why Tavily over the others - **Purpose-built for LLM/RAG** — self-describes as "a search engine for LLM agents." Returns ranked results *with* clean content snippets and an optional synthesized `answer` in one call, so you feed grounded context straight into your existing Gemini prompt with no HTML scraping. - **One simple REST call** (`POST api.tavily.com/search`, Bearer auth) — fits your native-`fetch` pattern; no SDK needed. - **Credit model is predictable** (1 credit basic / 2 advanced), generous free tier for a hobby travel app. ### Alternatives considered - **Gemini Google Search grounding** — best for minimal integration, but locks retrieval t