Metadata-Version: 2.4
Name: langchain-talordata
Version: 0.1.5
Summary: LangChain integration for Talor SERP API — 33 search engines in one tool
License: MIT
Project-URL: Homepage, https://github.com/Talordata/langchain-talordata.git
Project-URL: Repository, https://github.com/Talordata/langchain-talordata.git
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: langchain-core>=0.1.0
Requires-Dist: pydantic>=2.0
Requires-Dist: httpx>=0.24.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"

**LangChain integration for TalorData SERP API**

[Installation](https://github.com/Talordata/langchain-talordata/edit/main/README.md#installation) • [Quick Start](https://github.com/Talordata/langchain-talordata/edit/main/README.md#quick-start) • [Tools](https://github.com/Talordata/langchain-talordata/edit/main/README.md#tools) • [Resources](https://github.com/Talordata/langchain-talordata/edit/main/README.md#resources)

PyPI version Python versions License: MIT

TalorData helps developers and AI applications connect to real-time, structured, and reliable search data through a single SERP API. With support for Google, Bing, News, Images, Shopping, Maps, Scholar, Trends, and more, TalorData makes it easier to build AI agents, search copilots, SEO workflows, and data-driven automations powered by live search results.

The `langchain-talordata` package brings TalorData’s real-time search capabilities into LangChain, so you can add live search, engine inspection, request history, and usage analytics directly to your LLM workflows and AI agent systems.

**Overview**

`langchain-talordata` provides LangChain tools for [TalorData](https://talordata.com/) SERP API, enabling your AI agents to:

- **Search** - Query search engines with geo-targeting and language customization
- **Inspect engines** - Discover supported engines and engine-specific parameters
- **Query history** - Fetch SERP request history with filters
- **View statistics** - Retrieve usage statistics by date range and engine

**This package provides:**

- `TalorDataSerpAPIWrapper` for direct sync and async API access
- `TalorDataSerpTool` for creating LangChain tools
- 20+ search types across four major search engines
- support for search, history, and statistics endpoints

**Installation**

```
pip install langchain-talordata
```

**Quick start**

**1. Get your API key**

Sign up at [TalorData ](https://www.talordata.com/serp-api/langchain?campaignid=1cypxmLvv6k0zrDj&utm_source=langchain&utm_term=langchain29)and get your API key from the dashboard.

**2. Set up authentication**

```
import os
os.environ["TALOR_API_KEY"] = "your-token"
```

**3. Modern agent usage**

```
from langchain_talordata import TalorDataSerpTool
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
tool = TalorDataSerpTool.from_env()

# Tool calling without langchain_classic agents
model_with_tools = llm.bind_tools([tool])
response = model_with_tools.invoke("Search for the latest LangChain news")
print(response)
```

**4. Search tool**

```
from langchain_talordata import TalorDataSerpTool

search_tool = TalorDataSerpTool.from_env()

result = search_tool.invoke({
    "query": "LangChain tutorial",
    "engine": "google",
    "params": {
        "gl": "us",
        "hl": "en",
        "device": "desktop",
    },
})

print(result)
```

Search parameters:

- `query`: optional search query text
- `engine`: optional engine key such as `google`, `google_news`, `google_images`, `bing`, `duckduckgo`
- `params`: optional engine-specific parameter object
- common `params` fields include `gl`, `hl`, `device`, `location`, and `no_cache`
- use `talor_serp_list_engines` to inspect detailed parameters for a specific engine
`params` also accepts a JSON string when returned by a model tool call, for example:

```
result = search_tool.invoke({
    "query": "LangChain tutorial",
    "engine": "google",
    "params": "{\"hl\": \"zh-CN\", \"gl\": \"cn\"}",
})
```

**5. History tool**

```
from langchain_talordata import TalorDataSerpTool

history_tool = TalorDataSerpTool.history_from_env()

result = history_tool.invoke({
    "page": 1,
    "page_size": 20,
    "search_query": "langchain",
    "search_engine": "google",
    "status": "success",
    "timezone": "Asia/Shanghai",
})

print(result)
```

History parameters:

- `page`: page number, default `1`
- `page_size`: page size, default `20`
- `search_query`: optional keyword filter
- `search_engine`: optional engine filter such as `google` or `bing`
- `status`: `all`, `success`, or `error`
- `start_time`: optional unix timestamp in seconds
- `end_time`: optional unix timestamp in seconds
- `timezone`: optional timezone header such as `Asia/Shanghai` or `+08:00`
**6. Statistics tool**

```
from langchain_talordata import TalorDataSerpTool

statistics_tool = TalorDataSerpTool.statistics_from_env()

result = statistics_tool.invoke({
    "start_date": "2026-06-01",
    "end_date": "2026-06-05",
    "engines": "google,bing",
    "timezone": "+08:00",
})

print(result)
```

Statistics parameters:

- `start_date`: required, format `YYYY-MM-DD`
- `end_date`: required, format `YYYY-MM-DD`
- `engines`: optional comma-separated engine keys such as `google,bing`
- `timezone`: optional timezone offset such as `+08:00`
**7. Bind multiple tools**

```
from langchain_talordata import TalorDataSerpTool
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
tools = TalorDataSerpTool.tools_from_env()

model_with_tools = llm.bind_tools(tools)
response = model_with_tools.invoke("Show my SERP usage statistics for 2026-06-01 to 2026-06-05")
print(response)
```

`bind_tools()` only lets the model generate `tool_calls`. To actually execute the selected tool, either:

- call `tool.invoke(...)` directly, or
- use an agent workflow that executes tools automatically
**Tools**

- `talor_serp_search` - search the web with engine-specific parameters
- `talor_serp_list_engines` - inspect supported engines and detailed parameter schemas
- `talor_serp_history` - query historical SERP requests
- `talor_serp_statistics` - query usage statistics for a date range
**Compatibility note**

If you are using modern package versions such as:

- `langchain-core>=1.0`
- `langchain-classic>=1.0`
- `langchain-openai>=1.0`
avoid `langchain_classic.agents.create_openai_functions_agent()` and other legacy `initialize_agent` / `AgentType.OPENAI_FUNCTIONS` flows with chat models. Those classic agent paths call `llm.invoke(..., callbacks=...)`, while modern `BaseChatModel.invoke()` forwards callbacks through `config`, which can lead to:

```
TypeError: BaseLLM.generate_prompt() got multiple values for keyword argument 'callbacks'
```

Use one of these approaches instead:

- `llm.bind_tools([tool])` for direct tool calling
- `langchain.agents.create_agent(...)` for new agent workflows
- `agent.invoke(...)` instead of deprecated `agent.run(...)`
**Features**

- compatible with LangChain tool workflows
- supports multiple Talor SERP engines such as Google, Bing, Yandex, and DuckDuckGo
- exposes engine schema metadata for parameter-aware integrations
- includes helper APIs for usage history and statistics
**Resources**

- PyPI: [langchain-talordata](https://pypi.org/project/langchain-talordata/)
- TalorData: [talordata.com](https://www.talordata.com/serp-api/langchain?campaignid=1cypxmLvv6k0zrDj&utm_source=langchain&utm_term=langchain29)
### Support

For issues with the LangChain integration package, report an issue in the [**GitHub repository**](https://github.com/talordata)**.**

For TalorData SERP API account, quota, or API key issues, contact TalorData support through the support channel listed in your TalorData account or dashboard.

For detailed integration tutorials and API documentation, visit the TalorData Documentation.

---

### Learn More

Ready to build AI agents with real-time search in LangChain?

Explore the [**TalorData LangChain Integration Guide**](https://www.talordata.com/serp-api/langchain?campaignid=1cypxmLvv6k0zrDj&utm_source=langchain&utm_term=langchain29)

Read the [**Integration Documentation**](https://www.talordata.com/serp-api/langchain?campaignid=1cypxmLvv6k0zrDj&utm_source=langchain&utm_term=langchain29)

---

> **TalorData brings real-time search to LangChain, enabling developers to build AI agents and workflows with fresh, structured, and reliable search data.**

