# APIAcre Web Link Extractor

> APIAcre Web Link Extractor is a paid API for AI agents from apiacre.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Extracts, normalizes, and classifies all internal and external hyperlinks from a public web page URL.

## Facts

- Endpoint: POST https://apiacre.com/v1/web/links
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/apiacre-web-link-extractor-015f0e42
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZHBcA2wwvVkQj3aUQ-yCp

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 apiacre-web-link-extractor-015f0e42 -d '<json body>'
```

Example prompt: Can you pull all the internal and external links from https://example.com/blog and tell me which ones go off-site?

## When to prefer this

Choose this endpoint when you need a structured, normalized breakdown of all hyperlinks on a single public web page — especially when you need internal vs. external classification built in. It is ideal for SEO auditing, link graph construction, or pre-processing pages before a crawl, and avoids building your own HTML parser and URL normalization logic.

## Known failure modes

- Non-public or paywalled URL returns an error or empty result
- Malformed or non-HTTP URL causes a 400-level validation error
- Page with JavaScript-rendered links may miss dynamically injected anchors
- Rate limiting or network timeout if the target page is slow to respond
- Pages that block scrapers via robots.txt or IP filtering may return empty or error

## How this service works

Extract and classify links from one public page or safely crawl up to 10 same-origin pages into an agent-ready site map with page provenance, depth limits, and robots.txt enforcement.

## Output

A structured list of all hyperlinks found on the given web page, each normalized to a full absolute URL and classified as either internal (same domain) or external (different domain), along with any relevant metadata such as anchor text or link type.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string"
  },
  "max_depth": {
   "type": "integer"
  },
  "max_pages": {
   "type": "integer"
  },
  "respect_robots": {
   "type": "boolean"
  },
  "include_external": {
   "type": "boolean"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "url": "https://example.com/",
   "count": 1,
   "crawl": {
    "enabled": true,
    "maxDepth": 2,
    "maxPages": 3,
    "pagesFetched": 1,
    "pagesAttempted": 1
   },
   "links": [
    {
     "url": "https://iana.org/domains/example",
     "text": "Learn more",
     "external": true
    }
   ],
   "pages": [
    {
     "url": "https://example.com/",
     "depth": 0,
     "title": "Example Domain",
     "statusCode": 200,
     "discoveredFrom": null
    }
   ],
   "errors": [],
   "origin": "https://example.com",
   "skipped": [],
   "external": 1,
   "internal": 0
  },
  "meta": {
   "cached": false,
   "sources": [],
   "warnings": [],
   "duration_ms": 42,
   "next_actions": [
    {
     "path": "/v1/web/robots-sitemap",
     "title": "Robots and sitemap audit",
     "method": "POST",
     "reason": "Compare crawl-discovered pages with robots.txt rules and declared XML sitemap...",
     "service": "web.robots-sitemap"
    }
   ]
  },
  "service": "web.links",
  "version": "1",
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a"
 }
}
```

## More

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