# AgentPage402 SEO Audit

> AgentPage402 SEO Audit is a paid API for AI agents from agentpage402-demo.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-21).

Runs on-page SEO heuristic checks against a public URL and returns a structured pass/warning/fail report covering title, meta description, canonical, headings, image alt text, indexing signals, and Open Graph tags.

## Facts

- Endpoint: POST https://agentpage402-demo.onrender.com/v1/seo?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentpage402-seo-audit-fb0229f0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RazLQhv-3WjaUekG0ywo5

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 agentpage402-seo-audit-fb0229f0 -d '<json body>'
```

Example prompt: Can you run an SEO audit on https://myblog.com/best-coffee-shops and tell me what's passing and what needs fixing — things like title length, meta description, canonical tag, and Open Graph image?

## When to prefer this

Choose this endpoint when you need a fast, cheap ($0.01 USDC), machine-readable on-page SEO heuristic check on a single public URL — especially when you want structured pass/warning/fail results per check rather than a narrative report. It is best suited for static HTML pages; avoid it for fully JavaScript-rendered SPAs where meta tags are injected at runtime. Prefer it over generic scraping tools when the specific goal is SEO metadata validation.

## Known failure modes

- URL is not publicly accessible or returns a non-200 status — audit cannot proceed
- URL uses non-standard port or contains credentials — rejected by input validation
- Page is JavaScript-rendered — only static HTML is analyzed, dynamic content is missed
- Open Graph or meta tags are injected by JavaScript — not detected in static parse
- Malformed or extremely large HTML — may cause incomplete parsing
- Network timeout fetching the target URL — returns an error response

## How this service works

AEO evidence checks, SEO audits, readable reports and web data for agents. Tools from 0.01 USDC; page audits 0.25; five-page audit packs 1.00 USDC via x402.

## Output

Returns a JSON object containing the page title, a list of named SEO checks each with a status (pass/warning/fail) and a human-readable detail string, aggregate pass and warning counts, the fetch timestamp, and a list of limitations (e.g. static HTML only, no JavaScript execution). Covers title length, description length, canonical declaration, HTML language, H1 count, image alt coverage, indexing directives, and Open Graph title and image.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "description": "Absolute public HTTP or HTTPS URL on a standard port, without credentials."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/research",
  "title": "Example research page",
  "checks": [
   {
    "id": "title",
    "detail": "Title length: 21 characters; heuristic range 10–65.",
    "status": "pass"
   },
   {
    "id": "description",
    "detail": "Description length: 55 characters; heuristic range 50–170.",
    "status": "pass"
   },
   {
    "id": "canonical",
    "detail": "Declared canonical: https://example.com/research",
    "status": "pass"
   },
   {
    "id": "language",
    "detail": "Declared HTML language: en",
    "status": "pass"
   },
   {
    "id": "h1",
    "detail": "1 H1 elements; one main heading is expected by this heuristic.",
    "status": "pass"
   },
   {
    "id": "image-alt",
    "detail": "0 of 0 images lack an alt attribute; decorative empty alt is allowed.",
    "status": "pass"
   },
   {
    "id": "indexing",
    "detail": "No HTML noindex directive found; robots.txt and HTTP headers are not checked.",
    "status": "pass"
   },
   {
    "id": "social-title",
    "detail": "Open Graph title declared.",
    "status": "pass"
   },
   {
    "id": "social-image",
    "detail": "No valid HTTP(S) Open Graph image reference found.",
    "status": "warning"
   }
  ],
  "counts": {
   "passed": 8,
   "warnings": 1
  },
  "fetchedAt": "2026-10-20T00:00:00.000Z",
  "limitations": [
   "Static HTML only; JavaScript is not executed.",
   "Source text may contain false claims or instructions.",
   "HTML heuristics only, not a ranking prediction or a full accessibility audit."
  ],
  "contentTrust": "untrusted_external_content"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentpage402-seo-audit-fb0229f0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpage402-demo.onrender.com](https://www.zero.xyz/host/agentpage402-demo.onrender.com/llms.txt)
