Sitemap & URL Extractor (Reliable, Any Website)
Pricing
from $1.00 / 1,000 url returneds
Sitemap & URL Extractor (Reliable, Any Website)
Get every page URL from any website's sitemaps. Auto-discovers sitemaps via robots.txt, follows sitemap indexes, handles .gz, broken XML, text sitemaps and RSS/Atom. Filter by pattern and date. Optional HTTP status check.
Pricing
from $1.00 / 1,000 url returneds
Rating
0.0
(0)
Developer
Pankaj Bhatia
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 page URL from any website's sitemaps as a clean table: URL, last-modified date, change frequency, priority, images, language alternates and Google News data. Just type a domain. The Actor finds the sitemaps for you.
- Auto-discovery: reads
robots.txt, then tries common locations (/sitemap.xml,/sitemap_index.xml,/wp-sitemap.xml,.gzand more). - Handles messy real-world sitemaps: nested sitemap indexes,
.xml.gzfiles, broken XML, byte-order marks, plain-text sitemaps, and RSS/Atom feeds. - Fast and cheap: no browser. It reads 30,000 URLs in about 20 seconds.
- Filters: include/exclude URL patterns, and "modified after" a date.
- Optional status check: finds 404s and redirects that are still listed in a sitemap.
- Retries automatically and only falls back to a proxy if a site blocks the request.
Who is it for?
- SEO specialists and agencies: audit sitemaps, find broken or redirected URLs, and track newly published pages.
- AI / RAG builders: get the full list of pages to feed into a content crawler or vector database.
- Content and competitor monitoring: see what a competitor published since a given date (
modifiedAfter). - Developers and AI agents: one clean JSON list of URLs for any site, over the API.
How to use it
- Add one or more websites (for example
apify.com) or direct sitemap URLs. - Optionally add URL patterns (for example
/blog/) or a modified-after date. - Click Start and export the results as JSON, CSV or Excel, or use the API.
Pattern syntax
| Pattern | Meaning |
|---|---|
/blog/ | URL contains /blog/ |
*/products/* | Wildcards |
re:/news/20(25|26)/ | Regular expression (prefix re:) |
Input example
{"startUrls": [{ "url": "https://www.example.com" }],"includePatterns": ["/blog/"],"excludePatterns": ["/tag/", "/author/"],"modifiedAfter": "2026-09-01","maxUrlsPerSite": 1000,"checkStatus": false}
Output example
{"url": "https://www.nytimes.com/athletic/7664898/2026/10/06/yankees-game-2-alds-mistakes-errors-rays/","lastmod": "2026-10-07T11:51:11Z","changefreq": null,"priority": null,"site": "https://www.nytimes.com","domain": "www.nytimes.com","sitemapUrl": "https://www.nytimes.com/sitemaps/new/news.xml.gz","sitemapType": "urlset","images": ["https://static01.nyt.com/athletic/uploads/....jpg"],"news": { "publicationDate": "2026-10-06T09:41:20Z", "title": "For Yankees, a harsh reality after Game 2 meltdown..." }}
With Check each URL's HTTP status turned on, each row also gets statusCode, finalUrl and redirected.
If a site has no sitemap, you get one free row with an error explaining why, so you never pay for nothing. A per-site summary (sitemaps found and read, errors, URLs skipped) is saved as SITE_SUMMARIES in the run's key-value store.
How much does it cost?
Pay-per-event: you pay a small fee per URL returned, with a slightly higher price for URLs with a status check. For example, 1,000 URLs cost about $1 (about $2 with status checks on). Set Maximum cost per run to cap any run. The Actor stops cleanly at your limit. Use maxUrlsPerSite to keep large sites in check.
Use it through the API, integrations or AI agents
Run it from the Apify API, on a schedule, or connect it to Make, Zapier, n8n or Google Sheets. AI agents can find and call it through the Apify MCP server. Output is clean JSON with the same fields on every run.
FAQ
The site returned nothing? Some sites don't publish a sitemap (python.org, for example) or hide it. Check the free error row and SITE_SUMMARIES.
Why were URLs skipped with "modified after"? Many sitemaps have no lastmod dates. Those URLs can't be date-filtered, so they're skipped, and the summary tells you how many.
Does it crawl pages? No. It reads the sitemaps that websites publish for search engines, which makes it fast and light on the sites. Status checks send one light request per URL.
Found a sitemap it can't read? Open an issue with the URL. We usually reply within 24 hours.
More tools from this developer
- SAM.gov Contract Opportunities Finder & Bid Alerts: federal contract opportunities and bid alerts
- Website to Markdown for AI & RAG: turn web pages into clean Markdown for LLMs
- Tech Stack Detector: find what any website is built with
- Apple App Store Reviews Scraper: App Store reviews and ratings for any app
- ATS Jobs Scraper: jobs from Greenhouse, Lever, Ashby, Workable and more
- Website Screenshot: full-page, mobile and PDF screenshots in bulk
- PDF to Text & Markdown Extractor: extract text from PDFs for AI and search
- Domain WHOIS, DNS & SSL Checker: bulk domain, DNS, email security and SSL checks
- SEO Meta Tags & On-Page Audit: bulk on-page SEO audit with fixes
- Bulk URL Status & Broken Link Checker: status codes, redirect chains and broken links
- RSS & Atom Feed Reader: merge and filter many news feeds
- Hacker News Scraper: HN stories, comments and Who is hiring jobs
- Academic Paper Search: papers from Crossref, arXiv and PubMed
- SEC EDGAR Filings & Financials: 10-K, 10-Q, 8-K filings and company financials