Sitemap Parser

Fetch and read a site's XML sitemap: URL count, top sections, last-modified dates and sample URLs.

Pay by wallet (x402) sitemap-parse

Example

Input
{
  "url": "https://strale.dev/sitemap.xml"
}
Answer
{
  "url": "https://strale.dev/sitemap.xml",
  "type": "urlset",
  "total_urls": 239,
  "has_lastmod": true,
  "sample_urls": [
    {
      "loc": "https://strale.dev/",
      "lastmod": "2026-03-12",
      "priority": "1.0",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities",
      "lastmod": "2026-03-12",
      "priority": "0.9",
      "changefreq": "daily"
    },
    {
      "loc": "https://strale.dev/pricing",
      "lastmod": "2026-03-12",
      "priority": "0.8",
      "changefreq": "monthly"
    },
    {
      "loc": "https://strale.dev/docs",
      "lastmod": "2026-03-12",
      "priority": "0.8",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/signup",
      "lastmod": "2026-03-12",
      "priority": "0.7",
      "changefreq": "monthly"
    },
    {
      "loc": "https://strale.dev/security",
      "lastmod": "2026-03-12",
      "priority": "0.7",
      "changefreq": "monthly"
    },
    {
      "loc": "https://strale.dev/capabilities/belgian-company-data",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/vat-validate",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/ssl-certificate-chain",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/vat-rate-lookup",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/web-extract",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/invoice-extract",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/swedish-company-data",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/pdf-extract",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/eori-validate",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/iban-validate",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/brand-mention-search",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/norwegian-company-data",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/austrian-company-data",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    },
    {
      "loc": "https://strale.dev/capabilities/danish-company-data",
      "lastmod": "2026-03-12",
      "priority": "0.6",
      "changefreq": "weekly"
    }
  ],
  "has_priority": true,
  "has_changefreq": true,
  "newest_lastmod": "2026-03-12",
  "oldest_lastmod": "2026-03-12",
  "top_path_segments": [
    {
      "count": 234,
      "segment": "capabilities"
    },
    {
      "count": 1,
      "segment": "/"
    },
    {
      "count": 1,
      "segment": "pricing"
    },
    {
      "count": 1,
      "segment": "docs"
    },
    {
      "count": 1,
      "segment": "signup"
    },
    {
      "count": 1,
      "segment": "security"
    }
  ]
}

Inputs

FieldTypeRequiredWhat it is
urlstringYes—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
typestringAlways (present in every successful answer)
total_urlsintegerAlways (present in every successful answer)
sample_urlsarrayAlways (present in every successful answer)
top_path_segmentsarrayAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "sitemap-parse",
    "inputs": {
      "url": "https://strale.dev/sitemap.xml"
    },
    "max_price_cents": 5
  }'

Limitations

  • Child sitemaps are not fetched automatically

    Parses XML sitemaps — sitemap index files are not recursively fetched and dynamically generated sitemaps may be incomplete

    What to do instead: If the sitemap is an index, extract the child sitemap URLs and process each one separately

  • Sitemaps above the 50 MB protocol maximum are refused

    An uncompressed sitemap above 50 MB or 50,000 URLs exceeds the protocol maximum and is refused with a caller_input error and no charge. Sitemap indexes can reference multiple child sitemaps, each subject to these limits when fetched separately.