HTML SEO & JSON-LD Syntax Checker — PageProof avatar

HTML SEO & JSON-LD Syntax Checker — PageProof

Pricing

from $10.00 / 1,000 completed page audits

Go to Apify Store
HTML SEO & JSON-LD Syntax Checker — PageProof

HTML SEO & JSON-LD Syntax Checker — PageProof

Check supplied HTML snapshots before deploying generated websites. Find metadata, canonical, image-alt, noindex and JSON-LD syntax issues with source-line evidence and fixes as JSON. API/MCP ready. 1–20 pages per run; $0.01/page + $0.00005/run. No URL crawling.

Pricing

from $10.00 / 1,000 completed page audits

Rating

0.0

(0)

Developer

Cody J

Cody J

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Inspect supplied HTML snapshots before publishing. Get reproducible JSON reports with stable rule IDs, severity, source-line references, evidence, and suggested fixes. Useful for website-building agents and repeatable release QA.

Supply the HTML yourself. URL fields are labels and are never fetched. PageProof does not crawl websites, render JavaScript, or call a paid AI model.

Check one real page now

Already using Apify? A single completed page check currently costs $0.01005 total, including the run start and platform usage.

  1. Open PageProof in Console and sign in to your own Apify account.
  2. In Input, keep exactly one object in pages. Replace its html with your actual generated HTML and its url with the intended page URL label. Do not submit secrets.
  3. Set the maximum charge to 0.01005 USD for that one-page run, then start it once.
  4. Open the completed run's dataset to read the JSON report. Inspect findings and suggested fixes before deploying. A report with findings is a completed, billable check.

For an AI agent, use the capped API request or MCP configuration below. If a request disconnects, inspect the original run before submitting again.

Price and a first API request

Current price: $0.01 per completed page + $0.00005 per run start, including platform usage. One page needs a maximum-charge budget of $0.01005; a full 20-page batch needs $0.20005. A report with findings is still a completed result. Confirm current prices in the Pricing panel.

Use PageProof between generating HTML and publishing: require one report for every submitted page, inspect summary.error, and route relevant warning codes back to your release workflow. The URL labels the supplied snapshot and is never fetched.

Save the example below as input.json. With your own Apify token in the APIFY_TOKEN environment variable, this Bash-compatible request returns reports to report.json with a one-page charge cap:

curl --fail-with-body --max-time 330 \
--request POST \
--header "Authorization: Bearer ${APIFY_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @input.json \
--output report.json \
"https://api.apify.com/v2/actors/1loSRgmRVQDr3Zcta/run-sync-get-dataset-items?maxTotalChargeUsd=0.01005&timeout=60&memory=256&restartOnError=false&format=json"

For 20 snapshots, use a cap of maxTotalChargeUsd=0.20005. Count returned reports: a lower cap may stop the batch early. HTTP success does not mean the pages passed inspection. Do not automatically retry a disconnected POST; the first run may still be processing. Check Console before submitting again. Keep tokens in environment variables or a secret manager.

Official API reference

Run a check

  1. Put one or more HTML snapshots in the pages array.
  2. Supply an absolute HTTP(S) url and nonempty html for each page. An optional id identifies the result; IDs must be unique within the batch. Omitted IDs become page-1, page-2, and so on.
  3. Read one report per completed page from the default dataset. If the buyer charge limit stops a batch early, only completed reports will be present.
{"pages":[{"id":"home","url":"https://example.com/","html":"<h1>Hello</h1>"}]}

This deliberately incomplete snapshot produces an excerpt like:

{"id":"home","summary":{"error":0,"warning":2,"info":1},"findings":[{"code":"TITLE_MISSING","severity":"warning"},{"code":"DESCRIPTION_MISSING","severity":"warning"},{"code":"CANONICAL_MISSING","severity":"info"}]}

Full reports also include each finding's message, evidence, location, suggested fix, page facts, an HTML SHA-256 hash, and explicit scope limits. summary.error counts failed JSON syntax checks. Warning and information findings require context.

Checks and limits

Checks cover missing or duplicate titles/descriptions, multiple or unusable canonical links, missing h1 and image alt attributes, declared noindex directives, and JSON-LD syntax. Empty alt attributes for decorative images and intentionally noindexed pages are not treated as errors.

Submit 1–20 pages, at most 250000 UTF-8 HTML bytes per page and 2000000 HTML bytes per batch. Optional status is a caller-supplied integer from 100 to 599; it is not a response verified by this service. Invalid batches are rejected before any result is produced. Do not submit sensitive content or secrets.

This is static source inspection. It does not check HTTP headers, certify accessibility, validate all HTML/JSON-LD semantics, establish Google rich-result eligibility, or predict search rankings. No findings does not certify a whole site. JavaScript-generated content must already be included in the supplied snapshot.

Billing

Consult the Pricing panel for current prices. Each persisted page report uses one automatic dataset-item event. A report containing findings is still a completed, billable result. The platform run-start event can also apply, even when runtime validation fails or no page completes. Set a maximum charge for the run and account for both event types when budgeting a batch.

Connect an AI agent with MCP

Add this remote MCP server URL to your compatible client:

https://mcp.apify.com/?tools=search-actors,fetch-actor-details,coolish_indium/pageproof-preflight

Authorize with your own Apify account through OAuth, or use a buyer-funded prepaid token through Apify agentic payments. Discovery access does not include paid execution. Keep the token in your client's secure configuration.

Ask your agent to inspect coolish_indium/pageproof-preflight, supply HTML snapshots using its input schema, set the run charge cap for the batch, and read the completed dataset reports. Tool names vary by client. Actor runs and dataset access require authorization.

Apify MCP setup documentation