# Tanod Web – Sitemap Parser

> Tanod Web – Sitemap Parser is a paid API for AI agents from web.tanod.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-13).

Fetches and parses an XML, sitemap index, or text sitemap URL and returns a structured list of URLs with metadata.

## Facts

- Endpoint: POST https://web.tanod.dev/v1/sitemap?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-web-sitemap-parser-8fd456f7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6vUCpaCmKnO0MAucDZlFw

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 tanod-web-sitemap-parser-8fd456f7 -d '<json body>'
```

Example prompt: Can you fetch the sitemap at https://example.com/sitemap.xml and return all the URLs listed there — up to 500 of them?

## When to prefer this

Use this endpoint when you need to programmatically enumerate all pages of a website via its sitemap, especially when you want structured metadata (lastmod, priority, changefreq) per URL. Prefer it over manual scraping when a sitemap.xml or sitemap index exists, as it is faster and more reliable. It handles gzip, sitemap indexes, and text sitemaps automatically.

## Known failure modes

- Invalid or unreachable URL returns an error
- Non-sitemap URLs or malformed XML may yield parse errors or zero entries
- max_urls cap exceeded silently truncates results with truncated=true
- Gzip decompression failures for corrupted files
- Private/authenticated sitemaps return access denied errors

## How this service works

Web tools: search, page to Markdown or screenshot, company profile and jobs, sitemaps, RDAP, IP.

## Output

A JSON object containing the resolved sitemap URL, format type (urlset or index), depth, total URL count, returned URL count, truncation flag, a list of URL entries each with loc/lastmod/priority/changefreq fields, any child sitemaps found, gzip flag, namespace validity, and a note if applicable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "minLength": 1,
   "description": "Public http(s) URL of an XML sitemap, sitemap index or text sitemap (gzip accepted)."
  },
  "max_urls": {
   "type": "integer",
   "default": 200,
   "maximum": 1000,
   "minimum": 1,
   "description": "URLs to return (1-1000, default 200)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://tanod.dev/sitemap.xml",
  "gzip": false,
  "note": null,
  "urls": [
   {
    "loc": "https://tanod.dev/",
    "lastmod": "2026-10-07",
    "priority": null,
    "changefreq": null
   },
   {
    "loc": "https://tanod.dev/learn/",
    "lastmod": "2026-10-07",
    "priority": null,
    "changefreq": null
   },
   {
    "loc": "https://tanod.dev/learn/unchecked-erc20-transfer.html",
    "lastmod": "2026-10-07",
    "priority": null,
    "changefreq": null
   }
  ],
  "depth": 0,
  "format": "urlset",
  "returned": 3,
  "sitemaps": [],
  "final_url": "https://tanod.dev/sitemap.xml",
  "truncated": true,
  "urls_total": 47,
  "namespace_ok": true,
  "sitemaps_total": 0,
  "invalid_entries": 0,
  "untrusted_content": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-web-sitemap-parser-8fd456f7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from web.tanod.dev](https://www.zero.xyz/host/web.tanod.dev/llms.txt)
