# AgentFeed URL Summarizer

> AgentFeed URL Summarizer is a paid API for AI agents from x402.ochinimus.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-19).

Fetches a web page or PDF from a given URL and returns a concise AI-generated summary with key points

## Facts

- Endpoint: GET https://x402.ochinimus.app/api/summarize?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentfeed-url-summarizer-f9046a0b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mcdeHXa7moXoCTUHy4DrT

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 agentfeed-url-summarizer-f9046a0b
```

Example prompt: Can you give me a short summary of this article — https://www.bbc.com/news/science-environment-12345678 — just the highlights in about 60 words?

## When to prefer this

Choose this endpoint when you need a quick AI-generated summary of any publicly accessible web page or PDF without setting up an API key or account — just pay $0.01 USDC per call via x402 or a prepaid key. Ideal for agents that need to distill web content on demand as part of a larger workflow, especially when the URL could be HTML or PDF and you want both a prose summary and structured key points in one call.

## Known failure modes

- URL is unreachable or returns a non-200 status — fetch fails with an error
- URL points to a paywalled or login-required page — content unavailable or minimal
- PDF is scanned/image-only with no extractable text — poor or empty summary
- Very large document exceeds character read limit — truncated flag set to true
- Invalid or non-HTTP URL provided — validation error on queryParams.url
- Payment not completed via x402 or invalid prepaid key — 402 Payment Required response

## How this service works

Page or PDF summary: a short or medium summary with key points, and says whether the document was cut at 20,000 tokens and how much was read. Use when you need to answer: What does this page or PDF say, in short? Uses only what the document says.

## Output

A JSON object containing the AI-generated summary (short ~60 words or medium ~150 words), an array of key bullet-point takeaways, the page title, source and final URL, character counts, estimated token count, fetch timestamp, model used, and whether the result was cached or the content was truncated.

## 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": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "the page or PDF: an absolute http or https URL"
      },
      "length": {
       "enum": [
        "short",
        "medium"
       ],
       "type": "string",
       "description": "short (default, about 60 words) or medium (about 150)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "properties": {
        "kind": {
         "type": "string"
        },
        "model": {
         "type": "string"
        },
        "title": {
         "type": "string"
        },
        "cached": {
         "type": "boolean"
        },
        "length": {
         "type": "string"
        },
        "summary": {
         "type": "string"
        },
        "pct_read": {
         "type": "number"
        },
        "final_url": {
         "type": "string"
        },
        "truncated": {
         "type": "boolean"
        },
        "chars_read": {
         "type": "number"
        },
        "fetched_at": {
         "type": "string"
        },
        "key_points": {
         "type": "array"
        },
        "source_url": {
         "type": "string"
        },
        "chars_total": {
         "type": "number"
        },
        "tokens_estimated": {
         "type": "number"
        }
       }
      },
      "paid": {
       "type": "boolean"
      },
      "tool": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "kind": "html",
   "model": "gemini-3.1-flash-lite",
   "title": "Example Domain",
   "cached": false,
   "length": "short",
   "summary": "This domain serves as a placeholder for documentation examples and does not require permission for use. It is not an active service and should not be utilized for testing or monitoring tasks.",
   "pct_read": 100,
   "final_url": "https://example.com/",
   "truncated": false,
   "chars_read": 156,
   "fetched_at": "2026-10-14T06:27:39.931Z",
   "key_points": [
    "The domain is intended for use in documentation examples.",
    "Permission is not required to use this domain.",
    "Users should avoid relying on the domain for testing or monitoring purposes."
   ],
   "source_url": "https://example.com/",
   "chars_total": 156,
   "tokens_estimated": 45
  },
  "paid": true,
  "tool": "get_summarize"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentfeed-url-summarizer-f9046a0b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.ochinimus.app](https://www.zero.xyz/host/x402.ochinimus.app/llms.txt)
