# RSS and Atom Feed Reader – Feed Validator

> RSS and Atom Feed Reader – Feed Validator is a paid API for AI agents from feed-reader.x402tookit.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-11-02).

Fetches an RSS or Atom feed URL and reports XML well-formedness, missing required elements, bad dates, and duplicate GUIDs

## Facts

- Endpoint: GET https://feed-reader.x402tookit.com/feed-validate?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rss-and-atom-feed-reader-feed-validator-a87c8e19
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_c_saC8H1dVJC6MMkK-hix

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 rss-and-atom-feed-reader-feed-validator-a87c8e19
```

Example prompt: Can you validate my RSS feed at https://example.com/feed.xml and tell me if it's well-formed XML, flag any missing required elements, bad dates, or duplicate GUIDs?

## When to prefer this

Choose this endpoint when you need to diagnose or audit the structural and semantic correctness of an RSS, Atom, or RDF feed before publishing or submitting it to aggregators. It is the right choice when you need a detailed breakdown of XML well-formedness, missing required fields, malformed dates, and duplicate GUIDs — rather than simply reading feed content. Prefer this over feed-reading endpoints when your goal is quality assurance, debugging, or automated health checks rather than content consumption.

## Known failure modes

- Feed URL is unreachable or returns non-200 status — status field reflects HTTP error
- Feed is not valid XML at all — wellFormed returns false with wellFormednessErrors count
- Feed URL requires authentication or is behind a paywall — request fails or returns login page content
- Feed URL uses a non-HTTPS scheme or non-default port — rejected by input validation
- Very large feeds may be truncated — truncatedAtLimit flag set to true
- Feed redirects excessively — redirects array populated, may fail if loop detected

## How this service works

Fetch an RSS or Atom feed and report XML well-formedness plus missing required elements, bad dates and duplicate guids.

## Output

Returns a structured report including: overall verdict (pass/degraded/fail), whether the feed is well-formed XML, detected feed format and spec version, total error and warning counts, list of specific issues (missing elements, bad dates, duplicate GUIDs), item count, content type, bytes read, redirect chain, and a plain-text summary. Also flags if results were truncated due to feed size limits.

## 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": "Full https URL of the RSS, Atom or RDF feed, no credentials, default port"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "spec": {
       "type": [
        "null",
        "string"
       ]
      },
      "format": {
       "type": [
        "null",
        "string"
       ]
      },
      "issues": {
       "type": [
        "array",
        "null"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "status": {
       "type": [
        "null",
        "number"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ]
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "finalUrl": {
       "type": [
        "null",
        "string"
       ]
      },
      "bytesRead": {
       "type": [
        "null",
        "number"
       ]
      },
      "itemCount": {
       "type": [
        "null",
        "number"
       ]
      },
      "redirects": {
       "type": [
        "array",
        "null"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "errorCount": {
       "type": [
        "null",
        "number"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "wellFormed": {
       "type": [
        "boolean",
        "null"
       ]
      },
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rss-and-atom-feed-reader-feed-validator-a87c8e19/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from feed-reader.x402tookit.com](https://www.zero.xyz/host/feed-reader.x402tookit.com/llms.txt)
