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
| Name | Type | Required | Description |
|---|---|---|---|
url | string | yes | http 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.