From 56cce8543012c00aafbf3ce5646e08c567ea5fc2 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 22:26:30 +0300 Subject: [PATCH 1/6] docs: add NewsCatcher CatchAll tool integration guide --- .../tools/newscatcher_catchall.mdx | 260 ++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 src/oss/python/integrations/tools/newscatcher_catchall.mdx diff --git a/src/oss/python/integrations/tools/newscatcher_catchall.mdx b/src/oss/python/integrations/tools/newscatcher_catchall.mdx new file mode 100644 index 0000000000..4e34efdc3f --- /dev/null +++ b/src/oss/python/integrations/tools/newscatcher_catchall.mdx @@ -0,0 +1,260 @@ +--- +title: NewsCatcher CatchAll +--- + +This guide provides a quick overview for getting started with NewsCatcher CatchAll [tools](/oss/langchain/tools). + +## Overview + +CatchAll searches millions of web pages to find real-world events across industries: clinical trials, regulatory filings, policy changes, business transactions, and more. It returns structured data from distributed sources that aggregator sites and traditional web search don't cover +For detailed documentation of all CatchAll features and configurations, refer to [LangChain integration guide](https://www.newscatcherapi.com/docs/v3/catch-all/integrations/langchain). + +### Details + +| Class | Package | Serializable | [JS support](https://js.langchain.com/docs/integrations/tools/) | Downloads | Version | +| :--- | :--- | :---: | :---: | :---: | :---: | +| [CatchAllTools](https://github.com/NewscatcherAPI/langchain-catchall) | [langchain-catchall](https://pypi.org/project/langchain-catchall/) | ❌ | ❌ | ![PyPI - Downloads](https://img.shields.io/pypi/dm/langchain-catchall?style=flat-square&label=%20) | ![PyPI - Version](https://img.shields.io/pypi/v/langchain-catchall?style=flat-square&label=%20) | + +### Features + +- Searches millions of web pages to find real-world events. +- Returns structured data with dynamic schemas. +- Built-in caching - search once, analyze many times at no additional cost. +- Two tools optimized for agent workflows: search and analyze. +- Processes 50,000+ sources in 10-15 minutes. + +--- + +## Setup + +To access CatchAll tools, you need to create a NewsCatcher account, get an API key, and install the `langchain-catchall` integration package. + +### Credentials + +Sign up at [platform.newscatcherapi.com](https://platform.newscatcherapi.com) to get your API key. + +```python +import getpass +import os + +if "CATCHALL_API_KEY" not in os.environ: + os.environ["CATCHALL_API_KEY"] = getpass.getpass("Enter your CatchAll API key: ") +``` + +Optionally, enable LangSmith tracing to monitor tool calls: + +```python +os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ") +os.environ["LANGSMITH_TRACING"] = "true" +``` + +### Installation + +The CatchAll tools live in the `langchain-catchall` package: + + + ```python pip + pip install -U langchain-catchall + ``` + ```python uv + uv add langchain-catchall + ``` + + +--- + +## Instantiation + +Initialize the CatchAll toolkit with your API key and a language model for result analysis: + +```python +import os +from langchain_catchall import CatchAllTools +from langchain_openai import ChatOpenAI + +llm = ChatOpenAI(model="gpt-4o") + +toolkit = CatchAllTools( + api_key=os.environ["CATCHALL_API_KEY"], + llm=llm, + max_results=100, # Balance between context size and completeness + verbose=True, # Show progress during operations + transform_query=False, # Disable automatic query transformation +) + +tools = toolkit.get_tools() +``` + +The toolkit provides two complementary tools: + +1. **`catchall_search_data`** - Searches web sources and caches results (10-15 minutes). +2. **`catchall_analyze_data`** - Queries cached results instantly. + +--- + +## Invocation + +### Directly + +You can invoke the search tool directly to submit a query: + +```python +from langchain_catchall import CatchAllTools + +toolkit = CatchAllTools( + api_key=os.environ["CATCHALL_API_KEY"], + llm=llm, + transform_query=False, +) + +search_tool = toolkit.get_tools()[0] # catchall_search_data + +result = search_tool.invoke({ + "query": "Find Phase 3 clinical trial results for oncology drugs" +}) + +print(result) +``` + +### As a ToolCall + +You can invoke the tool with a model-generated `ToolCall`: + +```python +# The tool call is generated by the model, but here we create it directly for demo purposes. +model_generated_tool_call = { + "args": { + "query": "Find Phase 3 clinical trial results for oncology drugs" + }, + "id": "1", + "name": search_tool.name, + "type": "tool_call", +} + +result = search_tool.invoke(model_generated_tool_call) +``` + +### Within an agent + +Use both tools together in a LangGraph agent for the most powerful pattern - search once, then analyze the cached data multiple times: + +```python +from langgraph.prebuilt import create_react_agent +from langchain_core.messages import SystemMessage +from langchain_catchall import CatchAllTools, CATCHALL_AGENT_PROMPT + +# Create agent with both tools +agent = create_react_agent(model=llm, tools=tools) + +# Use provided prompt to teach optimal tool usage +messages = [SystemMessage(content=CATCHALL_AGENT_PROMPT)] + +# Initial search (takes 10-15 minutes) +response = agent.invoke({ + "messages": messages + [ + ("user", "Find Phase 3 clinical trial results for oncology drugs") + ] +}) + +print(response["messages"][-1].content) +``` + +```output +I found 105 records related to Phase 3 clinical trial results for oncology drugs. Please let me know if you have any specific questions or need further analysis on this data! +``` + + +### Follow-up analysis + +Once data is cached, subsequent questions are answered instantly without additional API costs: + +```python +# These queries use cached data - instant results, no additional cost +response = agent.invoke({ + "messages": messages + [ + ("user", "Show only FDA-approved trials") + ] +}) + +print(response["messages"][-1].content) +``` + +```output +Here are the Phase 3 clinical trials for oncology drugs that have received FDA approval: + +1. Giredestrant: Roche is working with regulators for approval, having shown reduced risk of recurrence or progression in ER-positive, HER2-negative early-stage breast cancer. + +2. Breyanzi (lisocabtagene maraleucel): Approved by the FDA for marginal zone lymphoma. + +3. UNLOXCYT™ (cosibelimab-ipdl): Sun Pharma received FDA approval for an updated label for advanced cutaneous squamous cell carcinoma. + +4. Durvalumab (Imfinzi): Approved by the FDA in combination with FLOT chemotherapy for resectable gastric and gastroesophageal junction cancers. +``` + +```python +response = agent.invoke({ + "messages": messages + [ + ("user", "What are the most common drug types?") + ] +}) + +print(response["messages"][-1].content) +``` + +```output +The most common drug types in the FDA-approved Phase 3 oncology trials include: + +1. Gotistobart (BNT316/ONC-392) - For squamous non-small cell lung cancer +2. Giredestrant - For ER-positive, HER2-negative early-stage breast cancer +3. Nivolumab - For advanced-stage classic Hodgkin lymphoma +4. Kisqali (ribociclib) - For HR+/HER2- metastatic breast cancer +5. Ameluz-PDT - For superficial basal cell carcinoma +``` + +--- + +## CatchAll-specific features + +### Agent prompt + +Use the provided `CATCHALL_AGENT_PROMPT` to teach agents optimal tool usage. The prompt is maintained in the [package source code](https://github.com/Newscatcher/langchain-catchall/blob/main/langchain_catchall/prompts.py) and may be updated over time. + +Key patterns the prompt teaches: + +- Search broadly first with `catchall_search_data`. +- Use `catchall_analyze_data` for filtering, sorting, and follow-up questions. +- Never search twice in a row (cache is automatically maintained). + +### Processing time + +- **Search operations take 10-15 minutes** - The `catchall_search_data` tool processes 50,000+ web pages per job. +- **Analysis is instant** - Once data is cached, `catchall_analyze_data` queries it immediately. +- **Cost optimization** - Search once, analyze unlimited times without additional API costs. + +### Query transformation + +By default, the toolkit transforms queries automatically. To disable this behavior, set `transform_query=False` when initializing: + +```python +toolkit = CatchAllTools( + api_key=os.environ["CATCHALL_API_KEY"], + llm=llm, + transform_query=False, # Use queries as-is +) +``` + +When enabled, the toolkit: + +- Adds "Find all" prefix. +- Appends date range (defaults to 5 days if not specified). + +--- + +## API reference + +For detailed documentation: + +- [CatchAll API reference](https://www.newscatcherapi.com/docs/v3/catch-all/endpoints/create-job) +- [LangChain integration guide](https://www.newscatcherapi.com/docs/v3/catch-all/integrations/langchain) +- [GitHub repository](https://github.com/NewscatcherAPI/langchain-catchall) +- [Provider documentation](/oss/integrations/providers/newscatcher) \ No newline at end of file From 72d6de685ac56b5d2f51b63b10c4a19316211b73 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 22:26:48 +0300 Subject: [PATCH 2/6] docs: add NewsCatcher provider documentation --- .../integrations/providers/newscatcher.mdx | 248 ++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 src/oss/python/integrations/providers/newscatcher.mdx diff --git a/src/oss/python/integrations/providers/newscatcher.mdx b/src/oss/python/integrations/providers/newscatcher.mdx new file mode 100644 index 0000000000..dcad148096 --- /dev/null +++ b/src/oss/python/integrations/providers/newscatcher.mdx @@ -0,0 +1,248 @@ +--- +title: NewsCatcher +--- + +NewsCatcher's [CatchAll](https://www.newscatcherapi.com/docs/v3/catch-all/overview/introduction) is an AI web search tool that finds real-world events and extracts structured data. It scans millions of pages to find any events you search for, ranging from regulatory filings and policy changes to clinical trials and product launches, across every major industry. + +## Installation and setup + +Install the LangChain integration package: + + + ```bash pip + pip install -qU langchain-catchall + ``` + ```bash uv + uv add langchain-catchall + ``` + + +Sign up at [platform.newscatcherapi.com](https://platform.newscatcherapi.com) to get your API key, then set it as an environment variable: + +```python +import os + +os.environ["CATCHALL_API_KEY"] = "your-api-key" +``` + +--- + +## CatchAllClient + +For programmatic access and data pipeline integration, use `CatchAllClient`: + +```python +from langchain_catchall import CatchAllClient + +client = CatchAllClient( + api_key=os.environ["CATCHALL_API_KEY"], + poll_interval=30, # Check status every 30 seconds + max_wait_time=2400, # Timeout after 40 minutes +) +``` + + + `CatchAllClient` submits queries directly to the API without transformation, while `CatchAllTools` adds automatic query transformation (prefix and date ranges). For details, see the [tool documentation](/oss/integrations/tools/newscatcher_catchall#query-transformation). + + +### Search and retrieve + +Submit a search query and wait for results: + +```python +# Search with automatic polling and retrieval +result = client.search("FDA drug approvals for rare disease treatments") + +print(f"Found {result.valid_records} records") +for record in result.all_records[:3]: + print(f"- {record.record_title}") +``` + +### Granular control + +For data pipelines, submit jobs and retrieve results separately: + +```python +# Submit job +job_id = client.submit_job( + query="Phase 3 clinical trial results for oncology drugs", + context="Focus on FDA approval status and trial outcomes", + schema="[DRUG_NAME] showed [OUTCOME] in [INDICATION] trial", +) + +# Wait for completion +client.wait_for_completion(job_id) + +# Retrieve all results +result = client.get_all_results(job_id) +``` + +### Async support + +Use `AsyncCatchAllClient` for concurrent operations: + +```python +import asyncio +from langchain_catchall import AsyncCatchAllClient + +async def search_multiple(): + client = AsyncCatchAllClient(api_key=os.environ["CATCHALL_API_KEY"]) + + queries = [ + "FDA drug approvals for oncology", + "Clinical trial failures in Phase 3", + "Breakthrough therapy designations", + ] + + # Submit jobs concurrently + job_ids = await asyncio.gather(*[ + client.submit_job(query) for query in queries + ]) + + # Wait for all completions + await asyncio.gather(*[ + client.wait_for_completion(job_id) for job_id in job_ids + ]) + + # Retrieve results + results = await asyncio.gather(*[ + client.get_all_results(job_id) for job_id in job_ids + ]) + + return results + +# Run async function +results = asyncio.run(search_multiple()) +``` + +For complete client documentation, see the [LangChain integration guide](https://www.newscatcherapi.com/docs/v3/catch-all/integrations/langchain). + +--- + +## Tools + +For agent integration, use the `CatchAllTools` toolkit with LangGraph: + +```python +from langchain_catchall import CatchAllTools +from langchain_openai import ChatOpenAI + +llm = ChatOpenAI(model="gpt-4o") + +toolkit = CatchAllTools( + api_key=os.environ["CATCHALL_API_KEY"], + llm=llm, + max_results=100, + verbose=True, + transform_query=False, +) + +tools = toolkit.get_tools() +``` + +The toolkit provides two complementary tools optimized for agent workflows: + +### `catchall_search_data` + +Initializes new search operations. Processes 50,000+ web pages in 10-15 minutes: + +```python +from langgraph.prebuilt import create_react_agent +from langchain_core.messages import SystemMessage +from langchain_catchall import CATCHALL_AGENT_PROMPT + +agent = create_react_agent(model=llm, tools=tools) +messages = [SystemMessage(content=CATCHALL_AGENT_PROMPT)] + +response = agent.invoke({ + "messages": messages + [ + ("user", "Find Phase 3 clinical trial results for oncology drugs") + ] +}) +``` + +### `catchall_analyze_data` + +Queries cached results instantly. Use for filtering, sorting, and analysis without additional API costs: + +```python +# Follow-up queries use cached data +response = agent.invoke({ + "messages": messages + [ + ("user", "Show only FDA-approved trials") + ] +}) +``` + +See the [tool documentation](/oss/integrations/tools/newscatcher_catchall) for usage examples and agent patterns. + +--- + +## Agent prompt + +The `CATCHALL_AGENT_PROMPT` teaches agents optimal tool usage patterns for cost-effective operation. The prompt is maintained in the [package source code](https://github.com/Newscatcher/langchain-catchall/blob/main/langchain_catchall/prompts.py) and may be updated over time. + +Key patterns: + +- Search broadly first with `catchall_search_data`. +- Use `catchall_analyze_data` for filtering, sorting, and follow-up questions. +- Never search twice in a row (cache is automatically maintained). + +--- + +## Cost optimization + +The most powerful pattern: search once, analyze many times without additional costs: + +```python +from langchain_catchall import CatchAllClient, query_with_llm +from langchain_openai import ChatOpenAI + +client = CatchAllClient(api_key=os.environ["CATCHALL_API_KEY"]) +llm = ChatOpenAI(model="gpt-4o") + +# Search once (10-15 minutes, costs API credits) +result = client.search("Phase 3 clinical trial results for oncology drugs") + +# Analyze many times (instant, no additional cost) +questions = [ + "Which drugs showed the most promising results?", + "What are the most common cancer types being treated?", + "Which trials are FDA-approved?", + "What are the average trial durations?", + "Which pharmaceutical companies are most active?", +] + +for question in questions: + answer = query_with_llm(result, question, llm) + print(f"\nQ: {question}") + print(f"A: {answer}") +``` + +This pattern is ideal for: + +- Pharmaceutical research (analyze clinical trial data from multiple angles). +- Regulatory intelligence (extract different insights from one search). +- Competitive analysis (iterate on questions without re-fetching). + +--- + +## Resources + + + + Complete guide to using CatchAll tools with LangGraph agents. + + + + Full API endpoint documentation and parameters. + + + + Detailed LangChain integration patterns and examples. + + + + Source code and community contributions. + + \ No newline at end of file From c7b2ff553eb065b237ea5914bd937f78638eb528 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 22:27:10 +0300 Subject: [PATCH 3/6] docs: add NewsCatcher CatchAll to tools index --- src/oss/python/integrations/tools/index.mdx | 400 ++++++++++---------- 1 file changed, 200 insertions(+), 200 deletions(-) diff --git a/src/oss/python/integrations/tools/index.mdx b/src/oss/python/integrations/tools/index.mdx index d4acc4193e..b6b27da607 100644 --- a/src/oss/python/integrations/tools/index.mdx +++ b/src/oss/python/integrations/tools/index.mdx @@ -10,241 +10,241 @@ A toolkit is a collection of tools meant to be used together. The following table shows tools that execute online searches in some shape or form: -| Tool/Toolkit | Free/Paid | Return Data | -|-------------|-----------|-------------| -| [Bing Search](/oss/integrations/tools/bing_search) | Paid | URL, Snippet, Title | -| [Brave Search](/oss/integrations/tools/brave_search) | Free | URL, Snippet, Title | -| [DuckDuckgoSearch](/oss/integrations/tools/ddg) | Free | URL, Snippet, Title | -| [Exa Search](/oss/integrations/tools/exa_search) | 1000 free searches/month | URL, Author, Title, Published Date | -| [Google Search](/oss/integrations/tools/google_search) | Paid | URL, Snippet, Title | -| [Google Serper](/oss/integrations/tools/google_serper) | Free | URL, Snippet, Title, Search Rank, Site Links | -| [Jina Search](/oss/integrations/tools/jina_search) | 1M Response Tokens Free | URL, Snippet, Title, Page Content | -| [Mojeek Search](/oss/integrations/tools/mojeek_search) | Paid | URL, Snippet, Title | -| [Parallel Search](/oss/integrations/tools/parallel_search) | Paid | URL, Title, Excerpts | -| [SearchApi](/oss/integrations/tools/searchapi) | 100 Free Searches on Sign Up | URL, Snippet, Title, Search Rank, Site Links, Authors | -| [SearxNG Search](/oss/integrations/tools/searx_search) | Free | URL, Snippet, Title, Category | -| [SerpAPI](/oss/integrations/tools/serpapi) | 100 Free Searches/Month | Answer | -| [Tavily Search](/oss/integrations/tools/tavily_search) | 1000 free searches/month | URL, Content, Title, Images, Answer | -| [You.com Search](/oss/integrations/tools/you) | Free for 60 days | URL, Title, Page Content | +| Tool/Toolkit | Free/Paid | Return Data | +| -------------------------------------------------------------------- | ---------------------------- | ----------------------------------------------------------- | +| [Bing Search](/oss/integrations/tools/bing_search) | Paid | URL, Snippet, Title | +| [Brave Search](/oss/integrations/tools/brave_search) | Free | URL, Snippet, Title | +| [DuckDuckgoSearch](/oss/integrations/tools/ddg) | Free | URL, Snippet, Title | +| [Exa Search](/oss/integrations/tools/exa_search) | 1000 free searches/month | URL, Author, Title, Published Date | +| [Google Search](/oss/integrations/tools/google_search) | Paid | URL, Snippet, Title | +| [Google Serper](/oss/integrations/tools/google_serper) | Free | URL, Snippet, Title, Search Rank, Site Links | +| [Jina Search](/oss/integrations/tools/jina_search) | 1M Response Tokens Free | URL, Snippet, Title, Page Content | +| [Mojeek Search](/oss/integrations/tools/mojeek_search) | Paid | URL, Snippet, Title | +| [NewsCatcher CatchAll](/oss/integrations/tools/newscatcher_catchall) | 2000 free credits on sign up | Structured records with dynamic fields and source citations | +| [Parallel Search](/oss/integrations/tools/parallel_search) | Paid | URL, Title, Excerpts | +| [SearchApi](/oss/integrations/tools/searchapi) | 100 Free Searches on Sign Up | URL, Snippet, Title, Search Rank, Site Links, Authors | +| [SearxNG Search](/oss/integrations/tools/searx_search) | Free | URL, Snippet, Title, Category | +| [SerpAPI](/oss/integrations/tools/serpapi) | 100 Free Searches/Month | Answer | +| [Tavily Search](/oss/integrations/tools/tavily_search) | 1000 free searches/month | URL, Content, Title, Images, Answer | +| [You.com Search](/oss/integrations/tools/you) | Free for 60 days | URL, Title, Page Content | ## Code Interpreter The following table shows tools that can be used as code interpreters: -| Tool/Toolkit | Supported Languages | Sandbox Lifetime | Supports File Uploads | Return Types | Supports Self-Hosting | -|-------------|-------------------|-----------------|---------------------|--------------|-------------------| -| [Azure Container Apps dynamic sessions](/oss/integrations/tools/azure_dynamic_sessions) | Python | 1 Hour | ✅ | Text, Images | ❌ | -| [Bearly Code Interpreter](/oss/integrations/tools/bearly) | Python | Resets on Execution | ✅ | Text | ❌ | -| [Riza Code Interpreter](/oss/integrations/tools/riza) | Python, JavaScript, PHP, Ruby | Resets on Execution | ✅ | Text | ✅ | +| Tool/Toolkit | Supported Languages | Sandbox Lifetime | Supports File Uploads | Return Types | Supports Self-Hosting | +| --------------------------------------------------------------------------------------- | ----------------------------- | ------------------- | --------------------- | ------------ | --------------------- | +| [Azure Container Apps dynamic sessions](/oss/integrations/tools/azure_dynamic_sessions) | Python | 1 Hour | ✅ | Text, Images | ❌ | +| [Bearly Code Interpreter](/oss/integrations/tools/bearly) | Python | Resets on Execution | ✅ | Text | ❌ | +| [Riza Code Interpreter](/oss/integrations/tools/riza) | Python, JavaScript, PHP, Ruby | Resets on Execution | ✅ | Text | ✅ | ## Productivity The following table shows tools that can be used to automate tasks in productivity tools: -| Tool/Toolkit | Pricing | -|-------------|---------| -| [GitHub Toolkit](/oss/integrations/tools/github) | Free | -| [GitLab Toolkit](/oss/integrations/tools/gitlab) | Free for personal project | -| [Gmail Toolkit](/oss/integrations/tools/google_gmail) | Free, with limit of 250 quota units per user per second | -| [Infobip Tool](/oss/integrations/tools/infobip) | Free trial, with variable pricing after | -| [Jira Toolkit](/oss/integrations/tools/jira) | Free, with [rate limits](https://developer.atlassian.com/cloud/jira/platform/rate-limiting/) | +| Tool/Toolkit | Pricing | +| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| [GitHub Toolkit](/oss/integrations/tools/github) | Free | +| [GitLab Toolkit](/oss/integrations/tools/gitlab) | Free for personal project | +| [Gmail Toolkit](/oss/integrations/tools/google_gmail) | Free, with limit of 250 quota units per user per second | +| [Infobip Tool](/oss/integrations/tools/infobip) | Free trial, with variable pricing after | +| [Jira Toolkit](/oss/integrations/tools/jira) | Free, with [rate limits](https://developer.atlassian.com/cloud/jira/platform/rate-limiting/) | | [Office365 Toolkit](/oss/integrations/tools/office365) | Free with Office365, includes [rate limits](https://learn.microsoft.com/en-us/graph/throttling-limits) | -| [Slack Toolkit](/oss/integrations/tools/slack) | Free | -| [Twilio Tool](/oss/integrations/tools/twilio) | Free trial, with [pay-as-you-go pricing](https://www.twilio.com/en-us/pricing) after | +| [Slack Toolkit](/oss/integrations/tools/slack) | Free | +| [Twilio Tool](/oss/integrations/tools/twilio) | Free trial, with [pay-as-you-go pricing](https://www.twilio.com/en-us/pricing) after | ## Web Browsing The following table shows tools that can be used to automate tasks in web browsers: -| Tool/Toolkit | Pricing | Supports Interacting with the Browser | -|-------------|---------|---------------------------------------| -| [AgentQL Toolkit](/oss/integrations/tools/agentql) | Free trial, with pay-as-you-go and flat rate plans after | ✅ | -| [Hyperbrowser Browser Agent Tools](/oss/integrations/tools/hyperbrowser_browser_agent_tools) | Free trial, with flat rate plans and pre-paid credits after | ✅ | -| [Hyperbrowser Web Scraping Tools](/oss/integrations/tools/hyperbrowser_web_scraping_tools) | Free trial, with flat rate plans and pre-paid credits after | ❌ | -| [MultiOn Toolkit](/oss/integrations/tools/multion) | 40 free requests/day | ✅ | -| [Oxylabs Web Scraper API](/oss/integrations/tools/oxylabs) | Free trial, with flat rate plans and pre-paid credits after | ❌ | -| [PlayWright Browser Toolkit](/oss/integrations/tools/playwright) | Free | ✅ | -| [Requests Toolkit](/oss/integrations/tools/requests) | Free | ❌ | +| Tool/Toolkit | Pricing | Supports Interacting with the Browser | +| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------- | +| [AgentQL Toolkit](/oss/integrations/tools/agentql) | Free trial, with pay-as-you-go and flat rate plans after | ✅ | +| [Hyperbrowser Browser Agent Tools](/oss/integrations/tools/hyperbrowser_browser_agent_tools) | Free trial, with flat rate plans and pre-paid credits after | ✅ | +| [Hyperbrowser Web Scraping Tools](/oss/integrations/tools/hyperbrowser_web_scraping_tools) | Free trial, with flat rate plans and pre-paid credits after | ❌ | +| [MultiOn Toolkit](/oss/integrations/tools/multion) | 40 free requests/day | ✅ | +| [Oxylabs Web Scraper API](/oss/integrations/tools/oxylabs) | Free trial, with flat rate plans and pre-paid credits after | ❌ | +| [PlayWright Browser Toolkit](/oss/integrations/tools/playwright) | Free | ✅ | +| [Requests Toolkit](/oss/integrations/tools/requests) | Free | ❌ | ## Database The following table shows tools that can be used to automate tasks in databases: -| Tool/Toolkit | Allowed Operations | -|-------------|-------------------| +| Tool/Toolkit | Allowed Operations | +| ------------------------------------------------------------------------ | ------------------------------- | | [Cassandra Database Toolkit](/oss/integrations/tools/cassandra_database) | SELECT and schema introspection | -| [MCP Toolbox](/oss/integrations/tools/mcp_toolbox) | Any SQL operation | -| [SQLDatabase Toolkit](/oss/integrations/tools/sql_database) | Any SQL operation | -| [Spark SQL Toolkit](/oss/integrations/tools/spark_sql) | Any SQL operation | +| [MCP Toolbox](/oss/integrations/tools/mcp_toolbox) | Any SQL operation | +| [SQLDatabase Toolkit](/oss/integrations/tools/sql_database) | Any SQL operation | +| [Spark SQL Toolkit](/oss/integrations/tools/spark_sql) | Any SQL operation | ## Finance The following table shows tools that can be used to execute financial transactions such as payments, purchases, and more: -| Tool/Toolkit | Pricing | Capabilities | -|-------------|---------|--------------| -| [GOAT](/oss/integrations/tools/goat) | Free | Create and receive payments, purchase physical goods, make investments, and more. | -| [Privy](/oss/integrations/tools/privy) | Free | Create wallets with configurable permissions and execute transactions with speed. | +| Tool/Toolkit | Pricing | Capabilities | +| -------------------------------------- | ------- | --------------------------------------------------------------------------------- | +| [GOAT](/oss/integrations/tools/goat) | Free | Create and receive payments, purchase physical goods, make investments, and more. | +| [Privy](/oss/integrations/tools/privy) | Free | Create wallets with configurable permissions and execute transactions with speed. | ## Integration Platforms The following platforms provide access to multiple tools and services through a unified interface: -| Tool/Toolkit | Number of Integrations | Pricing | Key Features | -|-------------|----------------------|---------|--------------| -| [Composio](/oss/integrations/tools/composio) | 500+ | Free tier available | OAuth handling, event-driven workflows, multi-user support | +| Tool/Toolkit | Number of Integrations | Pricing | Key Features | +| -------------------------------------------- | ---------------------- | ------------------- | ---------------------------------------------------------- | +| [Composio](/oss/integrations/tools/composio) | 500+ | Free tier available | OAuth handling, event-driven workflows, multi-user support | ## All tools and toolkits - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - If you'd like to contribute an integration, see [Contributing integrations](/oss/contributing#add-a-new-integration). - +If you'd like to contribute an integration, see [Contributing integrations](/oss/contributing#add-a-new-integration). From 470cac08c34f5fecbf0b499c4a9b497a30b35e24 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 22:27:24 +0300 Subject: [PATCH 4/6] docs: add NewsCatcher to providers index --- src/oss/python/integrations/providers/all_providers.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/oss/python/integrations/providers/all_providers.mdx b/src/oss/python/integrations/providers/all_providers.mdx index 8453cd6766..c589e52d81 100644 --- a/src/oss/python/integrations/providers/all_providers.mdx +++ b/src/oss/python/integrations/providers/all_providers.mdx @@ -1897,6 +1897,14 @@ Browse the complete collection of integrations available for Python. LangChain P Decentralized AI computing network. + + Web search API for finding real-world events with structured data extraction. + + Reference management and research tool. + From c49c56b88b0c62b2c9628cf0c4871440d3d5ca05 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 22:56:10 +0300 Subject: [PATCH 5/6] docs: change line spacing in output examples --- src/oss/python/integrations/tools/newscatcher_catchall.mdx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/oss/python/integrations/tools/newscatcher_catchall.mdx b/src/oss/python/integrations/tools/newscatcher_catchall.mdx index 4e34efdc3f..82bba6eee9 100644 --- a/src/oss/python/integrations/tools/newscatcher_catchall.mdx +++ b/src/oss/python/integrations/tools/newscatcher_catchall.mdx @@ -183,11 +183,8 @@ print(response["messages"][-1].content) Here are the Phase 3 clinical trials for oncology drugs that have received FDA approval: 1. Giredestrant: Roche is working with regulators for approval, having shown reduced risk of recurrence or progression in ER-positive, HER2-negative early-stage breast cancer. - 2. Breyanzi (lisocabtagene maraleucel): Approved by the FDA for marginal zone lymphoma. - 3. UNLOXCYT™ (cosibelimab-ipdl): Sun Pharma received FDA approval for an updated label for advanced cutaneous squamous cell carcinoma. - 4. Durvalumab (Imfinzi): Approved by the FDA in combination with FLOT chemotherapy for resectable gastric and gastroesophageal junction cancers. ``` From 5b6a21aa2dce17da91481a329650030ca3b70a77 Mon Sep 17 00:00:00 2001 From: Oleksandr Sirenko Date: Fri, 12 Dec 2025 23:18:45 +0300 Subject: [PATCH 6/6] fix: update langchain_core.messages to langchain.messages import --- src/oss/python/integrations/providers/newscatcher.mdx | 2 +- src/oss/python/integrations/tools/newscatcher_catchall.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oss/python/integrations/providers/newscatcher.mdx b/src/oss/python/integrations/providers/newscatcher.mdx index dcad148096..4ed342094b 100644 --- a/src/oss/python/integrations/providers/newscatcher.mdx +++ b/src/oss/python/integrations/providers/newscatcher.mdx @@ -148,7 +148,7 @@ Initializes new search operations. Processes 50,000+ web pages in 10-15 minutes: ```python from langgraph.prebuilt import create_react_agent -from langchain_core.messages import SystemMessage +from langchain.messages import SystemMessage from langchain_catchall import CATCHALL_AGENT_PROMPT agent = create_react_agent(model=llm, tools=tools) diff --git a/src/oss/python/integrations/tools/newscatcher_catchall.mdx b/src/oss/python/integrations/tools/newscatcher_catchall.mdx index 82bba6eee9..462fd1cfab 100644 --- a/src/oss/python/integrations/tools/newscatcher_catchall.mdx +++ b/src/oss/python/integrations/tools/newscatcher_catchall.mdx @@ -140,7 +140,7 @@ Use both tools together in a LangGraph agent for the most powerful pattern - sea ```python from langgraph.prebuilt import create_react_agent -from langchain_core.messages import SystemMessage +from langchain.messages import SystemMessage from langchain_catchall import CatchAllTools, CATCHALL_AGENT_PROMPT # Create agent with both tools