78trust / 100

Html Analyze

by CORE HTML SEO Analyzer in Security & trust

x402 APIPassing, checked 9 min ago

Analyze raw HTML you provide and get structured SEO data as JSON: title, meta description, canonical, H1-H6 outline, links, JSON-LD blocks and structural checks (single H1, heading order, duplicates, JSON-LD validity). Use it to audit a page before publishing. No URL fetching, no JavaScript execution. Max 64 KiB of HTML.

POST https://92-222-181-125.sslip.io/v1/html/analyze

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
261 ms typical, 435 ms slowest 5%
Last check
9 min ago
Next check
in 21 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://92-222-181-125.sslip.io/v1/html/analyze" \
  -H "content-type: application/json" \
  -d '{"html":"<!doctype html><html><head><title>Apartment for sale in Aix-en-Provence</title><meta name=\"description\" content=\"Bright 3-room apartment\"><link rel=\"canonical\" href=\"https://example.com/aix-3-rooms\"></head><body><h1>3-room apartment</h1><h2>Features</h2><a href=\"/contact\">Contact</a></body></html>"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2F92-222-181-125.sslip.io%2Fv1%2Fhtml%2Fanalyze
const res = await pay("https://92-222-181-125.sslip.io/v1/html/analyze", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"html":"<!doctype html><html><head><title>Apartment for sale in Aix-en-Provence</title><meta name=\"description\" content=\"Bright 3-room apartment\"><link rel=\"canonical\" href=\"https://example.com/aix-3-rooms\"></head><body><h1>3-room apartment</h1><h2>Features</h2><a href=\"/contact\">Contact</a></body></html>"}),
});
console.log(await res.json());

Example input

{
  "html": "<!doctype html><html><head><title>Apartment for sale in Aix-en-Provence</title><meta name=\"description\" content=\"Bright 3-room apartment\"><link rel=\"canonical\" href=\"https://example.com/aix-3-rooms\"></head><body><h1>3-room apartment</h1><h2>Features</h2><a href=\"/contact\">Contact</a></body></html>"
}

Example output

{
  "result": {
    "canonical": "https://example.com/aix-3-rooms",
    "checks": {
      "canonicalPresent": true,
      "descriptionPresent": true,
      "headingOrder": true,
      "jsonLdValid": true,
      "singleH1": true,
      "titlePresent": true
    },
    "description": "Bright 3-room apartment",
    "headings": [
      {
        "level": 1,
        "text": "3-room apartment"
      },
      {
        "level": 2,
        "text": "Features"
      }
    ],
    "jsonLd": [],
    "jsonLdErrors": [],
    "links": [
      {
        "href": "/contact",
        "rel": [],
        "text": "Contact"
      }
    ],
    "title": "Apartment for sale in Aix-en-Provence"
  },
  "service": "core-html-seo-analyzer"
}

Security scan

  • Payment address changed recently in payment
    Payment address changed from 0x1e11c57f2a4e674f035ebae989f5b27167dc5668 to 0x3fdB182298535503354647A6C8d48A1A410E36D5

Recent checks

WhenResultHTTPTimePrice
9 min agoPassed402166 ms$0.003
4 h agoPassed402261 ms$0.003
7 h agoPassed402179 ms$0.003
11 h agoPassed402279 ms$0.003
14 h agoPassed402184 ms$0.003
18 h agoPassed402311 ms$0.003
22 h agoPassed402169 ms$0.003
25 h agoPassed402171 ms$0.003
29 h agoPassed402515 ms$0.003
32 h agoPassed402314 ms$0.001
36 h agoPassed402300 ms$0.001
40 h agoPassed402169 ms$0.001
43 h agoPassed402435 ms$0.001

History

12 Oct 2026Payment address changed from 0x1e11c57f2a4e674f035ebae989f5b27167dc5668 to 0x3fdB182298535503354647A6C8d48A1A410E36D5