Sitemap Parser
Fetch and read a site's XML sitemap: URL count, top sections, last-modified dates and sample URLs.
sitemap-parse Example
{
"url": "https://strale.dev/sitemap.xml"
} {
"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
| Field | Type | Required | What it is |
|---|---|---|---|
url | string | Yes | — |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
type | string | Always (present in every successful answer) |
total_urls | integer | Always (present in every successful answer) |
sample_urls | array | Always (present in every successful answer) |
top_path_segments | array | Always (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
}' {
"tool": "strale_execute",
"arguments": {
"slug": "sitemap-parse",
"inputs": {
"url": "https://strale.dev/sitemap.xml"
},
"max_price_cents": 5
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "sitemap-parse",
inputs: {
"url": "https://strale.dev/sitemap.xml"
},
max_price_cents: 5,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="sitemap-parse",
inputs={
"url": "https://strale.dev/sitemap.xml",
},
max_price_cents=5,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/sitemap-parse?url=https%3A%2F%2Fstrale.dev%2Fsitemap.xml' 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.
Related tools
- Mail Server Lookup €0.02
- Page Existence Check €0.02
- Port Check €0.05
- Redirect Trace €0.05
- Robots.txt Parser €0.02
- SSL Certificate Chain €0.05