← All APIs Parsing

Sitemap URL Extractor API

Extract all URLs from a sitemap.xml file, including nested sub-sitemaps, with metadata.

Give this API a link to any website's sitemap.xml file and it will fetch and parse it, returning every URL found inside. If the sitemap links to other sitemaps (called sitemap indexes), it will follow and extract those too. Each URL is returned with any extra information available, such as when the page was last updated and how often it changes. Useful for SEO audits, content inventories, broken link checks, and competitive research.

POSThttps://sitemap-url-extractor.underscoredone.com/extract
Pricing

$0.01 per request — pay via x402/USDC. No account needed.

How to call

POST a JSON body with a single field called 'sitemap_url' containing the full URL of the sitemap.xml file you want to parse. The API will follow any nested sitemap index files automatically and return a flat list of all discovered URLs along with their metadata. If the sitemap is unreachable, returns a 400 error. If the URL does not point to valid XML sitemap content, returns a 400 error. Do not pass multiple URLs — one call, one sitemap URL. Use the 'total_urls' field to quickly count results without iterating the list.

Input parameters
NameTypeRequiredDescription
sitemap_urlstringyesThe full web address of the sitemap.xml file you want to read, for example: https://example.com/sitemap.xml
Example requests
Typical input
{
  "sitemap_url": "https://onescales.com/sitemap.xml"
}
Zero or empty input
{
  "sitemap_url": ""
}
Invalid input (400 error)
{
  "sitemap_url": "not-a-real-url"
}
Large input
{
  "sitemap_url": "https://www.nytimes.com/sitemaps/sitemap_index.xml"
}
Example response
{
  "api_version": "1.0.0",
  "total_urls": 6,
  "sitemaps_found": 1,
  "urls": [
    {
      "url": "https://onescales.com/pages/contact",
      "lastmod": "2022-12-27T03:01:05-05:00",
      "changefreq": "weekly",
      "priority": null
    },
    {
      "url": "https://onescales.com/pages/about",
      "lastmod": "2025-09-29T21:38:56-04:00",
      "changefreq": "weekly",
      "priority": null
    }
  ]
}
Error responses
StatusMeaning
400Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
402Payment required. Send a signed USDC payment on Base Mainnet using the x402 protocol.
422Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
Links