Website check: redirects, headers, SEO, agent readiness API

Facts about a URL from a live fetch, never its body: final URL, status and chain after up to 5 validated redirects, response time, content type, server, security headers present/missing (HSTS, CSP, nosniff, framing, Referrer-Policy, Permissions-Policy), title, description, canonical, lang, Open Graph, robots meta, robots.txt rules for GPTBot, ClaudeBot, Google-Extended, CCBot, PerplexityBot, *, llms.txt, agent card, OpenAPI, x402 discovery, 402 terms. DNS via Cloudflare DoH.

$0.005 per call  USDC over x402 v2 on Base, Polygon, Arbitrum, Avalanche or Sei. No signup, no API key. Requests that fail or match nothing are not charged.

Endpoint

GET https://api.kit-rx.com/v1/web/check

Parameters

NameTypeRequiredDescription
urlstringyeshttp or https URL, or a bare domain (checked as https://). Default ports only; credentials, IP addresses, localhost and private or single-label names are rejected. e.g. https://github.com

Example request

https://api.kit-rx.com/v1/web/check?url=https%3A%2F%2Fgithub.com

Without payment the server answers 402 Payment Required with the price (5000 atomic USDC) in the PAYMENT-REQUIRED header. Any x402 v2 client pays and retries automatically. A request with no parameters runs this example.

curl -i "https://api.kit-rx.com/v1/web/check?url=https%3A%2F%2Fgithub.com"

Pay from an agent

AgentCash: fetch the URL. OpenDexter MCP: x402_fetch. Kit Rx MCP server: https://api.kit-rx.com/mcp. Code:

import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.BUYER_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://api.kit-rx.com/v1/web/check?url=https%3A%2F%2Fgithub.com");
console.log(await res.json());

Example response

{
  "query": {
    "url": "https://github.com"
  },
  "result": {
    "input_url": "https://github.com/",
    "reachable": true,
    "error": null,
    "final_url": "https://github.com/",
    "final_status": 200,
    "redirect_count": 0,
    "redirect_chain": [],
    "redirect_not_followed": null,
    "https": true,
    "response_time_ms": 152,
    "chain_time_ms": 152,
    "content_type": "text/html",
    "server": "github.com",
    "x_robots_tag": null,
    "security_headers": {
      "hsts": {
        "present": true,
        "max_age": 31536000,
        "include_subdomains": true,
        "preload": true
      },
      "csp": {
        "present": true,
        "report_only": false,
        "frame_ancestors": true
      },
      "x_content_type_options": "nosniff",
      "frame_protection": {
        "present": true,
        "via": "x-frame-options",
        "x_frame_options": "deny"
      },
      "referrer_policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
      "permissions_policy": false,
      "present": [
        "strict-transport-security",
        "content-security-policy",
        "x-content-type-options",
        "frame-protection",
        "referrer-policy"
      ],
      "missing": [
        "permissions-policy"
      ]
    },
    "page": {
      "title": "GitHub · Change is constant. GitHub keeps you ahead. · GitHub · GitHub",
      "meta_description": "Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.",
      "canonical": "https://github.com/",
      "lang": "en",
      "og_title": "GitHub · Change is constant. GitHub keeps you ahead. · GitHub",
      "og_image": "https://images.ctfassets.net/8aevphvgewt8/76epZKB2wF998m4e4bLLXn/c505f20b00ec70b88b1be5aec42c4be4/OG_image.jpg",
      "robots_meta": null,
      "csp_meta": false
    },
    "agent_readiness": {
      "origin": "https://github.com",
      "robots_txt": {
        "url": "https://github.com/robots.txt",
        "status": 200,
        "present": true,
        "basis": "parsed robots.txt (RFC 9309 longest-match)",
        "truncated": false,
        "groups": 5,
        "sitemaps": [
          "https://github.com/sitemap_marketing.xml"
        ],
        "content_signal": null,
        "agents": [
          {
            "agent": "GPTBot",
            "allowed_root": true,
            "group": "specific",
            "matched_rule": null
          },
          {
            "agent": "ClaudeBot",
            "allowed_root": true,
            "group": "specific",
            "matched_rule": null
          },
          {
            "agent": "Google-Extended",
            "allowed_root": true,
            "group": "*",
            "matched_rule": null
          },
          {
            "agent": "CCBot",
            "allowed_root": true,
            "group": "*",
            "matched_rule": null
          },
          {
            "agent": "PerplexityBot",
            "allowed_root": true,
            "group": "specific",
            "matched_rule": null
          },
          {
            "agent": "*",
            "allowed_root": true,
            "group": "*",
            "matched_rule": null
          }
        ]
      },
      "llms_txt": {
        "url": "https://github.com/llms.txt",
        "status": 200,
        "present": true,
        "reason": null,
        "title": "GitHub",
        "follows_format": true,
        "sections": 12,
        "links": 117,
        "truncated": false
      },
      "x402_discovery": {
        "url": "https://github.com/.well-known/x402",
        "status": 404,
        "present": false,
        "reason": null,
        "version": null,
        "resources": null,
        "ownership_proofs": null
      },
      "openapi": {
        "url": "https://github.com/openapi.json",
        "status": 410,
        "present": false,
        "reason": null,
        "spec_version": null,
        "title": null,
        "api_version": null,
        "paths": null,
        "truncated": false
      },
      "agent_card": {
        "url": "https://github.com/.well-known/agent.json",
        "status": 404,
        "present": false,
        "reason": null,
        "format": null,
        "name": null,
        "protocol_version": null,
        "skills": null
      },
      "payment_required": {
        "status_402": false,
        "header_present": false,
        "decoded_from": null,
        "x402_version": null,
        "error": null,
        "accepts": []
      }
    },
    "subrequests": 8
  },
  "sources": [
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
    },
    {
      "name": "Live HTTP(S) fetch of the site",
      "url": "https://github.com/"
    }
  ],
  "notes": [
    "Facts describe the response served to the Kit Rx fetcher (User-Agent KitRx/1.0); a site may answer browsers or other crawlers differently."
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
  ],
  "generated_at": "2026-11-14T22:04:54.031Z"
}

Kit Rx: Composed public-data reports for AI agents, paid per call in USDC over x402. Machine-readable: OpenAPI, llms.txt, /.well-known/x402, agent skills.