Sitemap URL Extractor - All URLs from Any Website's Sitemaps
Pricing
$0.20 / 1,000 urls
Sitemap URL Extractor - All URLs from Any Website's Sitemaps
Get every URL a website publishes in its XML sitemaps, with lastmod, changefreq and priority. Finds sitemaps via robots.txt, follows sitemap indexes and gzipped sitemaps. Pay only per URL returned.
Pricing
$0.20 / 1,000 urls
Rating
0.0
(0)
Developer
Conor Wilson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Sitemap URL Extractor
Get every URL a website publishes in its XML sitemaps, with lastmod, changefreq and priority. Give it a homepage and it finds the sitemaps itself through robots.txt, follows sitemap indexes, and reads gzipped and plain-text sitemaps.
$0.20 per 1,000 URLs. Websites with no sitemap are reported, never charged.
Why this one
- Automatic discovery. Reads the
Sitemap:lines in robots.txt, then falls back to/sitemap.xmland/sitemap_index.xml. - Handles real-world sitemaps. Nested sitemap indexes,
.xml.gzfiles, plain-text sitemaps, namespaces, and de-duplication across files. - Filters that save money. Keep only URLs containing
/blog/or/products/, or only pages modified since a date, and you're charged only for what's kept. - Reliable. Built-in retries with backoff, safety caps on files and URLs, and one clear error row per website if something goes wrong.
Quick start
{"startUrls": [{ "url": "https://apify.com" }],"urlFilter": ["/blog/"],"modifiedSince": "2026-01-01","maxUrls": 50000}
Use cases
- SEO audits and content inventories
- Feeding a crawler or URL-to-Markdown pipeline with every page of a site
- Monitoring a competitor's newly published pages with a daily schedule and
modifiedSince - Migration checks: compare old and new site URL lists
Output
| Field | Description |
|---|---|
url | Page URL listed in the sitemap |
lastmod, changefreq, priority | As published by the site |
sitemap | The sitemap file it came from |
website | The website you supplied |
ok, error | A per-website error row appears only if nothing could be read (free) |
Input options
| Option | Default | Notes |
|---|---|---|
startUrls | required | Homepages or direct sitemap URLs |
urlFilter | [] | Keep URLs containing any of these strings |
modifiedSince | - | YYYY-MM-DD; URLs without lastmod are dropped when set |
maxUrls | 50000 | Per website |
maxSitemaps | 500 | Safety cap on sitemap files per website |
Good use
Sitemaps are published so machines can read them. The actor still obeys robots.txt for its user agent WilsDataTools and never bypasses access controls.
Pricing
Pay per event: one event per URL saved to the dataset after your filters.