# Mekler AI URL Inventory Extractor

> Mekler AI URL Inventory Extractor is a paid API for AI agents from api.mekler.ai, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-29).

Extracts a bounded, deduplicated inventory of URLs from static HTML anchor tags or same-origin XML sitemaps, returning normalized URLs with anchor text, relation flags, and occurrence counts.

## Facts

- Endpoint: POST https://api.mekler.ai/v1/web/links/extract-inventory?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mekler-ai-url-inventory-extractor-42506122
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZgN1kOIhkmZkFAWugNhic

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 mekler-ai-url-inventory-extractor-42506122 -d '<json body>'
```

Example prompt: Can you extract all the links from https://example.com using sitemap mode and give me up to 150 URLs, including their anchor text and whether they're internal or external?

## When to prefer this

Use this endpoint when you need a fast, structured, deduplicated inventory of links or sitemap URLs from a static web page without needing JavaScript execution, full crawling, or reachability verification. Ideal for SEO audits, content mapping, or pre-crawl reconnaissance where bounded, normalized URL lists suffice. Prefer it over full crawlers when cost, speed, and simplicity matter more than completeness.

## Known failure modes

- JavaScript-rendered links not returned — only static HTML anchors are parsed
- Sitemap documents over 1 MiB per file are skipped
- Cross-origin sitemaps are not followed — only same-origin sitemap traversal
- More than 200 URLs causes truncation with truncated=true flag
- Unreachable or malformed URLs in sitemaps are skipped and reported in skipped array
- Non-XML sitemaps or HTML pages with no anchors return empty links array
- Private or access-restricted URLs return fetch errors

## How this service works

Extract a bounded URL inventory from static HTML anchors or same-origin XML sitemaps. Return normalized URLs, anchor text, relation flags, source and coverage bounds; deduplicate links while retaining occurrence counts. Up to 200 URLs and five uncompressed 1 MiB sitemap documents. No JavaScript rendering, linked-page crawl, reachability checks or search-index completeness.

## Output

A JSON object containing a deduplicated list of up to 200 normalized URLs found on the page or in sitemaps, each with anchor text, rel attributes, internal/external flag, source URL, and occurrence count. Also includes coverage bounds, truncation flag, list of sources visited, canonical URL candidates, any skipped sitemaps, and a timestamp of when the data was observed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048
  },
  "mode": {
   "enum": [
    "links",
    "sitemap"
   ],
   "type": "string",
   "default": "links"
  },
  "max_urls": {
   "type": "integer",
   "default": 100,
   "maximum": 200,
   "minimum": 1
  },
  "request_id": {
   "type": "string",
   "pattern": "^[A-Za-z0-9_-]{16,64}$"
  },
  "max_sitemaps": {
   "type": "integer",
   "default": 3,
   "maximum": 5,
   "minimum": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://mekler.ai/",
  "mode": "links",
  "links": [
   {
    "rel": [
     "help"
    ],
    "url": "https://mekler.ai/start/",
    "anchor": "Get started",
    "source": "https://mekler.ai/",
    "internal": true,
    "occurrences": 1
   }
  ],
  "bounds": {
   "max_urls": 100,
   "max_sitemaps": 3
  },
  "status": "ok",
  "skipped": [],
  "truncated": false,
  "limitations": [
   "Static anchors or uncompressed XML sitemaps only; no JavaScript execution, linked-page crawling, reachability checks or search-index coverage.",
   "Fragments are removed; query strings are retained. Page links are deduplicated by normalized URL with occurrence counts. Link evidence is capped at 24 KiB; truncated marks either byte or count limits.",
   "Sitemap traversal stays on the starting origin, follows at most 5 sitemap documents of 1 MiB each, and returns at most 200 URLs. Bounds/skips describe coverage, not completeness of the site."
  ],
  "observed_at": "2026-10-20T00:00:00Z",
  "sources_visited": [
   "https://mekler.ai/"
  ],
  "pending_sitemaps": 0,
  "canonical_candidates": [
   "https://mekler.ai/"
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mekler-ai-url-inventory-extractor-42506122/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.mekler.ai](https://www.zero.xyz/host/api.mekler.ai/llms.txt)
