Sitemap Parser
Fetch and parse a sitemap with URL metadata and stats. Pass the sitemap URL, or just the site address and the sitemap is found through robots.txt and the usual paths
Parameters
| name | in | type | required | description |
|---|---|---|---|---|
url |
query | string | required | The sitemap URL, or just the site address (https://example.com). The sitemap is then looked up in robots.txt and at the usual paths. |
limit |
query | number | optional |
Maximum number of URLs to return
range 1 to 1000
default 100
|
follow_index |
query | boolean | optional | Follow and parse child sitemaps in a sitemap index |
Request
Send your key in the X-API-Key header. More languages and patterns live on the
code examples page.
curl -s "https://apixies.io/api/v1/parse-sitemap?url=https%3A%2F%2Fexample.com%2Fsitemap.xml" \ -H "X-API-Key: YOUR_API_KEY"
Response
The result sits under data in the standard envelope. See the
response format guide for errors and status codes.
returns
- data.urls
- Each URL with loc, lastmod, changefreq and priority.
- data.total_urls
- URLs in the sitemap, before the limit. With follow_index: URLs in the child sitemaps that were read.
- data.stats
- How many URLs set lastmod, changefreq and priority, plus the date range.
- data.type
- Either urlset or sitemapindex.
- data.returned_urls
- URLs included in this response.
- data.url
- The sitemap that was parsed. Differs from requested_url when it had to be found.
- data.discovered_via
- How the sitemap was found: robots.txt, common path, or null when the URL you passed was the sitemap.
- data.stats.child_sitemaps_failed
- With follow_index: child sitemaps that were unreachable, not valid XML, or over 16 MB.
{
"status": "success",
"http_code": 200,
"code": "SUCCESS",
"message": "Sitemap parsed successfully",
"data": {
"url": "https://example.com/sitemap.xml",
"type": "urlset",
"requested_url": "https://example.com",
"discovered_via": "robots.txt",
"total_urls": 247,
"returned_urls": 100,
"urls": [
{
"loc": "https://example.com/",
"lastmod": "2026-02-28",
"changefreq": "daily",
"priority": "1.0"
}
],
"stats": {
"has_lastmod": 180,
"has_changefreq": 50,
"has_priority": 50,
"oldest_lastmod": "2024-03-10",
"newest_lastmod": "2026-02-28"
}
}
}
Authentication and limits
This endpoint needs an API key. Use the sandbox ("try it" above) to test it without registering. See the authentication guide for details.
Standard rate limits apply to this endpoint.
related endpoints
More documentation
Get a free API key
A temporary key takes one click and no signup. Register and you get 75 requests/day. Free tier is for development & small projects.