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

WhenResultHTTPTimePrice
18 min agoPassed402225 ms$0.002
4 h agoPassed402246 ms$0.002
7 h agoPassed402247 ms$0.002
11 h agoPassed402252 ms$0.002
15 h agoPassed402242 ms$0.002
18 h agoPassed402279 ms$0.002
22 h agoPassed402617 ms$0.002
25 h agoPassed402337 ms$0.002
29 h agoPassed402246 ms$0.002
33 h agoPassed402357 ms$0.002
36 h agoPassed402615 ms$0.002
41 h agoPassed402276 ms$0.002