Skip to main content

SERPHouse AI SDK — search API tools for LangChain and LlamaIndex

Project description

SERPHouse logo

SERPHouse AI SDK

Python SDK for the SERPHouse search API — with first-class integrations for LangChain and LlamaIndex.

Drop live Google, Bing, and Yahoo search data into your AI agents. No boilerplate, no custom API clients — just import, configure, and let your agent search the web.


PyPI Python 3.10+ LangChain LlamaIndex MIT License Website GitHub


Table of Contents


Why SERPHouse AI SDK

Zero boilerplate Two lines to add web search, news, or video results to any LangChain or LlamaIndex agent
Framework-native Functions return standard StructuredTool / FunctionTool objects — no wrappers, no adapters
Live SERP data Every call hits the SERPHouse API in real time. No cached or stale results.
Production-ready Built on requests and pydantic with typed schemas, configurable timeouts, and clear error handling

Installation

pip install serphouse-ai-sdk

With framework extras:

pip install serphouse-ai-sdk[langchain]
pip install serphouse-ai-sdk[llamaindex]
pip install serphouse-ai-sdk[all]      # both frameworks

Quick Start

Set the SERPHOUSE_API_KEY environment variable (or pass it per tool).

LangChain

from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
from serphouse.langchain import search, news, short_video

agent = create_agent(
    model=ChatOpenAI(model="gpt-4"),
    tools=[search(), news(), short_video()],
)

response = agent.invoke({
    "messages": [{"role": "user", "content": "Latest AI news from OpenAI"}]
})
print(response["messages"][-1].content)

LlamaIndex

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from serphouse.llamaindex import search, news, short_video

agent = FunctionAgent(
    llm=OpenAI(model="gpt-4"),
    tools=[search(), news(), short_video()],
)

response = agent.run("Latest AI news from OpenAI")
print(response)

API Key

Get your key at serphouse.com and choose one of:

Method Example
Environment variable (recommended) export SERPHOUSE_API_KEY=your_key_here
Per-tool options dict search({"api_key": "your_key_here"})
SERPHouseClient SERPHouseClient(api_key="your_key_here")

Tools Reference

Tool Framework Endpoint Description
search() LangChain, LlamaIndex /web-search-lite General web search
news() LangChain, LlamaIndex /google-news Google News search
short_video() LangChain, LlamaIndex /google-short-videos-api Google Short Videos (Shorts)

All tools accept the following parameters:

Parameter Type Default Description
q str Search query (required)
domain str google.com Search domain
lang str en Search language code
loc str New York,New York,United States Location (City,State,Country)
device str desktop desktop or mobile
page int Page number
date_range str y h (hour), d (24h), w (week), m (month), y (year), or YYYY-MM-DD,YYYY-MM-DD
gl str US Country code (ISO 3166-1 alpha-2, search only)
video_quality str high Video quality (short_video only)

Advanced Usage

Custom API key per tool

from serphouse.langchain import search

tool = search({"api_key": "your-key"})

SERPHouseClient

Use the raw client directly for custom integrations:

from serphouse import SERPHouseClient

client = SERPHouseClient(api_key="your-key")
result = client.post("/web-search-lite", {"q": "python sdk"})
print(result)

Development

# Clone and enter the repo
git clone https://github.com/serphouse/ai-sdk.git
cd ai-sdk

# Create a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in editable mode with all dev dependencies
pip install -e ".[test]"

# Run tests
pytest tests -v

# Run only unit tests (skip OpenAI integration tests)
pytest tests -v -k "not Integration"

# Run integration tests (requires OPENAI_API_KEY)
OPENAI_API_KEY=sk-... pytest tests -v -k "Integration"

Contributing

Contributions are welcome. Please keep changes focused and match existing code style.

git checkout -b feature/your-feature
pip install -e ".[test]"
# make changes
pytest tests -v
git commit -m "Add your feature"
git push origin feature/your-feature

Then open a Pull Request. Update this README if you change setup or configuration.


License

MIT License — Copyright SERPHouse.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

serphouse_ai_sdk-0.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

serphouse_ai_sdk-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file serphouse_ai_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: serphouse_ai_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for serphouse_ai_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4663333d812621de00917ad4a0e6d8f8e1cc2c60d53c0c2eea7e4805fced02b2
MD5 9e9559e4af55f12badfbcdcbcfe20400
BLAKE2b-256 ea4268e6dddaead374183a70faf20108aed4b3a2091d908cfedba668d29ebcfd

See more details on using hashes here.

File details

Details for the file serphouse_ai_sdk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for serphouse_ai_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50df3eac9d646628e6f59b9736f0aff51a38c8ce33249251f56aa122410e88ac
MD5 26f1e83110a0d0ff0f3f2d37c9e935fd
BLAKE2b-256 f8cfa6dfbd6268a2ae59f1ebd42f1270fd311e97ca8fdc0c868c3c423c10137f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page