Sitemap URL extractor

Enter a domain or the URL of a sitemap. The extractor finds the sitemap through robots.txt or the usual locations, follows sitemap indexes and .xml.gz files, and lists up to 2,000 page URLs with their last-modified dates. Copy them or download a CSV.

Up to 2,000 URLs from at most 12 sitemap files per lookup, 10 lookups per minute. robots.txt is respected.

How the extractor finds and reads sitemaps

  1. Sitemap URL given: it reads that file directly (XML, gzip, plain-text list or RSS/Atom feed).
  2. Domain given: it reads robots.txt and uses every Sitemap: line. If there are none, it tries /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml and /sitemap.txt.
  3. Sitemap index: child sitemaps are read in order until 2,000 URLs or 12 files are reached. Unread files are listed so you know what was left out.
  4. Each URL comes with lastmod, changefreq and priority when the sitemap has them, and the sitemap file it came from. Duplicates are removed.

The CSV columns are url,lastmod,changefreq,priority,sitemap, UTF-8, ready for Excel, Google Sheets or a crawler seed list.

What people use a sitemap export for

  • SEO audits: compare the sitemap with what is indexed or linked internally.
  • Site migrations: a complete list of old URLs to map to new ones for redirects.
  • Competitor research: see how many product, blog or landing pages a site has and when they last changed.
  • Crawl seeds: feed the list to a crawler, a link checker or a screenshot tool.

Limits of the free extractor

  • 2,000 URLs and 12 sitemap files per lookup. Large sites have far more; the Apify actor has no such cap.
  • robots.txt is respected. A sitemap path disallowed for our bot (AdamHaleTools) is skipped, and an unreadable robots.txt (server error) is treated as "disallow all", as RFC 9309 says.
  • No status checks. The free tool lists what the sitemap says; it does not test whether each URL answers 200.
  • The Download CSV link runs the extraction again and counts as a second lookup.

Need bulk or scheduled runs? Run it on Apify

The XML Sitemap Extractor & New-URL Monitor actor on Apify exports every URL of large sites (millions if needed), optionally checks each URL's HTTP status, and on a schedule reports only the pages that are new, removed or updated since the last run, straight to a spreadsheet, Slack or a webhook.

Run it on Apify Read the guide: Export sitemap URLs to CSV

Use it from code

The same lookup is available as JSON for light use (10 requests per minute per IP, no key):

curl "https://tools.adamhaleworks.workers.dev/api/sitemap-urls?url=wordpress.org&format=csv"

For regular or high-volume use, call the actor through the Apify API instead; the guide shows how. AI agents can use the pay-per-call API instead: several items per call, no rate limit, paid in USDC, no account.

FAQ

How do I find a website's sitemap?

Look for Sitemap: lines in https://example.com/robots.txt. If there are none, try /sitemap.xml, /sitemap_index.xml (Yoast and Rank Math) or /wp-sitemap.xml (WordPress core). This tool does both automatically when you enter just the domain.

Can I export a sitemap to CSV or Excel?

Yes. After the extraction, click Download CSV. The file opens in Excel or Google Sheets with one URL per row plus lastmod, changefreq, priority and the source sitemap.

Why are only 2,000 URLs listed?

The free tool stops at 2,000 URLs to stay within the limits of the free server it runs on. For full exports of large sites use the XML Sitemap Extractor actor on Apify.

Does it work with sitemap index files and .gz sitemaps?

Yes. It follows sitemap indexes to their child sitemaps and unpacks gzip-compressed sitemaps.

Is my input stored?

No. The sitemap is fetched when you submit and nothing is saved. Cloudflare keeps standard request logs.