*** title: LlamaIndex 'og:title': You.com + LlamaIndex | Web-Grounded Retrieval with LlamaIndex 'og:description': >- Use You.com's Search API as a retriever in LlamaIndex applications with the llama-index-retrievers-you package. ----------------------------------- LlamaIndex includes a You.com retriever integration through the `llama-index-retrievers-you` package. It uses You.com's Search API to retrieve relevant web and news results, converting them into LlamaIndex's standard `NodeWithScore` format for use with query engines, agents, and other components. **Run this entire example as a [Jupyter Notebook](https://github.com/youdotcom-oss/llama_index/blob/main/docs/examples/retrievers/you_retriever.ipynb).** *** ## Getting Started ### Install the package ```bash pip install llama-index-retrievers-you ``` ### Set your API key ```python import os os.environ["YDC_API_KEY"] = "your_api_key" ``` Get your API key at [you.com/platform/api-keys](https://you.com/platform/api-keys). *** ## Basic Usage Set up the retriever and retrieve web results: ```python from llama_index.retrievers.you import YouRetriever retriever = YouRetriever(api_key="your_api_key") retrieved_results = retriever.retrieve("national parks in the US") print(f"Retrieved {len(retrieved_results)} results") for i, result in enumerate(retrieved_results): print(f"\nResult {i+1}:") print(f" Text: {result.node.text}...") print("Metadata:") for key, value in result.node.metadata.items(): print(f" {key}: {value}") ``` Each result includes the page text along with metadata such as `url`, `title`, `description`, `page_age`, `thumbnail_url`, and `source_type` (either `"web"` or `"news"`). ### Async Usage The retriever also supports async operations: ```python retrieved_results = await retriever.aretrieve("national parks in the US") ``` *** ## News Results The Search API automatically includes news results based on your query. You can control how many results are returned per type and filter by country: ```python retriever = YouRetriever(api_key="your_api_key", count=5, country="US") retrieved_results = retriever.retrieve("latest geopolitical updates") for result in retrieved_results: print(result.node.metadata.get("source_type")) # "web" or "news" ``` *** ## Customizing Search Parameters You can pass optional parameters to control the search behavior: ```python retriever = YouRetriever( api_key="your_api_key", count=20, # Up to 20 results per section (web/news) country="US", # Focus on US results language="en", # English results freshness="week", # Results from the past week safesearch="moderate", ) retrieved_results = retriever.retrieve("renewable energy breakthroughs") ``` *** ## Using with a Query Engine Combine the retriever with an LLM to synthesize natural language answers from search results: ```python from llama_index.core.query_engine import RetrieverQueryEngine from llama_index.llms.anthropic import Anthropic from llama_index.retrievers.you import YouRetriever llm = Anthropic(model="claude-haiku-4-5-20251001", api_key="your_anthropic_key") retriever = YouRetriever(api_key="your_api_key") query_engine = RetrieverQueryEngine.from_args(retriever, llm) response = query_engine.query( "What are the most visited national parks in the US and why?" ) print(str(response)) ``` The query engine retrieves relevant search results from You.com, passes them as context to the LLM, and returns a synthesized answer. *** ## Resources Full notebook in the LlamaIndex docs, with full response examples Full Search API parameters and response schema Sign up to get your You.com API key