Metadata-Version: 2.4
Name: llama-index-tools-searchapi
Version: 0.1.0
Summary: LlamaIndex tool integration for SearchApi.io — multi-engine web search
Author-email: Isaac Hernandez <isadohergar@gmail.com>
License-Expression: MIT
Requires-Python: <4.0,>=3.10
Requires-Dist: llama-index-core<0.15,>=0.13.0
Requires-Dist: requests>=2.28.0
Description-Content-Type: text/markdown

# LlamaIndex Tools Integration: SearchApi

Multi-engine web search tool for LlamaIndex agents powered by [SearchApi.io](https://www.searchapi.io).

SearchApi provides structured data from 100+ search engines through a single API. This integration supports Google, Google News, Google Shopping, Google Jobs, YouTube, Bing, and Baidu.

## Installation

```bash
pip install llama-index-tools-searchapi
```

## Setup

Get your API key at [searchapi.io](https://www.searchapi.io) (free tier: 100 searches/month).

## Usage

```python
from llama_index.tools.searchapi import SearchApiToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI

tool_spec = SearchApiToolSpec(api_key="your-key")

agent = FunctionAgent(
    tools=tool_spec.to_tool_list(),
    llm=OpenAI(model="gpt-4.1"),
)

response = await agent.run("what's the latest news about AI agents?")
```

### Google News

```python
tool_spec = SearchApiToolSpec(api_key="your-key", engine="google_news")
```

### YouTube

```python
tool_spec = SearchApiToolSpec(api_key="your-key", engine="youtube")
```

### With Location and Language

```python
tool_spec = SearchApiToolSpec(api_key="your-key", num_results=5)
results = tool_spec.search("coffee shops", location="San Francisco", country="us", language="en")
```

### Per-query Engine Override

```python
tool_spec = SearchApiToolSpec(api_key="your-key")
results = tool_spec.search("wireless headphones", engine="google_shopping")
```

## Supported Engines

| Engine | Description |
|--------|-------------|
| `google` | Google web search (default) |
| `google_news` | Google News |
| `google_shopping` | Google Shopping |
| `google_jobs` | Google Jobs |
| `youtube` | YouTube video search |
| `bing` | Bing web search |
| `baidu` | Baidu search |

## Configuration

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `api_key` | `str` | required | SearchApi API key |
| `engine` | `str` | `"google"` | Default search engine |
| `num_results` | `int` | `10` | Default number of results |
