RxKit Rx Website Security, TLS & Markdown

Composed public-data reports, priced per call.

HTTP security headers graded A+ to F with fixes, SSL/TLS certificate expiry and issuer from Certificate Transparency, clean Markdown from any web page or PDF/DOCX/XLSX document, and a website check covering redirects, metadata, AI-crawler rules, llms.txt and x402 presence. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.

x402 v2USDC on BaseNo API keysFree if it fails
1. CallSend a plain GET request. Without payment you receive HTTP 402 with the price in the PAYMENT-REQUIRED header.
2. PayAny x402 client signs a USDC authorization and retries with the PAYMENT-SIGNATURE header.
3. ReceiveYou get the JSON report. Settlement happens only for 2xx responses.

Website checks

Status, redirects, security headers, metadata and agent readiness (robots rules for AI crawlers, llms.txt, OpenAPI, x402).

GET/v1/web/check$0.005

Website check: redirects, headers, SEO, agent readiness

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.

Params: url

Sample 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"
}

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

GET/v1/web/headers$0.005

HTTP Security Headers Check (A+ to F grade)

Grades a URL's HTTP security headers A+ to F (0-100) from one live fetch after up to 5 validated redirects. Per header: present, value, rating, points, issue, fix for HSTS, Content-Security-Policy (unsafe-inline, unsafe-eval, wildcards, frame-ancestors), X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, COOP, COEP, CORP; Server/X-Powered-By version leaks; cookie Secure, HttpOnly, SameSite flags; missing list, summary. DNS via Cloudflare DoH.

Params: url

Sample response
{
  "query": {
    "url": "https://github.com"
  },
  "result": {
    "input_url": "https://github.com/",
    "final_url": "https://github.com/",
    "status": 200,
    "https": true,
    "redirect_count": 0,
    "redirect_not_followed": null,
    "grade": "B",
    "score": 78,
    "max_score": 100,
    "summary": "Grade B (78/100): 5 of 9 checked headers rated good; missing permissions-policy, cross-origin-opener-policy, cross-origin-embedder-policy, cross-origin-resource-policy; 1 cookie(s) missing flags.",
    "headers": {
      "strict-transport-security": {
        "present": true,
        "value": "max-age=31536000; includeSubdomains; preload",
        "rating": "good",
        "points": 25,
        "max_points": 25,
        "issue": null,
        "fix": null
      },
      "content-security-policy": {
        "present": true,
        "value": "default-src 'none'; base-uri 'self'; child-src github.github…",
        "rating": "good",
        "points": 25,
        "max_points": 25,
        "issue": null,
        "fix": null
      },
      "permissions-policy": {
        "present": false,
        "value": null,
        "rating": "missing",
        "points": 0,
        "max_points": 10,
        "issue": "No Permissions-Policy: powerful browser features (camera, microphone, geolocation) are not restricted.",
        "fix": "Add Permissions-Policy disabling unused features, e.g. camera=(), microphone=(), geolocation=()."
      }
    },
    "missing": [
      "permissions-policy",
      "cross-origin-opener-policy",
      "cross-origin-embedder-policy",
      "cross-origin-resource-policy"
    ],
    "cookies": {
      "count": 3,
      "checked": [
        {
          "name": "_octo",
          "secure": true,
          "http_only": false,
          "same_site": "lax",
          "issues": [
            "no HttpOnly"
          ]
        }
      ],
      "deduction": -2
    },
    "deductions": [
      {
        "reason": "cookie flags missing (1 of 3 cookies)",
        "points": -2
      }
    ],
    "subrequests": 3
  },
  "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": [
    "Headers describe the response served to the Kit Rx fetcher (User-Agent KitRx/1.0); a site may answer browsers or other clients differently."
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
  ],
  "generated_at": "2026-11-15T00:31:20.681Z"
}

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