Api Endpoint

PageAudit

PageAudit: technical SEO audit of one page (score, issues, headers, JSON-LD), paid per call

Open interactive test console

Offering

Provider
pageaudit.online
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Other
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://pageaudit.online/api/x402/audit
MIME type
application/json
First seen
2026-10-25T21:32:28.588Z
Last seen
Tags
seo, web-audit, Monitoring

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.02 USDC
Atomic price: 20000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "payTo": "0x7c22D10a957c62044d03dB5C0086f500Fc645a26"
  }
]

Observed health

Status
Healthy
Latest latency
1320 ms
Average latency
1811 ms
HTTP status
402
Last checked
Reachability
100% over 5 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "The page to audit, `http` or `https`."
        }
      },
      "required": [
        "url"
      ]
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "url": {
              "description": "The page to audit, `http` or `https`.",
              "type": "string"
            }
          },
          "required": [
            "url"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "description": "The report of one audit paid per call: the fields of `Audit` without `id`, `quota` and `comparison`, because nothing is stored.",
          "properties": {
            "_links": {
              "description": "`api_index`: the API catalog.",
              "properties": {
                "api_index": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "cobranca": {
              "description": "How this call was paid.",
              "properties": {
                "preco_usd": {
                  "description": "The price of the call in US dollars, such as `0.01`.",
                  "type": "string"
                },
                "repetido": {
                  "description": "`true` when the credit had already paid this request (the same `Idempotency-Key`): nothing was charged again.",
                  "type": "boolean"
                },
                "via": {
                  "description": "`x402`, `credito` or the marketplace that already charged the call.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "counts": {
              "description": "How many findings of each severity.",
              "properties": {
                "errors": {
                  "description": "Serious findings.",
                  "type": "number"
                },
                "info": {
                  "description": "Observations without severity.",
                  "type": "number"
                },
                "warnings": {
                  "description": "Findings that deserve attention.",
                  "type": "number"
                }
              },
              "type": "object"
            },
            "headers": {
              "description": "Every header of the target's response, without `Set-Cookie`.",
              "properties": {
                "content-type": {
                  "type": "string"
                },
                "server": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "htmlTruncated": {
              "description": "`true` when the page passed 2 MB and was read only that far.",
              "type": "boolean"
            },
            "issues": {
              "description": "Everything found, from most to least severe.",
              "items": {
                "description": "A problem (or a pass) found on the page.",
                "properties": {
                  "code": {
                    "description": "Stable check code, e.g. `title_missing`. It is what you filter by.",
                    "type": "string"
                  },
                  "message": {
                    "description": "The finding in one sentence, ready to show a person.",
                    "type": "string"
                  },
                  "severity": {
                    "description": "Severity of the finding.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "jsonLd": {
              "description": "The raw JSON-LD blocks, as they were on the page.",
              "type": "array"
            },
            "jsonLdStored": {
              "description": "How many blocks survived the size cap.",
              "type": "number"
            },
            "score": {
              "description": "0–100 for measured checks, as in `Audit.score`.",
              "type": "number"
            },
            "summary": {
              "description": "What the page declares: title, meta, canonical, OG, headings, links…",
              "properties": {
                "canonical": {
                  "description": "Canonical URL declared by the page.",
                  "type": "null"
                },
                "charset": {
                  "description": "Declared encoding.",
                  "type": "string"
                },
                "contentType": {
                  "description": "Content-Type of the final response.",
                  "type": "string"
                },
                "finalUrl": {
                  "description": "URL after following every redirect.",
                  "type": "string"
                },
                "lang": {
                  "description": "Language declared in `<html lang>`.",
                  "type": "null"
                },
                "metaDescription": {
                  "description": "Content of `<meta name=description>`.",
                  "type": "null"
                },
                "robots": {
                  "description": "Content of `<meta name=robots>`.",
                  "type": "null"
                },
                "status": {
                  "description": "Final HTTP status of the target.",
                  "type": "number"
                },
                "timing": {
                  "description": "`responseMs`: time until the headers of the final response, redirects included, measured from our server. Over 1500 ms raises `slow_response` (info).",
                  "properties": {
                    "responseMs": {
                      "type": "number"
                    }
                  },
                  "type": "object"
                },
                "title": {
                  "description": "Content of `<title>`.",
                  "type": "string"
                },
                "viewport": {
                  "description": "Content of `<meta name=viewport>`.",
                  "type": "boolean"
                },
                "words": {
                  "description": "Words in the visible content.",
                  "type": "number"
                }
              },
              "type": "object"
            },
            "truncated": {
              "description": "What was cut and why. Empty means nothing was cut.",
              "type": "array"
            },
            "url": {
              "description": "The final URL, after redirects.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}