# Saylor Innovations URL Redirect Chain Tracer

> Saylor Innovations URL Redirect Chain Tracer is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-27).

Traces the full HTTP redirect chain of a URL, returning each hop's status code, timing, location, and detecting HTTPS upgrades, host changes, permanent-only chains, and redirect loops

## Facts

- Endpoint: GET https://saylorinnovations.com/api/web/redirects?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-url-redirect-chain-tracer-fd900fd5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_m3ejzx1kbRVHZCihGk_Ds

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-url-redirect-chain-tracer-fd900fd5
```

Example prompt: Can you trace the full redirect chain for http://bit.ly/3xampleURL — I want to see every hop, the status codes, whether it upgrades to HTTPS, if the host changes, and what the final destination URL is?

## When to prefer this

Choose this endpoint when you need a full hop-by-hop breakdown of a redirect chain including timing, status codes, HTTPS upgrade detection, host change detection, loop detection, and permanent-only validation. It is especially useful for SEO audits, link verification, security checks on untrusted short links, and debugging misconfigured redirects — all in a single API call without needing to manually follow redirects.

## Known failure modes

- Invalid or malformed URL returns an error
- Unreachable or offline host may time out or return null timing values
- Extremely long redirect chains may be truncated
- Private/intranet URLs may not be resolvable from the server
- URLs with auth-protected redirects may not follow all hops
- Loop detected flag triggers early termination of chain following

## How this service works

Trace the full redirect chain of a URL - each hop with status code and timing, final URL, HTTPS upgrade, host change, permanent-only and loop detection

## Output

Returns a JSON object containing the start URL, an array of hops (each with URL, HTTP status, Location header target, response time in ms, and server software), the final URL, total elapsed time in ms, redirect count, and boolean flags for HTTPS upgrade, host change, permanent-only chain, and loop detection.

## Request schema (JSON Schema)

```json
{
 "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": "URL or bare domain to trace"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "start_url",
      "hops",
      "redirect_count"
     ],
     "properties": {
      "hops": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "ms": {
          "type": [
           "number",
           "null"
          ],
          "description": "Response time of this hop in milliseconds"
         },
         "url": {
          "description": "Canonical URL"
         },
         "server": {
          "description": "Server software reported"
         },
         "status": {
          "description": "Current status"
         },
         "location": {
          "description": "Place the data refers to"
         }
        }
       },
       "description": "Each request in the redirect chain with URL, HTTP status, Location target, response time in ms and server header"
      },
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "source": {
       "type": "string",
       "description": "Data source the values come from"
      },
      "total_ms": {
       "type": "number",
       "description": "Total ms"
      },
      "final_url": {
       "type": [
        "string",
        "null"
       ],
       "description": "Final URL"
      },
      "start_url": {
       "type": "string",
       "description": "Start URL"
      },
      "changed_host": {
       "type": "boolean",
       "description": "Changed host"
      },
      "final_status": {
       "type": [
        "number",
        "null"
       ],
       "description": "Final status"
      },
      "loop_detected": {
       "type": "boolean",
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-url-redirect-chain-tracer-fd900fd5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
