Sitemap URL extractor API: list the pages of a docs site

$0.002 per call · failed calls are never charged · no account or subscription: pay per call with a card key or USDC

Sitemap parser: reads one public XML sitemap or sitemap index as structured URLs and source-reported dates. Supports gzip, substring filtering and pagination. Large sitemaps are read from the start (512 KiB, 1000 entries at most, with a warning). Does not crawl pages or follow child sitemaps. Invalid XML and execution errors are not charged; a valid empty match is charged. Use to find which pages of a docs site to read before calling /extract.

When to use it

Guide: Sitemap parser API

Run it free (25 free calls) Buy credits by card (from $1) Example result (JSON)

Try it with your own inputs

Absolute public HTTP(S) XML sitemap URL; child sitemaps are not fetched automatically

Uses one of your 25 free calls. Nothing is charged, and a call that fails is not counted.

Inputs

NameTypeDescription
url (required)stringAbsolute public HTTP(S) XML sitemap URL; child sitemaps are not fetched automatically
containsstringOptional case-insensitive URL substring, at most 200 characters
maxUrlsintegerReported matching locations examined in one page (1-100, default 25); invalid/nonpublic locations may reduce returned entries
offsetintegerOffset into distinct reported matching locations (0-1000, default 0); use nextOffset to continue

Request

Over HTTP, with a card key from /credits:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/sitemap?url=https%3A%2F%2Fwww.sitemaps.org%2Fsitemap.xml"

Or one of your 25 free calls, no key:

curl "https://tools.funwords.eu/sitemap?url=https%3A%2F%2Fwww.sitemaps.org%2Fsitemap.xml&trial=1"

Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.

Example result

{
  "url": "https://agent-data-tools.revmesh2074.workers.dev/examples/sitemap/source.xml",
  "finalUrl": "https://agent-data-tools.revmesh2074.workers.dev/examples/sitemap/source.xml",
  "kind": "urlset",
  "entries": [
    {
      "url": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/technical-guide.html",
      "lastModified": "2026-10-15"
    },
    {
      "url": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html",
      "lastModified": "2026-10-15"
    }
  ],
  "reportedEntries": 3,
  "uniqueReportedLocations": 3,
  "missingOrInvalidLocations": 0,
  "duplicateReportedLocations": 0,
  "rejectedLocationsInPage": 0,
  "matchingReportedLocations": 3,
  "contains": "",
  "offset": 0,
  "nextOffset": 2,
  "hasMore": true,
  "warnings": [
    "counts_describe_reported_locations_before_public_url_validation",
    "locations_and_dates_are_source_reported_not_probed"
  ],
  "text": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/technical-guide.html\nhttps://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html",
  "format": "text",
  "hashFormat": "text",
  "contentHash": "sha256:8055b8b5ced205885a181b4fa7145008ac8d5dc3fb3286007c4cf679f886b750",
  "sourceHash": "sha256:c24148c4774690472856c116012988bb52e992c6a3bbba156947be1dac6eba03",
  "fetchedAt": "2026-10-15T21:48:20.943Z"
}

From an AI agent (MCP)

Add the MCP server to Claude, Cursor or any MCP client. This tool is sitemap, and the first 25 successful calls are free:

https://tools.funwords.eu/mcp

Details and limits

XML only: the first 512 KiB (a compressed file must itself be under 512 KiB) and at most 1000 entries are read, 60000 XML elements, depth 16, locations up to 2048 characters. DTD declarations are rejected. contains is a case-insensitive substring of source-reported URLs, not semantic search. Pagination counts distinct reported loc values before public-URL validation of the selected page. Returned URLs are not probed; dates are not verified. Index entries are child sitemaps, not pages. DNS-resolution limitations of the public-fetch guard remain.

Questions

Does it crawl the pages?

No. It reads one XML sitemap or sitemap index (gzip supported); child sitemaps are not followed and URLs are not probed.

What are the limits?

Larger sitemaps are read from the start: the first 512 KiB and 1,000 entries, with a warning. Invalid XML is not charged; a valid empty match is.

How do I pay?

Each successful call costs $0.002; failed calls are not charged. The first 25 calls are free. Then pay with card credits (from $1; the key goes in an Authorization header or, for clients that can only fetch a URL, as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.

Related tools