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-toolsIf 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.