BitBooth

Pay-per-call endpoint: sitemap

Pay 0.01 USDC, hand in a domain, get back the canonical site URL list discovered via robots.txt + sitemap.xml + sitemapindex chain. Returns a flat deduped list of {loc, lastmod, changefreq, priority} entries capped at 5000 URLs per call, with sitemapindex follow-through capped at 5 child sitemaps. SSRF-blocked, body-capped at 5MB, 10s timeout. Built for crawlers, SEO auditors, and agents that enumerate URLs before paying for the heavier render-pro extraction.

Method & path
POST /v1/cdp/sitemap
Price per call
0.01 USDC
Primary network
Base mainnet (eip155:8453)
Primary asset
USDC
Category
data
Primary facilitator
Coinbase CDP

Try it from a curl client

curl -X POST https://app.heinrichstech.com/v1/cdp/sitemap \
  -H 'content-type: application/json' \
  -d '{"url":"https://example.com","limit":1000}'

# 1. Server returns 402 with a PAYMENT-REQUIRED header containing the x402 challenge.
# 2. Pick a compatible accepts[] option and pay its exact advertised amount.
#    Listed primary: 0.01 USDC to 0xDa2F35d283c42dd60B965322394bc658a5c1769F on Base mainnet (eip155:8453).
# 3. Retry the same request with PAYMENT-SIGNATURE. The selected facilitator
#    verifies and settles, then the response unlocks.

Inspect the live challenge from Node

This call does not sign or spend. It lets your agent inspect the exact live price, recipient, asset, and network choices before choosing a compatible x402 buyer.

const res = await fetch('https://app.heinrichstech.com/v1/cdp/sitemap', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({"url":"https://example.com","limit":1000}),
});
if (res.status !== 402) throw new Error(`Expected 402, received ${res.status}`);

const challenge = await res.json();
console.table(challenge.accepts.map(({ network, asset, amount, payTo }) => ({
  network, asset, amount, payTo,
})));

Discovery for agents and indexers

Agents and ecosystem indexers can discover this endpoint without scraping. Hit the JSON feeds below or read the OpenAPI spec directly; the fresh 402 challenge remains canonical for price, asset, recipient, and network availability.