> For the complete documentation index, see [llms.txt](https://doc.thordata.com/doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.thordata.com/doc/scraping/serp-api/integration/sdk-integration/how-to-set-up-thordata-with-langchain.md).

# How to Set Up ThorData with LangChain

Install the Thordata LangChain package, configure an API token, query localized SERP data, and use search results in LangChain agents.

Set up Thordata with LangChain to fetch real-time SERP data and use structured search results inside AI applications.

Integrate ThorData with LangChain to provide LLM-based agents with reliable, anonymous, and scalable web access for executing real-world data tasks, covering 190 countries and regions.

You can use the `langchain-thordata` Python package to implement this integration, which supports the following features:

* ThorSerpTool – ThorData offers a powerful SERP API that allows you to query search engines (Google, Bing, Yandex, DuckDuckGo) using geolocation and advanced customization options—features particularly useful for AI agents requiring real-time web information.

Alternatively, via ThorData's MCP (Model Context Protocol)—a local server providing various scraping and automation tools — Although it is not part of the `langchain-thordata` package, it can be manually integrated using LangChain's `Tool` or `RequestsWrapper`.

#### How to integrate ThorData with LangChain

{% stepper %}
{% step %}
**Get your ThorData API Token**

* Log in to your [ThorData dashboard](https://dashboard.thordata.com/serp-api/get-started).
* Go to [SERP API > API Token](https://dashboard.thordata.com/serp-api/get-started). If you haven't generated an API token yet, please generate one.
  {% endstep %}

{% step %}
**Install the ThorData integration**

Run the following command to install the ThorData integration package for LangChain:

```
pip install langchain-thordata
```

{% endstep %}

{% step %}
**Set environment variables**

Set your ThorData API Token as an environment variable:

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

{% endstep %}

{% step %}
**Using the ThorData + LangChain integration**

API Reference: SERP API Documentation

Basic Usage

```
from langchain_thordata import ThorSerpTool

search_tool = ThorSerpTool.from_env()

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

print(result)
```

{% endstep %}

{% step %}
**Use within an Agent**

```
from langchain_thordata import ThorSerpTool
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
tool = ThorSerpTool.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)
```

{% endstep %}
{% endstepper %}
