Skip to content
Extraction tools

List every URL on a page and every URL in its sitemap

Enter an address. The server fetches the page, resolves every link to an absolute URL, reads the sitemap the site declares, and returns both lists grouped by same-site and external, ready to filter and export.

Enter a page URL; the sitemap is discovered from robots.txt or /sitemap.xml on the same host.

Observations, not verdicts. What you enter is processed for this result and written to a usage journal described in the privacy policy; nothing else is stored.

How to get all page URLs from a website

  1. Enter the start URL

    Usually the homepage. Its HTML is fetched once, as a plain HTTP client would fetch it, and every anchor with an href is collected.

  2. The sitemap is discovered

    robots.txt is read for Sitemap lines; failing that, /sitemap.xml is tried. A sitemap index is expanded into the sitemaps it lists, and each URL entry is collected with its lastmod where present.

  3. Filter the two groups

    Page links and sitemap URLs are shown separately, each split into same-site and external. A text filter narrows either list; the counts update as you type.

  4. Export

    CSV for a spreadsheet, JSON for a script. Both carry the URL, the group, the anchor text for page links and the lastmod for sitemap entries.

Link extractor versus website extractor

Two different questions that people search with the same words.

Link extractor: what does this page point at?


One page, every anchor, resolved against the base URL so relative paths and protocol-relative links come back absolute. Mailto and tel links are listed under their scheme, not dropped.

Website extractor: what does the site say it contains?


The sitemap is the site's own declaration of its URLs. It is often more complete than crawling one page and sometimes less honest; comparing the two lists is where the useful findings are.

Same-site means registrable domain


blog.example.de and www.example.de count as the same site; example.de and example-shop.de do not. The split uses the public suffix list, not string matching.

Not a crawler


The tool reads one page and the sitemap. It does not follow the links it found, does not check whether they return 200, and does not run JavaScript, so links a script injects after load are not seen.

What the lists are good for, and what they are not

Most people who search for a URL extractor want one of three things: an inventory of a site before a migration, a seed list for a crawl or an agent run, or a quick look at where a page sends its visitors. All three come out of the same two fetches, and none of them needs a browser.

Inventory

The sitemap list is the site's own claim about what it contains, with a lastmod per URL where the site bothers to set one. Exported as CSV it is the starting point for a redirect map, a content audit or a comparison against what the search console reports as indexed. The page-link list from the homepage is the complementary view: what the site actually exposes to a visitor on arrival. URLs in the sitemap that no page links to, and links on the homepage that the sitemap omits, are both worth a second look.

Seed list

An agent that has to visit every product page or every help article needs a list to work through. The sitemap gives it in one request and, filtered by path, gives it per section. The JSON export is shaped to be pasted into a loop block of a workflow: an array of objects with url and lastmod, nothing else.

Where the page sends people

The external group of the page-link list is the set of third parties a visitor can reach in one click: partners, social networks, payment providers, tracking redirects. It is a static view, read from the HTML. Where a control resolves at click time through a script, this tool cannot see the destination; the form destination checker loads the page in a real browser and reports where each control actually leads.

What is not judged

Nothing is scored. A link is listed with its group and its anchor text, not with an opinion about whether it should exist. Broken links are not detected, because no link is followed. Pages that need JavaScript to render their navigation show fewer links than a visitor sees, and the result notes when the HTML contained very few anchors relative to its size. A site that blocks plain HTTP clients returns whatever it returns, and that is what is shown.

The fetched HTML and the parsed sitemap are discarded when the response is sent. A usage journal entry with timestamp and size is what remains, as the privacy policy describes; the URL you entered and the lists that came back are not stored.

Questions about extracting URLs

How do I get all the URLs of a website?

Enter the homepage. The sitemap list is the closest thing to a complete inventory the site itself publishes; the page-link list shows what the homepage exposes. Export either as CSV or JSON.

Does the tool crawl the whole site?

No. It fetches one page and the sitemap. Following every link and checking every status code is a crawl, which takes minutes to hours and is not what this tool is for.

Why are links missing that I can see in my browser?

They are probably added by JavaScript after load. The server reads the HTML as sent. The agent view loads the page in a real browser and lists its controls, links included.

What counts as external?

A different registrable domain, decided with the public suffix list. Subdomains of the same domain are same-site.

Is the list stored?

No. It is built for one response and then dropped. A usage journal keeps the time and size of the fetch.

Work through the list with an agent

Five browser hours, no card. Paste the JSON export into a loop block and let a session visit each URL.