Skip to content

Sitemap URLs

Paste a site URL. We read its sitemap (and robots.txt) and list every page location.

  • Respects robots.txt
  • Finds all sitemap files
  • Fast and free

Try an example: microlink.io·vercel.com·stripe.com

How do I list every URL in a website sitemap?

Paste any site URL into this sitemap tool. It reads Sitemap: from that origin’s robots.txt, walks nested sitemap indexes, and lists every page loc.
Copy the list, download it as a text file, or reuse the same function from your own code with the Microlink SDK.

How does this find the sitemap?

Discovery is robots-only. The function fetches /robots.txt on the origin you pasted and expands each Sitemap: URL. If robots.txt has no sitemap lines, the result is empty.
Nested sitemap indexes are followed. Page URLs are the non-XML loc values.

Can I run this from my own code?

The tool calls microlink.function(). The function does not start a browser — it reads Sitemap: from robots.txt, then xml-urls walks nested indexes with isolate fetch.
import createClient from 'microlink.io'

const microlink = createClient()

const { value } = await microlink.function(
  'https://microlink.io',
  async ({ site }) => {
    // Discover sitemap URLs from this origin's robots.txt
    const { href: robotsUrl } = new URL('/robots.txt', site)
    const res = await fetch(robotsUrl)
    const body = res.ok ? await res.text() : ''
    const robotsParser = require('robots-parser')
    const sitemaps = robotsParser(robotsUrl, body).getSitemaps()
  
    // Walk nested sitemap indexes. `fetcher` is how each document is loaded.
    return require('xml-urls')(sitemaps, { fetcher: fetch })
  },
  {
    site: "https://microlink.io"
  }
)

Why did the list time out or come back empty?

The list is empty when robots.txt has no Sitemap: lines. A Function failure (timeout, blocked fetch, or budget) shows the error panel instead. Large or deeply nested sitemaps can exceed the free 5-second limit.
See the function troubleshooting guide for timeout, memory, and outgoing-request limits.

Other questions?

We’re always available at [email protected].