{"uid":"cap_eFYFv9J6E8WkFjGGKZ9Zi","slug":"pennyrail-url-normalize-canonical-url-18621ced","name":"PennyRail URL Normalize – Canonical URL","description":"Machine-readable settlement service","url":"https://pennyrail.vercel.app/api/p/nano/url.normalize--canonical-url","method":"POST","headers":{},"bodySchema":{"type":"object","required":["input"],"properties":{"input":{"type":"string"}}},"responseSchema":{"type":"object","additionalProperties":true},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","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.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_OqWfsqTxbwDOWGeCtSpdK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Normalizes a raw URL string into its canonical form, resolving inconsistencies in scheme, casing, trailing slashes, and query parameter ordering.","exampleAgentPrompt":"Can you normalize this URL for me — 'HTTP://Example.COM/path/../page?b=2&a=1#section' — and give me back its canonical form?","exampleUseCases":[{"title":"Deduplicating crawled web links","prompt":"I have a list of URLs from my web crawler and many are duplicates written differently — can you canonicalize 'https://WWW.Example.com/blog/post-1/?utm_source=twitter' so I can compare it consistently against others?"},{"title":"Standardizing URLs before database insert","prompt":"Before I save this URL to my database, normalize 'http://mysite.com/../products/shoes/' so it's in a clean canonical form without any path traversal or trailing slashes."},{"title":"Comparing two seemingly different URLs","prompt":"Are 'HTTPS://shop.example.com/item?color=red&size=M' and 'https://shop.example.com/item?size=M&color=red' actually the same page? Can you canonicalize the first one so I can check?"}],"resultDescription":"Returns a JSON object containing the canonical (normalized) version of the submitted URL, with scheme lowercased, host lowercased, redundant path segments resolved, query parameters consistently ordered, and other normalization rules applied.","failureModes":["Malformed or non-URL input string may return an error or unexpected output","Relative URLs without a base may not resolve correctly","Very long URLs may be truncated or rejected","Ambiguous query parameter encoding edge cases may produce inconsistent results","Network or cold-start latency on Vercel serverless may cause occasional timeouts"],"whenToPreferThis":"Choose this endpoint when you need a lightweight, pay-per-call URL canonicalization step — especially useful in deduplication pipelines, web crawlers, or data normalization workflows where you need consistent URL comparison without standing up your own normalization logic. At $0.001 USDC per call it is cost-effective for moderate volumes.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:41:33.529Z","isFirstParty":false}