Redirect Chain Tracer — HTTP Redirect Path & Hop Count API avatar

Redirect Chain Tracer — HTTP Redirect Path & Hop Count API

Pricing

from $3.00 / 1,000 successful lookups

Go to Apify Store
Redirect Chain Tracer — HTTP Redirect Path & Hop Count API

Redirect Chain Tracer — HTTP Redirect Path & Hop Count API

Trace any URL's full HTTP redirect chain, hop by hop, to its final destination, including hop count and final status code. Useful for SEO audits, link migrations, and tracking-link verification. Billed for every URL that returns a response, including a no-redirect result.

Pricing

from $3.00 / 1,000 successful lookups

Rating

0.0

(0)

Developer

Adrian Voss

Adrian Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Redirect Chain Tracer

Trace any URL's full HTTP redirect chain, hop by hop, to its final destination — every intermediate URL, the total hop count, and the final HTTP status code. This uses the same HTTP client Crawlee's crawler runs on, so the whole chain is captured in a single request; no second fetch or manual Location-header following needed.

Features

  • Full hop-by-hop chain. Every URL in the redirect sequence, from the one you submitted to the final destination, in order.
  • Hop count & final status. hopCount tells you how many redirects happened; finalStatusCode is the HTTP status the final URL actually returned.
  • "No redirect" is a real answer. A URL that doesn't redirect still returns a useful result — a one-URL chain with hopCount: 0.
  • Deduped chain. Consecutive repeated URLs in the raw redirect data are collapsed so the chain doesn't show the same destination twice.
  • Built for bulk. Feed in a list of URLs; concurrency is configurable.

How to use Redirect Chain Tracer — HTTP Redirect Path & Hop Count API

  1. In the Apify Console. Open the actor page and click Start — the items field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~redirect-chain-tracer/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"items":["http://github.com"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"items": ["https://example.com/old-path"],
"maxConcurrency": 5
}

items is a list of URLs to trace. A bare hostname or path without a scheme is accepted — https:// is prepended automatically. One dataset row is returned per item. maxConcurrency controls how many requests run in parallel.

Output

One row per URL, for example:

{
"query": "https://example.com/old-path",
"found": true,
"data": {
"requestedUrl": "https://example.com/old-path",
"finalUrl": "https://example.com/new-path",
"hopCount": 2,
"chain": [
"https://example.com/old-path",
"https://example.com/temp-redirect",
"https://example.com/new-path"
],
"finalStatusCode": 200
},
"scrapedAt": "2026-08-20T10:00:00.000Z"
}

Note the billing model here is different from most actors in this portfolio: a URL that returns a response — including one with no redirect at all (hopCount: 0) — is charged, because "this URL doesn't redirect" is a real, useful answer to the question being asked. Only a request that fails outright (timeout, DNS failure, connection error after retries) comes back as "found": false and free.

Use cases

  • SEO redirect audits — verify that old URLs 301-redirect to the right new destination after a site migration.
  • Link rot monitoring — check a list of outbound links for broken or unexpected redirect chains.
  • Affiliate/tracking link verification — confirm a shortened or tracking URL actually lands on the expected final destination.
  • Marketing campaign QA — trace UTM-tagged campaign links before a launch to catch misconfigured redirects.
  • Site migration validation — bulk-check that every old URL in a sitemap redirects correctly to its new equivalent.

Pricing

$5 per 1,000 results, plus a $0.005 start fee. Misses (found:false) are never charged.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~redirect-chain-tracer/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"items":["http://github.com"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~redirect-chain-tracer/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"items":["http://github.com"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~redirect-chain-tracer/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"items":["{{value}}"]}, mapping the row's value into the items array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Redirect Chain Tracer | Apify" — the agent will find and run this actor.

FAQ

Does a URL with no redirect cost anything? Yes — unlike most actors in this portfolio, "no redirect" is a valid, charged result (hopCount: 0), because you got exactly the answer you asked for.

What counts as a free miss, then? Only a request that fails outright after retries — a timeout, DNS failure, or connection error — comes back "found": false and isn't charged.

Does this follow meta-refresh or JavaScript redirects? No — it follows standard HTTP redirects (3xx responses with a Location header) via the underlying HTTP client, not client-side redirects rendered by JavaScript or <meta http-equiv="refresh"> tags.

What if I submit a bare domain without https://? It's normalized automatically — example.com becomes https://example.com before the request is made.

Can duplicate hops show up in the chain? No — consecutive repeated URLs (which can happen when the underlying redirect data already includes the final URL) are deduplicated before being returned.

Can I trace many URLs at once? Yes — pass a list of URLs and adjust maxConcurrency to control how many run in parallel.