Sitemap Extractor & Validator: All URLs, Indexes, .gz, Status avatar

Sitemap Extractor & Validator: All URLs, Indexes, .gz, Status

Pricing

from $0.10 / 1,000 url listeds

Go to Apify Store
Sitemap Extractor & Validator: All URLs, Indexes, .gz, Status

Sitemap Extractor & Validator: All URLs, Indexes, .gz, Status

Extract every URL from a website's XML sitemaps (sitemap indexes, .xml.gz, text sitemaps, auto-discovered from robots.txt) with lastmod, changefreq, priority, hreflang and image counts. Validates against the sitemaps.org protocol and can check each URL for 404s, redirects and robots.txt blocks.

Pricing

from $0.10 / 1,000 url listeds

Rating

0.0

(0)

Developer

Larry Johnson

Larry Johnson

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Give it a sitemap, or just a website, and get every URL the site publishes as clean rows, plus a validation report:

  • Auto-discovery: reads Sitemap: lines in robots.txt, then tries /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml and more
  • Sitemap indexes followed recursively, .xml.gz decompressed, text sitemaps supported
  • Per URL: lastmod, changefreq, priority, hreflang alternates, image/video counts, Google News flag
  • Protocol validation (sitemaps.org): over 50,000 URLs or 50 MB, wrong namespace, XML errors, invalid lastmod / priority / changefreq, future dates, cross-host URLs, unescaped characters, duplicates
  • Optional status check: find listed URLs that return 404 / 5xx, redirect (sitemaps should list final URLs) or are blocked by robots.txt
  • lastmodAfter filter: schedule it daily and get only new or updated pages

Use cases

  • SEO audits: confirm the sitemap only lists live, canonical, indexable pages
  • Content inventories and migrations: export every URL of a site in one run
  • Change monitoring: daily run with lastmodAfter to see what a site published
  • Crawler seeding: feed the URL list into your own scraper or the Broken Link Checker

Input

FieldDefaultNotes
startUrls—Sitemap URLs or website URLs
maxUrls10000Up to 1,000,000 distinct URLs
checkStatusfalseHEAD (GET fallback) per URL, robots.txt respected
lastmodAfter—ISO date; older URLs skipped for free
maxSitemaps500Safety cap incl. index children
maxConcurrency10Status checks in parallel

Output

URL rows (type: "url"):

{
"type": "url", "url": "https://example.com/blog/launch", "sitemapUrl": "https://example.com/post-sitemap.xml",
"lastmod": "2026-10-12T08:30:00+00:00", "changefreq": "weekly", "priority": 0.8,
"alternates": [{"hreflang": "de", "href": "https://example.com/de/blog/launch"}],
"imageCount": 2, "videoCount": 0, "isNews": false,
"statusCode": 301, "finalUrl": "https://example.com/blog/launch/", "redirectCount": 1, "issues": ["REDIRECTS"]
}

One free row per sitemap file (type: "sitemap") with kind (urlset / sitemapindex / text), gzipped, sizes, urlCount, childSitemaps, duplicateUrls, invalidUrls, how it was discovered and its issues (TOO_MANY_URLS_50K, TOO_LARGE_50MB, WRONG_NAMESPACE, XML_PARSE_ERROR, NOT_DECLARED_IN_ROBOTS_TXT, HTTP_404 ...). Totals are in the SUMMARY key-value record.

Pricing (pay per event)

  • $0.10 per 1,000 URLs (url-listed, $0.0001 each), status check included, plus the standard $0.00005 actor start.
  • Free: duplicate URLs, invalid entries, URLs filtered out by lastmodAfter, sitemap-file rows and failed sitemaps.
  • Respects your run's maximum cost and maxUrls.

Fair use

  • Sitemaps and robots.txt are published for crawlers. The Actor fetches each sitemap file once, obeys robots.txt and identifies itself as ApifySitemapValidator.
  • Status checks send one lightweight request per URL. Run them on sites you own or manage.
  • XML entity tricks (billion-laughs style) are refused, files are capped at 60 MB, and private-network addresses are blocked.

Actively maintained. Issues answered within 24 hours on the Issues tab.