{"uid":"cap_nDwPFMeGcW73JOtehVkVi","slug":"url-normalizer-1027cf30","name":"URL Normalizer","description":"Normalize a URL for de-duplication: lowercase scheme/host, drop default port, resolve dot segments, tidy %-escapes.","url":"https://url-text-tools.x402tookit.com/url-normalize?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"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":"Absolute URL to normalize"},"sortQuery":{"type":"string","description":"true to sort query parameters (default false; order can matter to a server)"},"dropFragment":{"type":"string","description":"true to remove the #fragment (default false)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"asOf":{"type":["null","string"]},"input":{"type":["null","string"]},"source":{"type":["null","string"]},"changes":{"type":["null","number"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"disclaimer":{"type":["null","string"]},"normalized":{"type":["null","string"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_uxLYRWUaNNj-sTeqpMWaX","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Normalizes a URL for de-duplication by lowercasing scheme/host, dropping default ports, resolving dot segments, and tidying percent-escapes.","exampleAgentPrompt":"Can you normalize this URL for me so I can deduplicate my list? Here it is: 'HTTP://Example.COM:80/foo/../bar?z=1&a=2#section' — please sort the query parameters and drop the fragment.","exampleUseCases":[{"title":"Deduplicating a crawled URL dataset","prompt":"I've been scraping pages and my URL list has duplicates because some have uppercase schemes, trailing dots, or default ports. Can you normalize all these URLs so I can deduplicate them properly? Start with this one: 'HTTP://News.Example.COM:80/articles/../2024/story?ref=home'"},{"title":"Canonical URL for SEO or caching","prompt":"Before I store this URL in my cache index, can you give me its canonical normalized form? The URL is 'https://BLOG.EXAMPLE.com:443/posts/./my%20post%20title?b=2&a=1' — also sort the query params so the key order doesn't matter."},{"title":"Cleaning URLs before comparison","prompt":"I need to compare two URLs to see if they point to the same resource, but they look different because of encoding and case differences. Can you normalize 'Http://Example.org/path/%61%62c' for me so I can do a reliable string comparison?"}],"resultDescription":"Returns the normalized URL alongside the original input, a count of how many changes were made, a list of reasons describing each normalization applied, a plain-English summary, a verdict, and any disclaimer about limitations. Also includes an 'asOf' timestamp and a 'degraded' flag if the service is running in a reduced-quality mode.","failureModes":["Missing or malformed 'url' query parameter returns an error","Non-absolute URL (relative URL) may return an error or unexpected result","Unsupported URL schemes may not normalize correctly","Network or service errors returning 4xx/5xx HTTP responses","Malformed percent-encoding in input may cause parse failures"],"whenToPreferThis":"Choose this endpoint when you need to canonicalize URLs for deduplication, comparison, or storage — especially when your URLs may differ only in scheme case, host case, default port presence, dot segments, or percent-encoding style. Prefer it over manual string manipulation when you need documented, RFC-compliant normalization with an audit trail of exactly what changed and why.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:18:49.263Z","isFirstParty":false,"canonicalSlug":"url-normalizer-1027cf30"}