Skip to main content
Enable Agno agents with web search and extraction infrastructure from Parallel that prioritizes token efficiency and multi-hop reasoning. Natural-language web search that returns LLM-optimized excerpts. Use when the model needs current facts, specific entities, or web data to ground a response.
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.parallel import ParallelTools

agent = Agent(
    model=OpenAIResponses(id="gpt-5.4"),
    tools=[ParallelTools(
        max_results=10,
        include_domains=["techcrunch.com", "wired.com"],
    )],
    markdown=True,
)

agent.print_response("What are the latest developments in AI agents?", stream=True)

Task

Deep research that takes a plain-language input and returns comprehensive, cited results. Use for multi-hop research that needs minutes (not seconds) and synthesis across many sources.
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.parallel import ParallelTools

enrichment_tools = ParallelTools(
    enable_search=False,
    enable_extract=False,
    enable_task=True,
    default_processor="base",
    default_output_schema={
        "type": "json",
        "json_schema": {
            "type": "object",
            "properties": {
                "company_name": {"type": "string"},
                "headquarters": {"type": "string"},
                "total_funding": {"type": "string"},
                "key_investors": {"type": "array", "items": {"type": "string"}},
            },
            "required": ["company_name"],
        },
    },
)

agent = Agent(
    model=OpenAIResponses(id="gpt-5.4"),
    tools=[enrichment_tools],
    markdown=True,
    instructions="Use create_task() to research, then get_task_result() to retrieve.",
)

agent.print_response("Research Anthropic and return structured company data", stream=True)

Monitor

Continuously track the web for changes relevant to a natural-language query, on a schedule you control. Use for news tracking, regulatory watchlists, or competitor monitoring.
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.parallel import ParallelTools

monitor_tools = ParallelTools(
    enable_search=False,
    enable_extract=False,
    enable_monitor=True,
    default_monitor_frequency="1d",
)

agent = Agent(
    model=OpenAIResponses(id="gpt-5.4"),
    tools=[monitor_tools],
    markdown=True,
)

# Create monitors
agent.print_response("Create a monitor to track OpenAI product launches", stream=True)

# Later: check for events
agent.print_response("List my monitors and fetch recent events", stream=True)

Run the Examples

1

Clone and set up

git clone https://github.com/agno-agi/agno.git
cd agno
2

Create virtual environment

./scripts/demo_setup.sh
source .venvs/demo/bin/activate
3

Export your API key

export PARALLEL_API_KEY=***
The API key is optional. Keyless access is rate-limited; setting a key raises the ceiling.
4

Run an example

# Search
python cookbook/91_tools/parallel/news_search.py

# Task (deep research)
python cookbook/91_tools/parallel/company_enrichment.py

# Monitor (continuous tracking)
python cookbook/91_tools/parallel/competitor_tracker.py
For more examples, see the Parallel cookbook.