81trust / 100

Web Links

by Otto AI in Search & web

x402 APIPassing, checked 3 h ago

Extract all links (hrefs) from any web page as structured JSON — every internal, external and anchor link, deduplicated, returned with a total count. Renders the page in a real headless browser, so it captures links injected after JavaScript runs that fetch-only scrapers miss. For crawling, sitemap building, link audits and site-structure mapping. Keyless, pay-per-call.

GET https://x402.ottoai.services/web-links

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
67 ms typical, 67 ms slowest 5%
Last check
3 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402.ottoai.services/web-links?url=https%3A%2F%2Fblog.ethereum.org%2F2024%2F02%2F27%2Fdencun-mainnet-announcement"
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.03:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402.ottoai.services%2Fweb-links
const res = await pay("https://x402.ottoai.services/web-links?url=https%3A%2F%2Fblog.ethereum.org%2F2024%2F02%2F27%2Fdencun-mainnet-announcement");
console.log(await res.json());

Example input

{
  "url": "https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement"
}

Example output

{
  "data": {
    "count": 63,
    "generatedAt": "2026-08-10T09:43:01.185Z",
    "links": [
      "https://eips.ethereum.org/EIPS/eip-7569"
    ],
    "url": "https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement"
  },
  "meta": {
    "degraded": false,
    "generatedAt": "",
    "stalenessSec": 0,
    "validUntil": ""
  },
  "status": "success"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoPassed40267 ms$0.003