Skip to main content
Build autonomous web search agents and research assistants that can find, analyze, and synthesize information from millions of web pages using natural language.

Before you start

  • Python 3.12 or later
  • CatchAll API key from platform.newscatcherapi.com
  • LLM provider credentials (OpenAI, Anthropic, etc.) for agent features

Installation

Quickstart

The search() method handles submission, polling, and retrieval automatically. Jobs typically complete in 10-15 minutes.

CatchAllClient

CatchAllClient wraps the CatchAll Python SDK with LangChain-friendly patterns: automatic polling, high-level search method, and pagination handling. Available as both sync (CatchAllClient) and async (AsyncCatchAllClient).

Basic usage

Jobs: Granular control

For data pipelines or complex workflows:

Monitors

Automate recurring searches with scheduled execution. Monitor methods in CatchAllClient mirror the CatchAll Python SDK interface directly.
For detailed monitor configuration, scheduling syntax, and webhook setup, see the Monitors guide.

Advanced: Cost optimization

Search once, analyze many times without additional API cost:

CatchAllTools

Ready-to-use toolkit for LangGraph agents with built-in caching. The killer feature: search once, then analyze unlimited times for free (LLM costs only).
ToolDurationCostDescription
catchall_search_data10-15 minAPI creditsInitialize new search
catchall_analyze_dataInstantLLM costs onlyQuery cached results

Setup

Install the OpenAI integration package if you haven’t already:

Create agent

Agent prompt

The CATCHALL_AGENT_PROMPT teaches the agent cost-effective operation by implementing a two-phase workflow:
  1. Search phase: Uses catchall_search_data to gather initial dataset, then stop and wait for user input.
  2. Analysis phase: Uses catchall_analyze_data for all follow-up questions (filtering, sorting, aggregation, Q&A).
This design prevents expensive repeated searches and maximizes the value of cached results. The prompt also handles limit parameters when users request specific result counts (e.g., “top 50”, “limit to 20”).

Conversational pattern

The power of caching: perform one expensive search, then ask unlimited follow-up questions for free (LLM costs only).

Error handling

Resources

Write effective queries

Construct queries that return focused results

API reference

Complete API endpoints documentation

GitHub repository

Source code and examples

PyPI package

Package installation and releases