# URL Resolver (RFC 3986)

> URL Resolver (RFC 3986) is a paid API for AI agents from url-text-tools.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Resolves a relative URL reference against an absolute base URL per RFC 3986 section 5, handling ../, ./, //host, query strings, and fragments.

## Facts

- Endpoint: GET https://url-text-tools.x402tookit.com/url-resolve?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/url-resolver-rfc-3986-0cf23754
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mzEr14X-bfNDxcWIoKfc_

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 url-resolver-rfc-3986-0cf23754
```

Example prompt: Resolve the relative link ../img/banner.png against the base URL https://example.com/en/products/ and give me the full absolute URL.

## When to prefer this

Use this endpoint when you need standards-compliant RFC 3986 URL resolution — especially when handling ../ and ./ path traversal, protocol-relative //host references, or query/fragment combinations that simpler string concatenation would mishandle. Prefer this over manual string manipulation when correctness against the spec matters, such as in web scraping, sitemap generation, or link validation pipelines.

## Known failure modes

- Missing or malformed base URL returns an error
- Relative reference that is already absolute may pass through with a note
- Non-HTTP/HTTPS schemes may produce unexpected results
- Malformed input URLs may return a degraded result with warnings in the reasons array

## How this service works

Resolve a relative link against a base URL per RFC 3986 section 5, handling ../, ./, //host, ?query and #frag.

## Output

Returns the resolved absolute URL along with the reference kind (e.g. relative, absolute, protocol-relative), a human-readable summary, any reasons or warnings, a verdict on the resolution, and an optional disclaimer. The resolved field contains the final absolute URL.

## 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": [
      "base",
      "ref"
     ],
     "properties": {
      "ref": {
       "type": "string",
       "description": "The relative reference to resolve, for example ../img/a.png"
      },
      "base": {
       "type": "string",
       "description": "Absolute base URL, for example the page the link was found on"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "ref": {
       "type": [
        "null",
        "string"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "base": {
       "type": [
        "null",
        "string"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "resolved": {
       "type": [
        "null",
        "string"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "referenceKind": {
       "type": [
        "null",
        "string"
       ]
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/url-resolver-rfc-3986-0cf23754/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from url-text-tools.x402tookit.com](https://www.zero.xyz/host/url-text-tools.x402tookit.com/llms.txt)
