# Web Search + Page Text

> Web Search + Page Text is a paid API for AI agents from x402-seller-pmlm.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Performs a web search and returns ranked results with title, URL, snippet, publish date, and up to 1500 characters of cleaned main page text fetched live from each result.

## Facts

- Endpoint: GET https://x402-seller-pmlm.onrender.com/search?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web-search-page-text-76fb16e0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_29C2n_wmMj8iHpHu1JLWA

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 web-search-page-text-76fb16e0
```

Example prompt: Search the web for 'best open source vector databases 2024' and give me the top 5 results including the actual page text so I don't have to open each link.

## When to prefer this

Choose this endpoint when you need both search results AND the actual page content in a single call, avoiding the need to fetch each URL separately. Prefer it over a plain SERP API when the agent must read and synthesize page content to answer a question. Prefer it over a URL-to-markdown tool when you don't yet know which URLs to fetch. Use the sibling News Search endpoint instead if you only need fresh headlines without page text.

## Known failure modes

- Page text is null if the target website blocks scraping or times out
- No results returned for very obscure or misspelled queries
- Publish date is null if the page or index does not expose one
- Rate limiting or upstream search API errors may result in empty result sets
- Some domains may return irrelevant snippets if their pages are JavaScript-rendered

## How this service works

Web search API (SERP) with page text: like a search API key, pay per call. Pass q, optional n (1-10, default 5). Returns ranked results with title, url, domain, snippet, publish date and up to 1500 chars of cleaned main text from each page, fetched live, so agents can answer without opening links. Fresh results for news, docs, products, local businesses, definitions. 0.01 USDC/call; failed calls are free.

## Output

Returns a JSON object with the query string, total count, source engine used (brave/duckduckgo/bing/bing-rss/wikipedia), fetch timestamp, page load count, and an array of ranked results. Each result includes rank, title, URL, domain, snippet, ISO publish date (if available), and up to ~1500 characters of cleaned main page text (null if the page blocked or timed out).

## 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": {
      "n": {
       "type": "integer",
       "maximum": 10,
       "minimum": 1,
       "description": "Number of results (default 5, max 10)"
      },
      "q": {
       "type": "string",
       "maxLength": 300,
       "minLength": 2,
       "description": "Search query, e.g. 'best open source vector database', 'Fed rate decision', 'plumber Beaverton OR'"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "query",
      "count",
      "results",
      "source",
      "fetched_at"
     ],
     "properties": {
      "n": {
       "type": "integer"
      },
      "count": {
       "type": "integer"
      },
      "query": {
       "type": "string"
      },
      "source": {
       "enum": [
        "brave",
        "duckduckgo",
        "bing",
        "bing-rss",
        "wikipedia"
       ],
       "type": "string"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "rank",
         "title",
         "url",
         "domain",
         "snippet"
        ],
        "properties": {
         "url": {
          "type": "string"
         },
         "rank": {
          "type": "integer"
         },
         "text": {
          "type": [
           "string",
           "null"
          ],
          "description": "Cleaned main page text, max ~1500 chars; null if the page blocked or timed out"
         },
         "title": {
          "type": "string"
         },
         "domain": {
          "type": "string"
         },
         "snippet": {
          "type": "string"
         },
         "published": {
          "type": [
           "string",
           "null"
          ],
          "description": "ISO date if the page or index states one"
         }
        }
       }
      },
      "latencyMs": {
       "type":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web-search-page-text-76fb16e0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-seller-pmlm.onrender.com](https://www.zero.xyz/host/x402-seller-pmlm.onrender.com/llms.txt)
