Metadata-Version: 2.4
Name: llama-index-tools-serpdive
Version: 0.1.0
Summary: LlamaIndex tool for SERPdive, the AI Search API and Tavily alternative: answer-ready web content for agents, same speed, 20.2% fewer tokens, higher answer quality (60.7% of decided duels) on a public benchmark
Project-URL: Homepage, https://serpdive.com
Project-URL: Documentation, https://serpdive.com/docs
Project-URL: Repository, https://github.com/serpdive/llama-index-tools-serpdive
Author-email: SERPdive <contact@serpdive.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agents,ai,api,llama-index,llamaindex,llm,rag,search,serpdive,tavily,tavily-alternative,web-search
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: llama-index-core>=0.10.0
Requires-Dist: serpdive>=0.1.1
Description-Content-Type: text/markdown

# llama-index-tools-serpdive

The official [LlamaIndex](https://www.llamaindex.ai) tool for [SERPdive](https://serpdive.com), the AI Search API: your agent asks a question, the tool returns `Document`s whose text is answer-ready web content, extracted, cleaned, and sized for an LLM. On a [public, replayable 1,000-question benchmark](https://github.com/edendalexis/serpdive-benchmark), SERPdive runs at the same speed as Tavily, feeds your LLM 20.2% fewer tokens, and wins 60.7% of decided quality duels.

## Install

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

Get a free API key (no card required) at [serpdive.com/dashboard/keys](https://serpdive.com/dashboard/keys) and set it:

```bash
export SERPDIVE_API_KEY="sd_live_..."
```

## Use directly

```python
from llama_index_tools_serpdive import SerpdiveToolSpec

spec = SerpdiveToolSpec()
documents = spec.serpdive_search("latest developments in solid state batteries")
# each Document: text = extracted page content; metadata = {url, title, date}
```

## Use in an agent

```python
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.anthropic import Anthropic
from llama_index_tools_serpdive import SerpdiveToolSpec

agent = FunctionAgent(
    tools=SerpdiveToolSpec().to_tool_list(),
    llm=Anthropic(model="claude-sonnet-5"),
)
await agent.run("What changed in the EU AI Act this month?")
```

## Options

```python
SerpdiveToolSpec(
    model="moby",     # "mako" (default): key sentences, fast. "moby": full page text, deep research
    max_results=5,    # hard cap on delivered results, 1-10
    api_key="sd_live_...",  # defaults to SERPDIVE_API_KEY
)
```

Localization is automatic: the language of the query picks where we search. Failed searches are never billed.

## Links

- [API reference](https://serpdive.com/docs)
- [Public benchmark](https://github.com/edendalexis/serpdive-benchmark) (replayable end to end)
- [Python SDK](https://github.com/serpdive/serpdive-python) (this package is a thin layer over it)
- [MCP server](https://github.com/serpdive/serpdive-mcp) for Claude, Cursor and other MCP clients

## License

MIT
