CROSX Advertising & Marketing Agency

Chain Tracer API

Developer API

Put the trace engine inside your own website

One JSON endpoint returns the full chain — HTTP 301/302/307/308 hops, meta refresh, JavaScript navigation, tracking-parameter changes and the confirmed final destination. Send authenticated JSON requests to our AWS-hosted API using a Bearer API key. Requests are processed by the redirect-tracing engine and return JSON results. Keep your API key on your server and never expose it in browser-side code.

Endpoint

POST https://rca.api.crosx.in/v1/trace
  • Up to 5 URLs per request, 30 requests per minute per IP.
  • SSRF-protected, 20-hop limit, 15 s per hop, 55 s overall.
  • Body: { "url": "…" } or { "urls": [] }

Code examples

cURL
curl -X POST "https://rca.api.crosx.in/v1/trace" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"url":"https://example.com"}'
JavaScript (Node.js backend)
const res = await fetch("https://rca.api.crosx.in/v1/trace", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.REDIRECT_TRACER_API_KEY}`,
  },
  body: JSON.stringify({ url: "https://example.com" }),
});
const data = await res.json();
console.log(data);
Health Check
curl "https://rca.api.crosx.in/"
PHP
$ch = curl_init("https://rca.api.crosx.in/v1/trace");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "Authorization: Bearer YOUR_API_KEY",
  ],
  CURLOPT_POSTFIELDS => json_encode(["url" => "https://example.com"]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);

Try it now

Response shape

{
  "success": true,
  "result": {
    "startUrl": "https://example.com",
    "finalUrl": "https://example.com",
    "finalDestinationConfirmed": true,
    "hops": [],
    "issues": [],
    "tracking": {
      "diffs": []
    },
    "error": null
  }
}

Each hop is labelled with its mechanism: http-redirect, meta-refresh, javascript-redirect, browser-navigation or final-response. When a hop cannot be safely followed, the exact reason is returned instead of a fake completion, and finalDestinationConfirmed is false.

The AWS API requires a Bearer API key for trace requests. The root endpoint (GET /) provides a health check. Trace requests use POST /v1/trace with a JSON body containing a url field.

The API returns JSON responses. Invalid or missing API keys are rejected. Check the HTTP status and response body when handling errors.