Use the agent SDK you already know

Create the search capabilities you need and add them to your SDK’s normal tool collection:

from serpapi_search_tools import hotels_search, maps_search, web_search

tools = [web_search(), maps_search(), hotels_search()]

The package prepares the tool name, description, inputs, validation, and SerpApi request. You continue to choose the model and run the agent through your SDK as usual.

Installation choices

If your agent SDK is already installed, add only the base package:

pip install serpapi-search-tools

If you want this package to install a compatible SDK dependency too, use its extra. For example:

pip install "serpapi-search-tools[openai-agents]"

Replace openai-agents with the extra in the table below.

Supported SDKs

SDK Extra / explicit provider Supported range Complete example
OpenAI Agents SDK openai-agents openai-agents >=0.18.3,<1 OpenAI Agents
Pydantic AI pydantic-ai pydantic-ai >=1.30.1,<3 Pydantic AI
LangChain langchain langchain >=1.3.11,<2 LangChain
LangGraph langgraph langgraph >=1.2.6,<2 LangGraph
CrewAI crewai crewai >=1.6.1,<2 CrewAI
LlamaIndex llamaindex core >=0.14.22,<0.15 LlamaIndex
Claude Agent SDK claude-agent-sdk claude-agent-sdk >=0.2.108,<1 Claude Agent SDK
Microsoft Agent Framework microsoft-agent-framework agent-framework-openai >=1.10.1,<2 Microsoft Agent Framework
AutoGen autogen AgentChat >=0.7.5,<0.8 AutoGen
Haystack haystack haystack-ai >=2.30.2,<4 Haystack
Agno agno agno >=2.6.19,<3 Agno
smolagents smolagents smolagents >=1.26,<2 smolagents
Google ADK google-adk google-adk >=2.3,<3 Google ADK
Semantic Kernel semantic-kernel semantic-kernel >=1.36,<2 Semantic Kernel

You only need dependencies for the SDKs you use. The base install remains small and also supports direct Python calls.

Automatic detection is the normal path

When one supported SDK is installed, omit provider:

from serpapi_search_tools import web_search

tool = web_search()

If multiple supported SDK families are installed, automatic detection raises an error rather than selecting by import order. Pass the table’s provider value explicitly:

from serpapi_search_tools import web_search

tool = web_search(provider="openai-agents")

Use the same explicit provider for every tool in one agent. LangGraph and LangChain count as one adapter family.

No supported SDK installed

Automatic detection falls back to a normal callable. You can request that form directly with provider="function" for scripts, tests, or an unlisted agent framework. See Support another agent SDK.

Install only what your agent uses

Each extra installs the packages needed to create tools for that SDK. Continue to install and configure the model integration your agent normally uses. In most applications, installing the base package plus one SDK extra keeps the environment easiest to understand and maintain.