# Minifetch Proxy Render URL Link Extractor

> Minifetch Proxy Render URL Link Extractor is a paid API for AI agents from minifetch.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-14).

Fetches JavaScript-rendered or bot-blocking pages via an external rotating proxy with headless browser rendering, then extracts and categorizes all links (internal, external, anchor) with rel attributes, anchor text, and aggregate SEO stats.

## Facts

- Endpoint: GET https://minifetch.com/api/v1/x402/proxy/render/extract/url-links?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/minifetch-proxy-render-url-link-extractor-6269c4ea
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EyZeX3p936lU47hl9Mx8R

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 minifetch-proxy-render-url-link-extractor-6269c4ea
```

Example prompt: Extract all internal, external, and anchor links from https://example.com — the page uses React so it needs JavaScript rendering — and fetch it as if I'm in Germany.

## When to prefer this

Choose this endpoint when the target page uses JavaScript frameworks (React, Vue, Angular) that require headless browser rendering to reveal links, or when the page actively blocks the standard Minifetch proxy that respects robots.txt. Also prefer this when you need geo-specific link data by specifying a country code. For static pages that don't block scrapers, use the cheaper non-proxy /extract/url-links endpoint instead.

## Known failure modes

- Invalid or unreachable target URL returns an error
- Invalid 2-letter country code returns HTTP 400
- Page load timeout if the JS-rendered page takes too long to render
- Headless browser crashes or fails to render complex pages
- Payment failure if USDC balance is insufficient for the $0.004 per-call fee
- Target site may still return error pages even after proxy render

## How this service works

For JavaScript-rendered pages & pages blocking native Minifetch that obeys robots.txt: fetch thru external rotating proxy, render JS in headless browser & extract same categorized links as /extract/url-links (internal, external, anchor) with rel attributes, anchor text and summary stats. Optional ?country= (2-letter code) to fetch from a specific country. Not cached. Does not obey robots.txt. Supports GET & POST

## Output

Returns a structured object containing the final resolved URL after redirects; categorized link arrays for internal links (same-host), external links (cross-host), and anchor/fragment links — each with href, anchor text, and rel attributes; aggregate summary stats including total link count, internal/external/anchor counts, nofollow count, empty-text count, image links missing alt count, unique external domains, top external domains by frequency, and top internal targets by link count; plus proxy metadata indicating whether JS was rendered, the country used, and the proxy provider.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "The target URL from which to extract the links."
      },
      "country": {
       "type": "string",
       "description": "Optional. 2-letter ISO 3166-1 country code (ex: de, mx) to fetch from. Invalid code returns 400."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "results": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "data": {
          "type": "object",
          "properties": {
           "url": {
            "type": "string",
            "description": "Final URL after redirects"
           },
           "links": {
            "type": "object",
            "properties": {
             "anchors": {
              "type": "array",
              "description": "In-page #fragment links, each { href, text }"
             },
             "summary": {
              "type": "object",
              "properties": {
               "totalLinks": {
                "type": "integer"
               },
               "anchorCount": {
                "type": "integer"
               },
               "externalCount": {
                "type": "integer"
               },
               "internalCount": {
                "type": "integer"
               },
               "nofollowCount": {
                "type": "integer"
               },
               "emptyTextCount": {
                "type": "integer"
               },
               "topExternalDomains": {
                "type": "array",
                "description": "Busiest external domains, each { domain, count }"
               },
               "topInternalTargets": {
                "type": "array",
                "description": "Most-linked internal pages, each { url, count, anchorTexts[] }"
        
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/minifetch-proxy-render-url-link-extractor-6269c4ea/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from minifetch.com](https://www.zero.xyz/host/minifetch.com/llms.txt)
