Find the final URL after redirects

Given any URL, find where it actually ends up after following all redirects. See every hop in the chain, the final destination, and exactly how many redirects were followed.

The problem

Many URLs redirect - shortened links, HTTP-to-HTTPS upgrades, www-to-non-www (or vice versa), affiliate tracking links, and CDN rewrites. When you save a URL or click a link, you often have no idea where it will ultimately land.

Following redirects manually requires making multiple HTTP requests, parsing Location headers, handling loops, and setting a redirect limit. The TinyUtils URL Resolve API does all of this in a single call and returns a clean structured response.

Quick solution

Send a GET request to /api/url-resolve with the URL you want to trace. You get back the full redirect chain and the final URL.

curl

curl "https://tinyutils.dev/api/url-resolve?url=http://example.com"

Response

{
  "input_url": "http://example.com",
  "final_url": "https://www.example.com/",
  "redirect_count": 2,
  "redirect_chain": [
    { "url": "http://example.com", "status": 301 },
    { "url": "https://example.com", "status": 301 },
    { "url": "https://www.example.com/", "status": 200 }
  ],
  "error": null
}

JavaScript (fetch)

const res = await fetch(
  "https://tinyutils.dev/api/url-resolve?url=http://example.com"
);
const data = await res.json();

console.log("Final URL:", data.final_url);
console.log("Redirects:", data.redirect_count);
data.redirect_chain.forEach(hop => {
  console.log(hop.status, hop.url);
});

Use cases

Resolving multiple URLs at once

Use the batch endpoint to resolve up to 10 URLs in a single request.

curl -X POST "https://tinyutils.dev/api/url-resolve/batch" \
  -H "Content-Type: application/json" \
  -d '{"urls":["http://example.com","http://openai.com"]}'

Try the URL Resolve tool

Paste any URL and see the full redirect chain instantly.

Open URL Resolve →