{"slug": "give-your-langgraph-agent-real-time-web-data-with-apify", "title": "Give your LangGraph agent real-time web data with Apify", "summary": "Apify released an official LangChain integration, langchain-apify, that gives LangGraph agents access to real-time web data through 19 dedicated tools split across APIFY_CORE_TOOLS, APIFY_SEARCH_TOOLS, and APIFY_SOCIAL_TOOLS, plus an ApifyActorsTool for running any other Actor. The company also offers the Apify MCP Server at mcp.apify.com, which exposes thousands of Apify Actors as tools over the Model Context Protocol with stdio support via @apify/actors-mcp-server and Streamable HTTP, and OAuth or API token authentication. Setup requires Python 3.10+, an Apify account, and an OpenAI API key, with libraries installed via pip install langchain langchain-openai langchain-apify python-dotenv.", "body_md": "The usefulness of a LangGraph agent workflow largely depends on the quality and scope of the tools it can access. Apify extends LangGraph agents with real-time web data.\n\nIn this tutorial, you'll learn how to connect LangGraph to Apify through the official LangChain integration and via MCP.\n\n## Apify support for LangGraph\n\n[Apify](https://apify.com/) is a marketplace of ready-to-run tools for AI. It provides tools for accessing web data and automating tasks such as web search, social media monitoring, lead generation, e-commerce data extraction, [and more](https://apify.com/use-cases).\n\nAt the core of Apify are [Actors](https://apify.com/actors), serverless programs that perform specific tasks, such as scraping websites, running browser automation, or powering AI workflows.\n\nLangGraph agents can use Apify Actors in two main ways:\n\n1. Through the official [`langchain-apify`](https://github.com/apify/langchain-apify) integration.\n2. Via Apify MCP Server.\n\n### Official Apify LangGraph integration\n\nThe [Apify LangGraph integration](https://docs.apify.com/integrations/langgraph) provides LangChain-compatible tools that wrap specific Actors behind simplified input schemas. This way, LangGraph agents can call Actors without needing to know the underlying input schema.\n\n`langchain-apify` provides [19 dedicated tools](https://docs.apify.com/integrations/langchain#choose-the-right-tool-set) across three categories:\n\n- `APIFY_CORE_TOOLS` : for running Actors and tasks, scraping URLs, and retrieving dataset items\n- `APIFY_SEARCH_TOOLS` : for web search, crawling, maps, YouTube, and e-commerce data\n- `APIFY_SOCIAL_TOOLS` : for platforms such as Instagram, LinkedIn, TikTok, Facebook, and X\n\nYou can give an agent individual tools, an entire tool bundle, or use [`ApifyActorsTool`](https://docs.apify.com/integrations/langchain#run-any-other-actor) to run an Actor that doesn’t have a dedicated tool.\n\n### Apify MCP Server with LangGraph\n\n[Apify MCP Server](https://mcp.apify.com/) provides a programmatic interface for AI agents to discover and use Apify tools through the Model Context Protocol. It exposes thousands of Apify Actors as tools, allowing an agent to discover and use Actors on the fly.\n\nThe [MCP server provides tools](https://docs.apify.com/integrations/mcp) for:\n\n- **Actor discovery** : search Apify Store and retrieve Actor details and schemas\n- **Actor execution** : run Actors and retrieve their results\n- **Web access** : call tools for web scraping, such as[RAG Web Browser](https://apify.com/apify/rag-web-browser) and[Web Fetch](https://apify.com/apify/web-fetch)\n- **Storage** : access datasets generated by Actor runs\n- **Documentation** : search and retrieve Apify documentation\n- **Tasks and schedules** : manage saved Actor tasks and scheduled runs\n\nThe server supports stdio via [`@apify/actors-mcp-server`](https://www.npmjs.com/package/@apify/actors-mcp-server) as well as Streamable HTTP. Supported authentication methods include OAuth and API token.\n\n## Common setup steps\n\nBefore getting started with the LangGraph + Apify integration, whether via the official integration or MCP, you need to complete a few common tasks first.\n\n### Prerequisites\n\nMake sure you have:\n\n- [Python 3.10+ installed locally](https://www.python.org/downloads/) , with a project and an[activated virtual environment](https://docs.python.org/3/library/venv.html)\n- An [Apify account](https://console.apify.com/sign-up)\n- An [OpenAI API key](https://platform.openai.com/api-keys)\n\nBasic knowledge of the following topics will also be useful:\n\n### Step #1: Install the libraries\n\nIn your Python project, with the virtual environment activated, run:\n\n```\npip install langchain langchain-openai langchain-apify python-dotenv\n```\n\nThis installs the required dependencies:\n\n- [`langchain`](https://pypi.org/project/langchain/) : For crafting LangGraph agents via LangChain\n- [`langchain-openai`](https://pypi.org/project/langchain-openai/) : To use OpenAI models with LangChain agents\n- [`langchain-apify`](https://pypi.org/project/langchain-apify/) : To connect your LangGraph agent workflow to Apify\n- [`python-dotenv`](https://pypi.org/project/python-dotenv/) : For loading API keys from a`.env` file\n\n**Note**: You don’t need to install [`langgraph`](https://pypi.org/project/langgraph/) separately for this example. The `langchain` package installs `langgraph` as a dependency, as [its high-level API helps you build LangGraph agents](https://docs.langchain.com/oss/python/langchain/overview).\n\n### Step #2: Retrieve the Apify API key\n\nBoth `langchain-apify` and the Apify MCP server can use an [Apify API token](https://docs.apify.com/api/v2#authentication) for authentication. To get your API token:\n\n1. [Log in to Apify Console](https://console.apify.com/)\n2. Go to **Settings > API & Integrations**\n3. In the **API tokens** section, copy your token using the “copy to clipboard” button\n\nStore your API token securely. You'll need it in the next steps.\n\n**Note**: Apify MCP Server supports agentic payments via [AGI, direct x402, or Skyfire](https://github.com/apify/apify-mcp-server#-agentic-payments), so that you can pay for Actor runs without an Apify API token.\n\n### Step #3: Configure environment variables\n\nYour LangGraph agent workflow relies on Apify and OpenAI, so you must provide an Apify API token and an OpenAI API key. Never hardcode API keys in your source code. Store them as environment variables instead.\n\nCreate a `.env` file in your project directory and populate it with:\n\n```\nOPENAI_API_KEY=\"<YOUR_OPENAI_API_KEY>\"\nAPIFY_TOKEN=\"<YOUR_APIFY_TOKEN>\"\n```\n\nReplace `<YOUR_OPENAI_API_KEY>` and `<YOUR_APIFY_TOKEN>` with your actual OpenAI API key and Apify API token.\n\nTo load these variables from the `.env` file, import `load_dotenv()` from `python-dotenv` and call it at the beginning of your Python file:\n\n``` python\nfrom dotenv import load_dotenv\n\n# Load API keys from .env\nload_dotenv()\n```\n\nYou don't need to load the API keys manually in your agent code. `langchain-openai` reads `OPENAI_API_KEY`, and `langchain-apify` reads `APIFY_TOKEN` from the environment automatically.\n\n## How to build a LangGraph agent workflow with Apify\n\nIn this guided section, you'll see how to create a LangGraph agent that uses Apify LangChain tools for web search, social media data extraction, and more.\n\n### Step #4: Configure the AI model\n\nUse `langchain-openai` to configure the OpenAI model that your LangGraph agent will use:\n\n``` python\nfrom langchain_openai import ChatOpenAI\n\n# Define the OpenAI model that will serve as the agent's brain\nmodel = ChatOpenAI(model=\"gpt-5.4-mini\")\n```\n\nThis sets [`gpt-5.4-mini`](https://developers.openai.com/api/docs/models/gpt-5.4-mini), but you can replace it with another OpenAI model based on your requirements.\n\nIf you prefer to use a different model provider, see the LangChain documentation for integrations with [Anthropic](https://docs.langchain.com/oss/python/integrations/providers/anthropic), [Google](https://docs.langchain.com/oss/python/integrations/providers/google), or other providers.\n\n### Step #5: Import the Apify LangChain tools\n\nBegin by importing the desired tool sets from `langchain-apify`:\n\n``` python\nfrom langchain_apify import (\n    APIFY_SEARCH_TOOLS,\n    APIFY_SOCIAL_TOOLS,\n)\n```\n\nThis gives you access to the Apify search (6 tools) and social (7 tools) tool bundles.\n\nTo get the Apify tools ready for LangGraph, you first need to instantiate each tool class:\n\n```\ntools = [tool_cls() for tool_cls in (APIFY_SEARCH_TOOLS + APIFY_SOCIAL_TOOLS)]\n```\n\nThe above line loops through the tool classes in both sets, creates an instance of each class, and stores them in the `tools` list.\n\nAlternatively, when you need granular control, you can import individual tools:\n\n``` python\nfrom langchain_apify import (\n    ApifyRAGWebBrowserTool,\n    ApifyLinkedInProfileDetailTool,\n    # ...\n)\n```\n\nThen, instantiate the tools you want to use:\n\n```\nbrowser = ApifyRAGWebBrowserTool()\nlinkedin = ApifyLinkedInProfileDetailTool()\n\ntools = [browser, linkedin]\n```\n\n### Step #6: Define the LangGraph agent\n\nAdd a system prompt that tells the agent its role and how to behave:\n\n```\nagent_system_prompt = (\n    \"You are a helpful research assistant. Use Apify tools when you need to \"\n    \"fetch web or social media data.\"\n)\n```\n\nNext, create the LangGraph agent by using the model, tools, and system prompt:\n\n``` python\nfrom langchain.agents import create_agent\n\n# Create the LangGraph agent with the configured model, tools, and system prompt.\nagent = create_agent(\n    model=model,\n    tools=tools,\n    system_prompt=agent_system_prompt,\n)\n```\n\n[`create_agent()`](https://reference.langchain.com/python/langchain/agents/factory/create_agent) is the standard API for creating agents in [LangChain v1.0+](https://docs.langchain.com/oss/python/releases/langchain-v1). It provides a high-level interface for building agents with LangGraph and replaces the now-deprecated [`langgraph.prebuilt.create_react_agent()`](https://reference.langchain.com/python/langchain-classic/agents/react/agent/create_react_agent) API.\n\n`agent` now stores a LangGraph ReAct agent, which can reason about a task, call tools, observe their results, and iterate until it can provide an answer.\n\n### Step #7: Run the agent\n\nTo verify that the agent can use the Apify tools for web search and social media data retrieval, define a test prompt like this:\n\n```\nuser_prompt = (\n    \"Research Nike's social media presence on TikTok, LinkedIn, and Facebook.\\n\"\n    \"For each platform, retrieve the available profile information and recent relevant data. \"\n    \"Return a report summarizing the key information, including the profile URL, \"\n    \"follower count, and other relevant metrics.\"\n)\n```\n\nPass the prompt to the agent and stream its execution:\n\n```\nfor update in agent.stream(\n    {\n        \"messages\": [\n            {\n                \"role\": \"user\",\n                \"content\": user_prompt,\n            }\n        ]\n    },\n    stream_mode=\"updates\",\n):\n    for node_name, node_update in update.items():\n        print(f\"\\n{'=' * 20} {node_name} {'=' * 20}\")\n\n        if \"messages\" not in node_update:\n            continue\n\n        for message in node_update[\"messages\"]:\n            message.pretty_print()\n```\n\nThis lets you see the agent's responses, including the tool calls it makes and their results.\n\n### Step #8: Put it all together\n\nThis is the final Python script for your LangGraph agent workflow with Apify tools:\n\n```\n# pip install langchain langchain-apify langchain-openai python-dotenv\n\nfrom dotenv import load_dotenv\nfrom langchain_apify import (\n    APIFY_SEARCH_TOOLS,\n    APIFY_SOCIAL_TOOLS,\n)\nfrom langchain_openai import ChatOpenAI\nfrom langchain.agents import create_agent\n\n# Load API keys from .env\nload_dotenv()\n\n# Turn the Apify tool sets into LangGraph-ready tools\ntools = [tool_cls() for tool_cls in (APIFY_SEARCH_TOOLS + APIFY_SOCIAL_TOOLS)]\n\n# Define the OpenAI model that will serve as the agent's brain\nmodel = ChatOpenAI(model=\"gpt-5.4-mini\")\n\n# Specify the instructions that guide the agent's behavior\nagent_system_prompt = (\n    \"You are a helpful research assistant. Use Apify tools when you need to \"\n    \"fetch web or social media data.\"\n)\n\n# Create the LangGraph agent\nagent = create_agent(\n    model=model,\n    tools=tools,\n    system_prompt=agent_system_prompt,\n)\n\n# Specify the agent's task\nuser_prompt = (\n    \"Research Nike's social media presence on TikTok, LinkedIn, and Facebook.\\n\"\n    \"For each platform, retrieve the available profile information and recent relevant data. \"\n    \"Return a report summarizing the key information, including the profile URL, \"\n    \"follower count, and other relevant metrics.\"\n)\n\n# Stream the agent execution, including tool calls and results\nfor update in agent.stream(\n    {\n        \"messages\": [\n            {\n                \"role\": \"user\",\n                \"content\": user_prompt,\n            }\n        ]\n    },\n    stream_mode=\"updates\",\n):\n    for node_name, node_update in update.items():\n        print(f\"\\n{'=' * 20} {node_name} {'=' * 20}\")\n\n        if \"messages\" not in node_update:\n            continue\n\n        for message in node_update[\"messages\"]:\n            message.pretty_print()\n```\n\nRun the script. The agent's output will be streamed to the terminal.\n\nBefore the agent's final response, you'll see the individual steps it takes, including the Apify tools it calls:\n\nIn this case, the agent called these Apify tools:\n\n- `apify_tiktok_scraper` (wraps[TikTok Scraper](https://apify.com/clockworks/tiktok-scraper) )\n- `apify_linkedin_profile_search` (wraps[LinkedIn Profile Search Scraper](https://apify.com/harvestapi/linkedin-profile-search) )\n- `apify_facebook_posts_scraper` (wraps[Facebook Posts Scraper](https://apify.com/apify/facebook-posts-scraper) )\n\nFor each tool call, you'll see the data returned by the tool:\n\nThe agent uses the returned data to generate a contextual response, such as the following:\n\nNote how the final response includes real-world social media URLs and other platform-specific metrics. This demonstrates that the LangGraph + Apify agent workflow worked as expected.\n\n## How to set up MCP LangGraph integration with Apify MCP Server\n\nBelow, you'll learn how to connect a LangGraph agent to [Apify MCP Server](https://mcp.apify.com/) and give it access to the full range of tools available on Apify Store.\n\n### Step #4: Add the required library\n\nBegin by adding a required dependency:\n\n```\npip install \"langchain[mcp]\"\n```\n\n[`\"langchain\\[mcp\\]\"` fully replaces the old `langchain-mcp-adapters`](https://docs.langchain.com/oss/python/migrate/langchain-mcp-adapters), letting you connect your LangGraph agent to MCP servers and use their tools with LangChain.\n\nBecause MCP tool loading is asynchronous, update your script to use `asyncio`:\n\n``` python\nimport asyncio\n# Other imports...\n\nasync def main():\n    # LangGraph agent logic..\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n### Step #5: Load the Apify MCP server tools\n\nApify recommends connecting to its MCP server using [Streamable HTTP](https://modelcontextprotocol.io/specification/draft/basic/transports/streamable-http). For authentication, pass your Apify API token in the [`Authorization`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Authorization) header.\n\nRead the Apify API token from the `APIFY_TOKEN` environment variable and add a configuration for connection to Apify MCP Server:\n\n``` python\nimport os\nfrom langchain.mcp import MCPAdapter\n\n# Read the Apify token from the envs\nAPIFY_TOKEN = os.environ[\"APIFY_TOKEN\"]\n\n# Define the Apify MCP Server configuration via Streamable HTTP\nmcp_client = MCPAdapter(\n    {\n        \"apify\": {\n            \"transport\": \"http\",\n            \"url\": \"https://mcp.apify.com\", # The URL of Apify MCP Server\n            \"headers\": {\n                \"Authorization\": (f\"Bearer {APIFY_TOKEN}\"),\n            },\n        },\n        # Other MCP server configs here...\n    }\n)\n```\n\n[`MCPAdapter`](https://reference.langchain.com/python/langchain/mcp/adapter/MCPAdapter) is a client provided by `langchain[mcp]` that lets you connect to one or more MCP servers. In this example, only Apify MCP server is set up, but you can add additional MCP servers later.\n\n**Note**: The `langchain.mcp` namespace requires `langchain[mcp]>=1.4.0`.\n\nNext, load the tools exposed by the configured MCP servers:\n\n```\n# Load all the MCP tools\ntools = await mcp_client.list_tools()\n```\n\n`list_tools()` returns the MCP tools as LangChain-compatible tools. That means you can pass the returned `tools` list directly to your LangGraph agent.\n\nTo verify that the Apify MCP server tools were loaded correctly, consider printing their names:\n\n```\nprint(\"\\nAvailable Apify MCP tools:\")\nfor tool in tools:\n    print(f\"- {tool.name}\")\n```\n\nThe output will list the tools exposed by Apify MCP Server by default:\n\n### Step #6: Define the agent\n\nInitialize the LangGraph agent by configuring the OpenAI model, system prompt, and MCP tools:\n\n```\n# Define the OpenAI model that will serve as the agent's brain\nmodel = ChatOpenAI(model=\"gpt-5.4-mini\")\n\n# Specify the instructions that guide the agent's behavior\nagent_system_prompt = (\n    \"You are a helpful research assistant. Use Apify MCP Server tools for \"\n    \"web scraping, data extraction, and automation tasks.\"\n)\n\n# Create the LangGraph agent\nagent = create_agent(\n    model=model,\n    tools=tools,\n    system_prompt=agent_system_prompt,\n)\n```\n\n### Step #7: Run the MCP LangGraph agent workflow\n\nTo test the integration, give the agent a task that requires web access or any automation scenario supported by one or more Apify Actors. For example:\n\n```\nuser_prompt = (\n    \"Find Nike's latest post on TikTok and return relevant metrics, \"\n    \"including sentiment analysis of the top comments.\"\n)\n```\n\nPass the prompt to the agent and stream its output to the terminal:\n\n```\nasync for update in agent.astream(\n    {\n        \"messages\": [\n            {\n                \"role\": \"user\",\n                \"content\": user_prompt,\n            }\n        ]\n    },\n    stream_mode=\"updates\",\n):\n    for node_name, node_update in update.items():\n        print(f\"\\n{'=' * 20} {node_name} {'=' * 20}\")\n\n        if \"messages\" not in node_update:\n            continue\n\n        for message in node_update[\"messages\"]:\n            message.pretty_print()\n```\n\n### Step #8: Final Code\n\nThe complete Python script for the MCP LangGraph agent workflow is:\n\n```\n# pip install langchain langchain-openai python-dotenv \"langchain[mcp]\"\n\nimport asyncio\nfrom dotenv import load_dotenv\nimport os\nfrom langchain.mcp import MCPAdapter\nfrom langchain_openai import ChatOpenAI\nfrom langchain.agents import create_agent\n\n# Load API keys from .env\nload_dotenv()\n\nasync def main():\n    # Read the Apify token from the envs\n    APIFY_TOKEN = os.environ[\"APIFY_TOKEN\"]\n\n    # Define the Apify MCP Server configuration via Streamable HTTP\n    mcp_client = MCPAdapter(\n        {\n            \"apify\": {\n                \"transport\": \"http\",\n                \"url\": \"https://mcp.apify.com\", # The URL of Apify MCP Server\n                \"headers\": {\n                    \"Authorization\": (f\"Bearer {APIFY_TOKEN}\"),\n                },\n            },\n            # Other MCP server configs here...\n        }\n    )\n    # Load all the MCP tools\n    tools = await mcp_client.list_tools()\n\n    # Define the OpenAI model that will serve as the agent's brain\n    model = ChatOpenAI(model=\"gpt-5.4-mini\")\n\n    # Specify the instructions that guide the agent's behavior\n    agent_system_prompt = (\n        \"You are a helpful research assistant. Use Apify MCP Server tools for \"\n        \"web scraping, data extraction, and automation tasks.\"\n    )\n\n    # Create the LangGraph agent\n    agent = create_agent(\n        model=model,\n        tools=tools,\n        system_prompt=agent_system_prompt,\n    )\n\n    # Specify the agent's task\n    user_prompt = (\n        \"Find Nike's latest post on TikTok and return relevant metrics, \"\n        \"including sentiment analysis of the top comments.\"\n    )\n\n    # Stream the agent execution, including tool calls and results\n    async for update in agent.astream(\n        {\n            \"messages\": [\n                {\n                    \"role\": \"user\",\n                    \"content\": user_prompt,\n                }\n            ]\n        },\n        stream_mode=\"updates\",\n    ):\n        for node_name, node_update in update.items():\n            print(f\"\\n{'=' * 20} {node_name} {'=' * 20}\")\n\n            if \"messages\" not in node_update:\n                continue\n\n            for message in node_update[\"messages\"]:\n                message.pretty_print()\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\nExecute the script. The agent should first call the `search-actors` tool with the “TikTok” keyword to find relevant Apify Actors:\n\nFrom the search results, the agent selects [TikTok Comments Scraper](https://apify.com/clockworks/tiktok-comments-scraper) (`clockworks/tiktok-comments-scraper`) as the right Actor for the task. It then calls `fetch-actor-details` to learn what the Actor does and how to use it:\n\nNext, the agent uses the `apify--web-fetch` tool powered by Web Fetch Actor, to retrieve the Nike TikTok account page:\n\nFrom the returned HTML converted to Markdown, the agent discovers Nike's latest TikTok post. It then passes the post URL to `clockworks/tiktok-comments-scraper` and calls the Actor to retrieve the latest 20 comments via the `call-actor` tool:\n\nThe agent then calls `get-dataset-items` to retrieve the dataset containing the scraped comments and related data:\n\nFinally, the MCP LangGraph agent analyzes the retrieved data and combines the relevant information into the final response:\n\nThe produced output includes the available metrics for Nike's latest TikTok post, along with sentiment analysis of the retrieved comments. Verify the results by checking the original post:\n\n## Next steps\n\nThe LangGraph and Apify integrations above show how to build simple agents that use Apify tools. You can extend these workflows with more advanced LangGraph capabilities, such as:\n\n- **Custom workflows** : Combine deterministic steps, agentic nodes, conditional routing, and Apify tools to build more controlled workflows.\n- [**Persistence and memory**](https://docs.langchain.com/oss/python/langgraph/persistence) : Save graph state and maintain context across runs, including workflows that work with Apify data over multiple steps.\n- **Human-in-the-loop** : Pause execution with[`interrupt()`](https://docs.langchain.com/oss/python/langgraph/interrupts) to review or approve actions, such as running an Apify Actor, before resuming the workflow.\n- **Multi-agent workflows** : Build specialized agents that collaborate on tasks.\n- **Durable execution** : Resume long-running workflows after failures without restarting from scratch, which is great for use cases involving longer-running Apify Actors.\n\n## Conclusion\n\nThese workflows give LangGraph agents access to real-time web data and a broad marketplace of ready-made AI tools through Apify. You can connect Apify through the official `langchain-apify` integration for direct access to specific tools, or use Apify MCP Server to let agents discover and use Actors dynamically.\n\n## FAQ\n\n### Does Apify support LangGraph?\n\nYes. Apify supports LangGraph through the `langchain-apify` package, which provides LangChain-compatible tools for Apify Actors. You can use these tools in LangGraph agents and workflows.\n\n### How does the official Apify LangChain integration work?\n\nThe `langchain-apify` package wraps Apify Actors as LangChain tools with simplified input schemas. You can give these tools to an agent, letting it call Apify Actors for tasks such as web search, scraping, social media data extraction, and more.\n\n### Does `langchain-apify` also work with LangGraph?\n\nYes. `langchain-apify` supports both LangChain and LangGraph. The same package provides tools that you can bind to your LangGraph agent workflow, including dedicated tools, complete tool sets, and a generic tool for running other Apify Actors.\n\n### What are the benefits of connecting a LangGraph agent to Apify MCP Server?\n\nApify MCP Server lets a LangGraph agent discover and run Actors dynamically, access Actor results and storage, and use web data tools. This gives agents access to a broad marketplace of ready-made tools without requiring you to integrate each Actor individually.", "url": "https://wpnews.pro/news/give-your-langgraph-agent-real-time-web-data-with-apify", "canonical_source": "https://blog.apify.com/langgraph-agent-web-data/", "published_at": "2026-09-30 10:07:16+00:00", "updated_at": "2026-09-30 10:18:59.537905+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["Apify", "LangGraph", "LangChain", "langchain-apify", "Apify MCP Server", "ApifyActorsTool", "@apify/actors-mcp-server", "OpenAI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/give-your-langgraph-agent-real-time-web-data-with-apify", "markdown": "https://wpnews.pro/news/give-your-langgraph-agent-real-time-web-data-with-apify.md", "text": "https://wpnews.pro/news/give-your-langgraph-agent-real-time-web-data-with-apify.txt", "jsonld": "https://wpnews.pro/news/give-your-langgraph-agent-real-time-web-data-with-apify.jsonld"}}