Sitemap URL Extractor: all pages from robots.txt & sitemaps
Pricing
from $0.30 / 1,000 url results
Sitemap URL Extractor: all pages from robots.txt & sitemaps
List every URL a website publishes in its XML sitemaps: auto-discovery via robots.txt, nested sitemap indexes, .gz, text and RSS sitemaps, lastmod/hreflang/image/news fields, include/exclude patterns, date filter and only-new monitoring mode.
Pricing
from $0.30 / 1,000 url results
Rating
0.0
(0)
Developer
Andrew Shamah
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Sitemap URL Extractor: all pages from robots.txt and sitemaps
Give it a domain and get every URL the site publishes in its XML sitemaps, plus lastmod, changefreq, priority, hreflang alternates, image/video counts and Google News titles. No browser is needed: it reads only robots.txt and the sitemap files themselves, so it is fast (about 170,000 URLs in 30 seconds in our tests) and cheap.
What it handles
- Discovery: reads the
Sitemap:lines inrobots.txt. If there are none, it tries/sitemap.xml,/sitemap_index.xml,/sitemap-index.xml,/wp-sitemap.xml,/sitemap.xml.gzand/sitemap.txt, skipping any path that robots.txt disallows. - Sitemap indexes, nested up to 6 levels and fetched 4 at a time, with deduplication.
- Gzip (
.xml.gz), plain-text sitemaps, RSS/Atom feeds used as sitemaps, and namespace-prefixed XML. - Extensions:
xhtml:linkhreflang alternates,image:image,video:videoandnews:title. - Filters: include and exclude patterns (
*/blog/*globs or/regex/), and modified after a date. - Only-new mode for monitoring. Schedule it and get only URLs that weren't in earlier runs, e.g. a competitor's new products, articles or landing pages.
- Clear failures. A site with no sitemap, or one that can't be reached, produces one free error row and a
SUMMARYentry explaining what was checked.
Input example
{"startUrls": ["allbirds.com", "https://www.nytimes.com/sitemaps/new/news.xml.gz"],"includePatterns": ["*/products/*"],"lastmodAfter": "2026-10-01","maxUrlsTotal": 100000}
Any page URL works as input; the Actor uses the site's origin. For example, https://wordpress.org/news/ reads all of wordpress.org. To read one sub-sitemap only, pass the sitemap URL directly.
Output
{"url": "https://www.nytimes.com/2026/10/27/opinion/ezra-klein-podcast-nate-silver.html","lastmod": "2026-10-27T22:49:48.000Z", "changefreq": null, "priority": null,"alternates": null, "imageCount": 1, "videoCount": 0,"newsTitle": "Nate Silver on What the Polls Say — and What His Gut’s Telling Him","sitemap": "https://www.nytimes.com/sitemaps/new/news.xml.gz","site": "https://www.nytimes.com", "input": "https://www.nytimes.com/sitemaps/new/news.xml.gz","scrapedAt": "2026-10-28T13:19:32.542Z", "error": null}
The SUMMARY record in the key-value store shows, per site, how many sitemaps were found and fetched, any sitemap errors, the URLs listed and the URLs output.
Pricing
This Actor uses pay-per-event pricing:
- Apify's standard Actor start fee.
- A per-URL fee for each URL in the dataset.
Error rows are free. Large sites can list millions of URLs (apify.com lists about 820,000), so by default a run stops at 100,000 URLs (maxUrlsTotal). Raise the limit, or set it to 0 for no limit, when you really want everything. You can also set Maximum cost per run, and the Actor stops cleanly at that amount.
Limits and honest notes
- The output is only what the site lists in its sitemaps. Pages missing from the sitemap are not found, because this is not a crawler.
lastmodvalues are whatever the site reports, and some sites set every page to "today".- Only-new mode keys its memory on the exact list of start URLs.
Legal and data use
The Actor fetches only robots.txt and sitemap files. Sitemaps are published so that automated agents can discover a site's URLs. It does not fetch page content, log in or bypass any protection, and it follows robots.txt Disallow rules when it probes for fallback sitemap paths. You are responsible for how you use the URLs and any content you fetch later.