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.1.tar.gz (10.9 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.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: serphouse_ai_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 10.9 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.1.tar.gz
Algorithm Hash digest
SHA256 07d2edec835278869deb277e72481ebcd0f056c19ef87cce7a0429cc12dbf7ba
MD5 e4eda3d34d7f5530e8887657f56bdda2
BLAKE2b-256 f830a12f5744eac6f45ad2cbc4eb80a6da5651752a8069752b9d09917cbb0787

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for serphouse_ai_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a20e06068171baafea4a0fa3a04143526ec6d3a5e44d8408fc7bee7b8e6a1a9d
MD5 cab920827ab690e457c685721fa7fcc9
BLAKE2b-256 2f6b157caee76e10c1bbe1c8ac388b431f97eca5c6765b24f5e0c1a8ae1d29ce

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