Sitemap URL Extractor: Every Page URL of Any Domain avatar

Sitemap URL Extractor: Every Page URL of Any Domain

Pricing

$0.10 / 1,000 url harvesteds

Go to Apify Store
Sitemap URL Extractor: Every Page URL of Any Domain

Sitemap URL Extractor: Every Page URL of Any Domain

Type a domain and get every URL it publishes in its sitemaps, with lastmod, changefreq, priority and image/hreflang counts. Follows robots.txt, sitemap indexes and .gz files. Built by Physea Labs (Liminal). Launch Sale: 90% OFF for the first week. $0.10 per 1,000 URLs.

Pricing

$0.10 / 1,000 url harvesteds

Rating

0.0

(0)

Developer

jay casey

jay casey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Type a domain and get the full list of URLs it publishes in its sitemaps, one row per URL with last-modified date, change frequency and priority. A fast way to inventory a site before crawling, auditing or monitoring it.

🚀 Launch Sale: 90% OFF for the first week! Prices below are the regular rates; launch-week runs are billed at a tenth of them.

What can it do?

What you getFeatures
🗺️ Every sitemap URL, deduplicated⚡ Pure XML parsing: thousands of URLs per second
📅 lastmod, changefreq, priority per URL🔁 Follows robots.txt, nested sitemap indexes, .xml.gz and text sitemaps
🖼️ Image, video, hreflang and Google News counts🎯 Glob and modified-since filters

Who this is for

  • SEO audits: compare what the sitemap promises against what is indexed
  • Seeding a crawler with every product, blog or docs URL
  • Monitoring competitors: new pages since last week (modifiedSince)
  • Site migrations: a full URL inventory for redirect maps

What you get back

FieldTypeWhat you getExample
urlstringPage URL from the sitemaphttps://apify.com/about
pathstringURL path/about
lastmodstringLast modified date as published2026-10-01
changefreqstringDeclared change frequencyweekly
prioritynumberDeclared priority 0-10.8
image_countinteger entries2
hreflang_alternatesintegerLanguage alternates0
sitemap_urlstringSitemap file it came fromhttps://apify.com/sitemap/pages.xml
statusstringok or errorok

Every run also writes RUN_SUMMARY.json to the key-value store (counts, spend-limit flag, pricing).

What you need to provide

FieldTypeWhat it doesExample
domainsarrayOne domain or homepage per line. We read robots.txt for its sitemaps and fall back to /sitemap.xml.["apify.com"]
sitemapUrlsarrayDirect links to sitemap.xml, sitemap index or .xml.gz files, if you already know them.-
maxUrlsintegerStop after this many unique URLs.200
maxSitemapsintegerSafety cap on how many sitemap files to read.50
includeGlobsarrayGlob patterns, e.g. https://apify.com/blog/*-
excludeGlobsarrayGlob patterns, e.g. /tag/-
modifiedSincestringOnly keep URLs whose sitemap lastmod is on or after this date.-

Quick start

  1. Click Try for free.
  2. Press Start: the sample input finishes in under a minute with no API keys or setup.
  3. Replace the sample with your own values and run again.
  4. Open the dataset, or export it as JSON, CSV or Excel.

Pricing

🚀 Launch Sale: 90% OFF for the first week!

  • url-harvested: $0.0001 per unique URL ($0.10 per 1,000 URLs).
  • Duplicates and URLs removed by your filters are not charged.
  • Set a max cost per run in the run options and the run stops cleanly when it hits it.
  • Normal Apify platform usage applies.

Limits and honest notes

  • Only URLs the site lists in its sitemaps are returned; this actor does not crawl links. Use our Website to Markdown Crawler for that.
  • Sites without a sitemap return one error row (not charged).
  • lastmod, changefreq and priority are whatever the site declares; many sites leave them empty.
  • No other Apify actor is called: everything is collected in-house over plain HTTP.

Run it from code

Same input as the Console sample:

{
"domains": [
"apify.com"
],
"maxUrls": 200
}
curl -X POST "https://api.apify.com/v2/acts/physealabs~sitemap-url-harvester/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d @input.json
from apify_client import ApifyClient
items = ApifyClient("YOUR_APIFY_TOKEN").actor("physealabs/sitemap-url-harvester").call(run_input={"domains": ["apify.com"], "maxUrls": 200})

It also works from Zapier, Make, n8n and Apify schedules.

About Physea Labs · Liminal

Built and maintained by Physea Labs: the same extraction layer that feeds Liminal, our grounded research and decision engine. If it is good enough to feed Liminal's citations, it is good enough for your pipeline.