# `Nous.Tools.SearchScrape`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/tools/search_scrape.ex#L6)

  Tool that fetches and summarizes content from multiple URLs in parallel.

Combines WebFetch + Summarize into a single tool call, reducing
round-trips in the agent loop. Uses Task.Supervisor for parallel fetching.

## Usage

    agent = Agent.new("openai:gpt-4",
      tools: [&SearchScrape.scrape_results/2],
      deps: %{summary_model: "openai:gpt-4o-mini"}
    )

# `scrape_results`

```elixir
@spec scrape_results(Nous.RunContext.t(), map()) :: map()
```

Fetch and summarize content from multiple URLs in parallel.

## Arguments

- urls: List of URLs to fetch (required)
- query: Research query to focus summaries on (required)
- concurrency: Max parallel requests (default: 5)
- timeout: Per-page timeout in ms (default: 10000)

## Returns

A list of results with url, title, summary, key_facts, and relevance.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
