{"uid":"cap_fomuOsb5m0DjWVgnomKsY","slug":"grist-tools-sitemap-parse-5a30f190","name":"grist.tools Sitemap Parse","description":"x402 API catalogue for AI agents: 50 deterministic HTTP endpoints, paid per call with no account and no API key. One endpoint does one thing, always the same way, for a fraction of a cent.","url":"https://grist.tools/v1/sitemap-parse?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Absolute http(s) URL, up to 2048 characters, of a sitemap, a sitemap index or a bare origin (path / and no query); a bare origin is resolved through robots.txt Sitemap: lines or /sitemap.xml."},"limit":{"type":"integer","description":"Maximum number of URLs returned across every document read, 1 to 50000 (default 5000); past it the list is cut and reported as truncated."},"max_sitemaps":{"type":"integer","description":"Maximum number of sitemap documents fetched, entry document included, 1 to 50 (default 10); children past it are reported as skipped with reason sitemap_limit."},"include_metadata":{"type":"boolean","description":"When true each URL carries its lastmod, changefreq and priority; when false (default) those three fields are null."},"discover_from_robots":{"type":"boolean","description":"Only for a bare origin: when true (default) the Sitemap: lines of /robots.txt are read first with /sitemap.xml as the fallback, when false /sitemap.xml is used directly."}}},"responseSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["requested_url","entry_url","source_url","discovery","kind","format","urls","count","total_seen","truncated","stopped_reason","sitemap_count","sitemaps_visited","sitemaps_skipped","sitemaps_skipped_total","sitemaps_skipped_by_reason","invalid_loc_count","invalid_lastmod_count","robots_sitemaps","fetched_at"],"properties":{"kind":{"enum":["urlset","sitemapindex","mixed"],"type":"string"},"urls":{"type":"array","items":{"type":"object","required":["loc","lastmod","changefreq","priority"],"properties":{"loc":{"type":"string"},"lastmod":{"anyOf":[{"type":"string"},{"type":"null"}]},"priority":{"anyOf":[{"type":"number"},{"type":"null"}]},"changefreq":{"anyOf":[{"enum":["always","hourly","daily","weekly","monthly","yearly","never"],"type":"string"},{"type":"null"}]}},"additionalProperties":false}},"count":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"format":{"enum":["xml","text","rss","atom"],"type":"string"},"discovery":{"enum":["direct","robots_txt","well_known_path"],"type":"string"},"entry_url":{"type":"string"},"truncated":{"type":"boolean"},"fetched_at":{"type":"string"},"source_url":{"type":"string"},"total_seen":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"requested_url":{"type":"string"},"sitemap_count":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"stopped_reason":{"anyOf":[{"enum":["url_limit","sitemap_limit","time_budget","depth_limit","cross_host","documents_skipped"],"type":"string"},{"type":"null"}]},"robots_sitemaps":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"sitemaps_skipped":{"type":"array","items":{"type":"object","required":["url","reason"],"properties":{"url":{"type":"string"},"reason":{"enum":["depth_limit","sitemap_limit","cross_host","too_large","malformed","duplicate","time_budget","not_fetchable"],"type":"string"}},"additionalProperties":false}},"sitemaps_visited":{"type":"array","items":{"type":"object","required":["url","kind","url_count","http_status","bytes","gzip","depth"],"properties":{"url":{"type":"string"},"gzip":{"type":"boolean"},"kind":{"enum":["urlset","sitemapindex"],"type":"string"},"bytes":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"depth":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"url_count":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"http_status":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991}},"additionalProperties":false}},"invalid_loc_count":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"invalid_lastmod_count":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"sitemaps_skipped_total":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"sitemaps_skipped_by_reason":{"type":"object","required":["depth_limit","sitemap_limit","cross_host","too_large","malformed","duplicate","time_budget","not_fetchable"],"properties":{"duplicate":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"malformed":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"too_large":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"cross_host":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"depth_limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"time_budget":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"not_fetchable":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"sitemap_limit":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991}},"additionalProperties":false}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_aTjULqoWWERflowrAyDin","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches and parses an XML, text, RSS, or Atom sitemap (or sitemap index) from a given URL or bare origin, returning all discovered URLs with optional metadata.","exampleAgentPrompt":"Parse the sitemap for https://example.com and give me all the URLs it contains, including their lastmod dates — discover it through robots.txt if possible and return up to 10000 URLs.","exampleUseCases":[{"title":"SEO audit URL discovery","prompt":"Pull all the URLs from the sitemap at https://mybrand.com so I can audit which pages are indexed — include lastmod and priority metadata, and find the sitemap through robots.txt."},{"title":"Competitor content mapping","prompt":"Fetch the sitemap for https://competitor.com and list every URL it exposes, up to 5000 entries, so I can map out their content structure."},{"title":"Content freshness monitoring","prompt":"Parse the sitemap at https://news-site.com/sitemap.xml with metadata included so I can see which articles have the most recent lastmod dates — limit to 500 URLs."}],"resultDescription":"Returns a structured object containing the full list of discovered URLs (with optional lastmod, changefreq, and priority per entry), total URL count, whether the result was truncated, number of sitemaps visited, any skipped sitemaps with reasons, the discovery method used (direct, robots.txt, or well-known path), format detected (xml/text/rss/atom), and a fetch timestamp.","failureModes":["URL is not reachable or returns non-2xx — sitemap listed as not_fetchable","Sitemap is malformed XML or unsupported format — reported in sitemaps_skipped with reason malformed","Result truncated when URL count exceeds the specified limit — truncated flag set to true","Sitemap index children exceed max_sitemaps limit — extras skipped with reason sitemap_limit","Cross-host sitemap links skipped — reported with reason cross_host","Sitemap too large to process — reported with reason too_large","robots.txt has no Sitemap: lines and /sitemap.xml is absent — entry_url falls back or returns empty"],"whenToPreferThis":"Choose this endpoint when you need a deterministic, no-auth, pay-per-call way to extract all URLs from a website's sitemap, including sitemap index traversal and robots.txt-based discovery. It is especially useful for SEO audits, content mapping, change monitoring pipelines, or any agent workflow that needs a reliable structured list of a site's public pages without setting up scraping infrastructure.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T00:43:38.194Z","isFirstParty":false,"canonicalSlug":"grist-tools-sitemap-parse-5a30f190"}