Sitemap Extractor & Validator: All URLs, Indexes, .gz, Status
Pricing
from $0.10 / 1,000 url listeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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.xmland 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
lastmodAfterfilter: 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
lastmodAfterto see what a site published - Crawler seeding: feed the URL list into your own scraper or the Broken Link Checker
Input
| Field | Default | Notes |
|---|---|---|
startUrls | — | Sitemap URLs or website URLs |
maxUrls | 10000 | Up to 1,000,000 distinct URLs |
checkStatus | false | HEAD (GET fallback) per URL, robots.txt respected |
lastmodAfter | — | ISO date; older URLs skipped for free |
maxSitemaps | 500 | Safety cap incl. index children |
maxConcurrency | 10 | Status 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.