Api Endpoint

URL Parser and Domain Extractor

URL parser: parse and canonicalise a URL, and extract its registrable domain using the Public Suffix List — the part an agent needs to decide whether two URLs belong to the same owner. Returns scheme, host, port, path, decoded query parameters and fragment, the public suffix, the registrable domain (eTLD+1), the subdomain, whether the suffix is ICANN or private, plus a canonical form with default port, dot-segments and percent-encoding normalised. unicode_host uses WHATWG/UTS 46 (non-strict).

Open interactive test console

Offering

Provider
api.duoleads.com
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
General Utilities
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.duoleads.com/v1/code/url
MIME type
application/json
First seen
2026-10-16T01:50:38.788Z
Last seen
Tags
url, url-parser, domain, domains, psl

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.05 USDC
Atomic price: 50000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "payTo": "0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39"
  }
]

Observed health

Status
Healthy
Latest latency
34 ms
Average latency
704 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "Absolute URL, or a bare hostname (https:// assumed).",
          "maxLength": 2048
        },
        "base": {
          "type": "string",
          "description": "Base URL to resolve url against as a relative reference.",
          "maxLength": 2048
        }
      },
      "required": [
        "url"
      ]
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "base": {
              "description": "Base URL to resolve url against as a relative reference.",
              "maxLength": 2048,
              "type": "string"
            },
            "url": {
              "description": "Absolute URL, or a bare hostname (https:// assumed).",
              "maxLength": 2048,
              "type": "string"
            }
          },
          "required": [
            "url"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "data": {
              "properties": {
                "canonical": {
                  "type": "string"
                },
                "fragment": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "host": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "host_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "path": {
                  "type": "string"
                },
                "port": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "public_suffix": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "query": {
                  "items": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "key",
                      "value"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "registrable_domain": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "scheme": {
                  "type": "string"
                },
                "subdomain": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "suffix_source": {
                  "type": "string"
                },
                "unicode_host": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "username": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "canonical",
                "scheme",
                "username",
                "host",
                "port",
                "path",
                "fragment",
                "query",
                "public_suffix",
                "registrable_domain",
                "subdomain",
                "suffix_source",
                "host_type",
                "unicode_host"
              ],
              "type": "object"
            },
            "meta": {
              "properties": {
                "computed_at": {
                  "description": "RFC 3339 UTC with milliseconds",
                  "type": "string"
                },
                "deterministic": {
                  "type": "boolean"
                },
                "disclaimer": {
                  "type": "string"
                },
                "price_usd": {
                  "type": "string"
                },
                "request_id": {
                  "type": "string"
                },
                "sources": {
                  "items": {
                    "required": [
                      "id",
                      "version",
                      "published"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "request_id",
                "computed_at",
                "price_usd",
                "deterministic",
                "disclaimer"
              ],
              "type": "object"
            },
            "ok": {
              "const": true
            },
            "route": {
              "const": "/v1/code/url"
            },
            "version": {
              "type": "string"
            }
          },
          "required": [
            "ok",
            "route",
            "version",
            "data",
            "meta"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}