# FastX402 Site Recon

> FastX402 Site Recon is a paid API for AI agents from fastx402.tools, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-18).

Performs a comprehensive reconnaissance of a public URL or domain, returning DNS records, TLS certificate info, HTTP response details, security headers, page metadata, and detected technologies.

## Facts

- Endpoint: GET https://fastx402.tools/site-recon?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fastx402-site-recon-55c3d93e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ChIirgvqCkx2M_glD4wgj

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 fastx402-site-recon-55c3d93e
```

Example prompt: Can you do a full recon on vercel.com — I want to see the DNS records, TLS certificate expiry, HTTP headers, security headers, what tech stack they're using, and the page metadata?

## When to prefer this

Choose this endpoint when you need a comprehensive, single-call snapshot of a domain's technical profile — combining DNS, TLS, HTTP, security headers, page content, and tech stack detection in one response. It is more efficient than calling separate DNS lookup, SSL checker, and technology detection tools individually. Ideal for security auditing, vendor due diligence, competitor intelligence, or pre-deployment checks. Costs $0.004 USDC with no API key or account required.

## Known failure modes

- Invalid or non-public URL returns an error in the relevant field (e.g. dns.error, tls.error)
- Private or localhost URLs are rejected
- Slow-responding sites may result in truncated HTTP content
- Domain not found results in DNS error fields being populated
- Payment failure (insufficient USDC balance) prevents request from being processed

## How this service works

200 pay-per-call tools for AI agents, from $0.001 per request in USDC on Base or Solana with x402. No account, no API key.

## Output

Returns a JSON object with: DNS records (A, AAAA, MX, NS, TXT), TLS certificate details (issuer, subject, validity dates, days remaining, protocol, SANs), HTTP response info (status code, final URL, redirect chain, response time, security headers present/missing), page metadata (title, meta description, OG tags, language, canonical URL), detected technologies (name, category, evidence), and domain registration info (registrar, created/expiry dates, status).

## 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": "Public http(s) URL or bare domain"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "dns": {
       "type": "object",
       "properties": {
        "a": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "mx": {
         "type": "array",
         "items": {
          "type": "object",
          "properties": {
           "exchange": {
            "type": "string"
           },
           "priority": {
            "type": "integer"
           }
          }
         }
        },
        "ns": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "txt": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "aaaa": {
         "type": "array",
         "items": {}
        },
        "error": {
         "type": "null"
        }
       }
      },
      "tls": {
       "type": "object",
       "properties": {
        "san": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "error": {
         "type": "null"
        },
        "issuer": {
         "type": "string"
        },
        "subject": {
         "type": "string"
        },
        "validTo": {
         "type": "string"
        },
        "daysLeft": {
         "type": "integer"
        },
        "protocol": {
         "type": "string"
        },
        "validFrom": {
         "type": "string"
        },
        "authorized": {
         "type": "boolean"
        },
        "authorizationError": {
         "type": "null"
        }
       }
      },
      "url": {
       "type": "string"
      },
      "http": {
       "type": "object",
       "properties": {

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "dns": {
   "a": [
    "64.239.109.129",
    "64.239.109.65"
   ],
   "mx": [
    {
     "exchange": "aspmx.l.google.com",
     "priority": 1
    }
   ],
   "ns": [
    "ns1.vercel-dns.com",
    "ns2.vercel-dns.com"
   ],
   "txt": [
    "MS=ms81951275"
   ],
   "aaaa": [],
   "error": null
  },
  "tls": {
   "san": [
    "*.vercel.com",
    "vercel.com"
   ],
   "error": null,
   "issuer": "Let's Encrypt, YR1",
   "subject": "*.vercel.com",
   "validTo": "Dec 24 12:18:21 2026 GMT",
   "daysLeft": 68,
   "protocol": "TLSv1.3",
   "validFrom": "Sep 25 12:18:22 2026 GMT",
   "authorized": true,
   "authorizationError": null
  },
  "url": "https://vercel.com/",
  "http": {
   "status": 200,
   "finalUrl": "https://vercel.com/",
   "truncated": false,
   "durationMs": 228,
   "redirectChain": [],
   "securityHeaders": {
    "missing": [
     "permissions-policy"
    ],
    "present": [
     "strict-transport-security",
     "content-security-policy",
     "x-frame-options",
     "x-content-type-options",
     "referrer-policy"
    ]
   }
  },
  "page": {
   "lang": "en",
   "title": "Agentic Infrastructure - Vercel",
   "ogImage": "https://lishhsx6kmthaacj.public.blob.vercel-storage.com/og-home-not-x.png",
   "ogTitle": "Agentic Infrastructure - Vercel",
   "canonical": "https://vercel.com",
   "visibleText": "Agentic Infrastructure - Vercel Skip to content ...",
   "ogDescription": "The autonomous stack for every app and agent.",
   "metaDescription": "The autonomous stack for every app and agent."
  },
  "tech": [
   {
    "name": "Vercel",
    "category": "Hosting / CDN",
    "evidence": "x-vercel-id header"
   },
   {
    "name": "Next.js",
    "category": "Framework",
    "evidence": "Found Next.js markers /_next/static/ or __NEXT_DATA__"
   },
   {
    "name": "React",
    "category": "JavaScript Library",
    "evidence": "React DOM markers in HTML"
   }
  ],
  "domain": {
   "error": null,
   "status": [
    "client transfer prohibited"
   ],
   "created": "1999-10-04T19:30:47Z",
   "expires": "2029-10-04T19:30:47Z",
   "registrar": "Amazon Registrar, Inc.",
   "daysUntilExpiry": 1084
  },
  "checkedAt": "2026-10-17T16:07:20.375Z",
  "durationMs": 228
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fastx402-site-recon-55c3d93e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fastx402.tools](https://www.zero.xyz/host/fastx402.tools/llms.txt)
