# SERP + Page Reader (Search & Fetch in One Call)

> SERP + Page Reader (Search & Fetch in One Call) is a paid API for AI agents from api.kadec0.xyz, paid per call via x402, $0.08/call, status unknown (last checked 2026-09-14).

Runs a web search and fetches the full markdown content of top results in a single API call, returning ranked results with extracted page text.

## Facts

- Endpoint: GET https://api.kadec0.xyz/v1/serp-read
- Price: $0.08/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/serp-page-reader-search-fetch-in-one-call-133ac02d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lth-Z9l0kRCqjT8MSaoyx

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 serp-page-reader-search-fetch-in-one-call-133ac02d
```

Example prompt: Search the web for 'best open source LLM benchmarks 2025' and fetch the full content of the top 3 results as markdown — use web mode with a time limit of the past month and return up to 8000 characters per page.

## When to prefer this

Choose this endpoint when you need both search results AND the actual content of the pages in a single call — avoiding a two-step search-then-scrape workflow. Ideal for research tasks where you need the underlying text to answer a question with cited sources. Prefer over a plain SERP endpoint when the snippet alone is insufficient and you'd otherwise need to scrape each URL separately. Use the sibling bulk-search endpoint instead if you only need titles/URLs/snippets for many queries without page content.

## Known failure modes

- Individual page fetch failures reported per-URL (e.g. paywalled, bot-blocked, or timeout) while other results still return
- No results found for highly specific or obscure queries
- Region or engine parameter unsupported — falls back to default
- Rate limiting or payment failure (x402) if USDC balance insufficient
- Pages with very large content truncated at maxChars limit
- News mode may return no results if query is not newsworthy or timelimit is too narrow

## How this service works

Web search plus page reading in one call: answer with sources. Runs a web search, scrapes the top results, and returns the ranked search results together with each page's content as clean LLM-ready markdown, so an agent gets the SERP AND the underlying text without a second round of scrape calls. Per-page fetch errors are reported honestly per URL.

## Output

A ranked list of up to 25 search results (title, URL, snippet) plus the cleaned LLM-ready markdown content extracted from the top fetched pages, with per-URL fetch errors reported transparently for any pages that couldn't be retrieved.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "search query"
      },
      "mode": {
       "enum": [
        "web",
        "news"
       ],
       "type": "string",
       "default": "web"
      },
      "engine": {
       "type": "string",
       "default": "auto",
       "description": "search backend: auto (recommended) or yahoo/yandex (web); bing (news)"
      },
      "region": {
       "type": "string",
       "default": "us-en",
       "description": "locale, e.g. us-en, uk-en, de-de"
      },
      "maxChars": {
       "type": "string",
       "default": "8000",
       "description": "max markdown chars per fetched page"
      },
      "fetch_top": {
       "type": "string",
       "default": "3",
       "description": "how many top results to fetch and extract, cap 5"
      },
      "timelimit": {
       "enum": [
        "d",
        "w",
        "m",
        "y"
       ],
       "type": "string",
       "description": "restrict to past day/week/month/year"
      },
      "safesearch": {
       "enum": [
        "on",
        "moderate",
        "off"
       ],
       "type": "string",
       "default": "moderate"
      },
      "num_results": {
       "type": "string",
       "default": "5",
       "description": "ranked results to return, cap 25"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/serp-page-reader-search-fetch-in-one-call-133ac02d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.kadec0.xyz](https://www.zero.xyz/host/api.kadec0.xyz/llms.txt)
