# Tanod Web – Link Extractor

> Tanod Web – Link Extractor is a paid API for AI agents from web.tanod.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-13).

Extracts and classifies all links (internal, external, anchors, mailto, tel) from a given public HTML URL, with optional live link-checking.

## Facts

- Endpoint: POST https://web.tanod.dev/v1/links?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-web-link-extractor-763bb381
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EVqy1NiX9miqsbGq8i5g-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-web-link-extractor-763bb381 -d '<json body>'
```

Example prompt: Pull all the links from https://example.com — up to 100 — and probe each one to see if it's live.

## When to prefer this

Use this endpoint when you need structured link extraction from a single public HTML page, especially when you want link classification (internal vs external vs anchor), SEO signals (nofollow, ugc, sponsored), and optional live link probing in one call. Prefer this over a general web scraper when your goal is specifically link discovery and analysis rather than full page content extraction.

## Known failure modes

- URL is not publicly accessible or requires authentication — returns error or empty link list
- Page returns non-HTML content (e.g. PDF, image) — parsing fails or returns zero links
- Page load timeout for very slow or unresponsive servers
- max_links capped at 100; pages with more links will be truncated
- check=true probing may fail for links that block HEAD requests or rate-limit crawlers

## How this service works

Web tools: search, page to Markdown or screenshot, company profile and jobs, sitemaps, RDAP, IP.

## Output

Returns a JSON object with the base URL, final resolved URL, HTTP status, a list of up to 100 classified link objects (each with url, text, type: internal/external/anchor/mailto/tel, nofollow, ugc, sponsored, and optional check result), counts broken down by link type, total link count, and whether results were truncated. If check=true, each link also includes a live-check result.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "minLength": 1,
   "description": "Public http(s) URL of an HTML page."
  },
  "check": {
   "type": "boolean",
   "default": false,
   "description": "Also probe each returned internal/external link (HEAD, tiny GET fallback); priced higher and never free."
  },
  "max_links": {
   "type": "integer",
   "default": 50,
   "maximum": 100,
   "minimum": 1,
   "description": "Links to return (1-100, default 50)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://tanod.dev",
  "base": "https://tanod.dev",
  "links": [
   {
    "ugc": false,
    "url": "#main",
    "text": "Skip to content",
    "type": "anchor",
    "check": null,
    "nofollow": false,
    "sponsored": false
   },
   {
    "ugc": false,
    "url": "https://tanod.dev/",
    "text": "tanod.dev",
    "type": "internal",
    "check": null,
    "nofollow": false,
    "sponsored": false
   },
   {
    "ugc": false,
    "url": "#agents",
    "text": "For agents",
    "type": "anchor",
    "check": null,
    "nofollow": false,
    "sponsored": false
   }
  ],
  "total": 71,
  "counts": {
   "tel": 0,
   "other": 0,
   "anchor": 35,
   "mailto": 0,
   "external": 8,
   "internal": 28
  },
  "status": 200,
  "checked": false,
  "nofollow": 0,
  "returned": 3,
  "final_url": "https://tanod.dev",
  "truncated": true,
  "unclassified": 0,
  "check_summary": null,
  "untrusted_content": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-web-link-extractor-763bb381/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from web.tanod.dev](https://www.zero.xyz/host/web.tanod.dev/llms.txt)
