78trust / 100
Site Map
by Agent Utility Suite in Weather & location
x402 APIPassing, checked 18 min ago
List a website's pages from any URL on it: reads robots.txt and XML sitemaps (indexes and .xml.gz included), or the home page's links when there is no sitemap. Returns URLs with last-modified dates; filter by search words or path prefix, up to 1,000 URLs. Find pricing, docs, blog or careers pages before scraping them. Not charged when nothing is found. No account or API key. $0.002 USDC per call.
POST https://x402-agent-api.onrender.com/api/v1/site-map
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 252 ms typical, 615 ms slowest 5%
- Last check
- 18 min ago
- Next check
- in 15 min
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://x402-agent-api.onrender.com/api/v1/site-map" \
-H "content-type: application/json" \
-d '{"limit":3,"path_prefix":"/blog/","url":"https://example.com"}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402-agent-api.onrender.com%2Fapi%2Fv1%2Fsite-map
const res = await pay("https://x402-agent-api.onrender.com/api/v1/site-map", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"limit":3,"path_prefix":"/blog/","url":"https://example.com"}),
});
console.log(await res.json());Example input
{
"limit": 3,
"path_prefix": "/blog/",
"url": "https://example.com"
}Example output
{
"count": 3,
"next_calls": [
{
"arguments": {
"urls": [
"https://example.com/blog/agent-payments",
"https://example.com/blog/x402-launch",
"https://example.com/blog/hello-world"
]
},
"price": "$0.008",
"tool": "scrape_batch",
"why": "Read the first 3 of these pages in one call."
},
{
"arguments": {
"url": "https://example.com/blog/agent-payments"
},
"price": "$0.002",
"tool": "scrape_markdown",
"why": "Read the first page as Markdown."
}
],
"scanned": 412,
"site": "https://example.com",
"sitemaps_read": [
"https://example.com/sitemap_index.xml",
"https://example.com/post-sitemap.xml"
],
"source": "sitemap",
"total_found": 57,
"truncated": true,
"urls": [
{
"lastmod": "2026-09-30T08:12:00+00:00",
"title": null,
"url": "https://example.com/blog/agent-payments"
},
{
"lastmod": "2026-09-12T14:03:00+00:00",
"title": null,
"url": "https://example.com/blog/x402-launch"
},
{
"lastmod": "2026-08-01",
"title": null,
"url": "https://example.com/blog/hello-world"
}
]
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 18 min ago | Passed | 402 | 225 ms | $0.002 |
| 4 h ago | Passed | 402 | 246 ms | $0.002 |
| 7 h ago | Passed | 402 | 247 ms | $0.002 |
| 11 h ago | Passed | 402 | 252 ms | $0.002 |
| 15 h ago | Passed | 402 | 242 ms | $0.002 |
| 18 h ago | Passed | 402 | 279 ms | $0.002 |
| 22 h ago | Passed | 402 | 617 ms | $0.002 |
| 25 h ago | Passed | 402 | 337 ms | $0.002 |
| 29 h ago | Passed | 402 | 246 ms | $0.002 |
| 33 h ago | Passed | 402 | 357 ms | $0.002 |
| 36 h ago | Passed | 402 | 615 ms | $0.002 |
| 41 h ago | Passed | 402 | 276 ms | $0.002 |