Better Fetch

Sitemap Extractor

Discover and normalize URLs from XML sitemaps or sitemap indexes for crawl planning and content inventory.

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Website or sitemap URL.

Maximum sitemap URLs to return.

Sign in and run
~1 credit/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

urlscountsource_url

Overview

Discover and normalize URLs from XML sitemaps or sitemap indexes for crawl planning and content inventory. This first-party Better Fetch tool turns a focused request into predictable structured output that can be inspected in the web workspace, exported as JSON or CSV, called through REST, or composed by an AI agent over MCP. It is designed for repeatable production research rather than fragile copy-and-paste scraping.

Last validated: Jul 13, 2026

Input

urlstring (uri)required

Website or sitemap URL.

limitintegerdefault: 100

Maximum sitemap URLs to return.

Output

urlsobject[]required

Normalized urls records

countintegerrequired

Number of records returned

source_urlstringrequired

Fetched source URL

Examples

first-run

{
  "url": "https://nextjs.org/sitemap.xml",
  "limit": 10
}

Use cases

Agent research

Give AI agents bounded, normalized sitemap extractor results without writing source-specific retrieval and parsing code.

Repeatable monitoring

Save the configuration, rerun it on a consistent source, and export comparable structured artifacts for operational review.

FAQ

What does Sitemap Extractor return?

It returns normalized structured fields documented in the output schema, plus the fetched source URL and a record count for receipts and exports.

Does this tool store the retrieved output?

No. Better Fetch records privacy-safe run metadata for reliability and retention analysis, but the output payload itself is not stored by the workspace.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Sitemap Extractor"
2. Call run_tool with:
   name: "sitemap_extractor"
   input: {"url":"https://nextjs.org/sitemap.xml","limit":10}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/sitemap_extractor/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"url":"https://nextjs.org/sitemap.xml","limit":10}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/sitemap-extractor && cd sitemap-extractor && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"url":"https://nextjs.org/sitemap.xml","limit":10}'