# Web Research: Search and Read Top Pages

> Web Research: Search and Read Top Pages is a paid API for AI agents from agent-data-tools.revmesh2074.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-26).

Performs a Brave web search and returns the full text of the top 1-5 result pages in a single API call

## Facts

- Endpoint: GET https://agent-data-tools.revmesh2074.workers.dev/pack/web-research?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Provider: agent-data-tools.revmesh2074.workers.dev
- Website: https://agent-data-tools.revmesh2074.workers.dev
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-data-tools-revmesh2074-workers-dev-web-research-search-and-read-ba3f3dcb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TMKoIVRcnaMokVxwXmRyH

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agent-data-tools-revmesh2074-workers-dev-web-research-search-and-read-ba3f3dcb
```

Example prompt: Can you research 'best practices for LLM prompt caching in 2025' on the web and bring back the text from the top 4 pages so I can read what they actually say?

## When to prefer this

Choose this endpoint when an agent needs both search results AND the actual page content in one round-trip, rather than calling a search API and then separately fetching each URL. It is especially valuable for question-answering, fact-checking, or summarization tasks where sourced, current text is needed. Prefer it over a plain search-only endpoint when snippets are insufficient and full page text is required. Note: results must not be stored, resold, or used for model training per Brave API terms.

## Known failure modes

- Query exceeds 400 characters — rejected before search
- pages parameter outside 1-5 range — validation error
- Target pages return non-200 status or are JavaScript-rendered — listed in failed with reason
- Brave API unavailable — upstream error propagated
- Page is a PDF or binary file that cannot be read as text — listed in failed
- maxChars outside 500-10000 range — validation error

## How this service works

Web research. One call to research a question on the web: a Brave web search, then the text of the top 1-5 result pages, read in parallel and clipped to your length, with titles and URLs. A page that cannot be read is listed with its reason. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Use when an agent needs current, sourced information in one step instead of a search plus several page reads.

## Output

Returns a JSON object with: the resolved query string, an array of successfully-read pages (each with rank, URL, title, snippet, and clipped page text up to maxChars), a list of other search results (title + URL only), and a 'failed' map of pages that could not be fetched with the reason why.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "examples": [
        "x402 payment protocol"
       ],
       "description": "What to research, at most 400 characters"
      },
      "pages": {
       "type": "integer",
       "examples": [
        3
       ],
       "description": "How many top results to read in full (1-5, default 3)"
      },
      "maxChars": {
       "type": "integer",
       "examples": [
        3000
       ],
       "description": "Characters of text per page (500-10000, default 3000)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "pack": {
       "type": "string"
      },
      "pages": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": "string"
         },
         "rank": {
          "type": "number"
         },
         "text": {
          "type": "string"
         },
         "error": {},
         "title": {
          "type": "string"
         },
         "snippet": {
          "type": "string"
         },
         "textLength": {
          "type": "number"
         }
        }
       }
      },
      "query": {
       "type": "string"
      },
      "terms": {
       "type": "string"
      },
      "failed": {
       "type": "object",
       "properties": {}
      },
      "otherResults": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": "string"
         },
         "title": {
          "type": "string"
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pack": "web-research",
  "pages": [
   {
    "url": "https://www.x402.org/",
    "rank": 1,
    "text": "x402 is an open standard for internet-native payments…",
    "error": null,
    "title": "x402: an open payment protocol",
    "snippet": "x402 lets any HTTP API charge per request…",
    "textLength": 3000
   }
  ],
  "query": "x402 payment protocol",
  "terms": "Results are for the caller's immediate use…",
  "failed": {},
  "otherResults": [
   {
    "url": "https://github.com/coinbase/x402",
    "title": "x402 on GitHub"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-data-tools-revmesh2074-workers-dev-web-research-search-and-read-ba3f3dcb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-data-tools.revmesh2074.workers.dev](https://www.zero.xyz/host/agent-data-tools.revmesh2074.workers.dev/llms.txt)
