{"uid":"cap_w0947ecRG3_hrYNQ_Lab8","slug":"html-heading-outline-extractor-and-validator-eec847c2","name":"HTML Heading Outline Extractor and Validator","description":"Extract the h1-h6 heading outline from supplied HTML and flag missing or multiple h1, skipped levels and empty headings.","url":"https://markup-tools.x402tookit.com/html-headings?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"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":["html"],"properties":{"html":{"type":"string","description":"HTML to scan, up to 20000 characters (longer is refused with 400)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"asOf":{"type":["null","string"]},"count":{"type":["null","number"]},"issues":{"type":["array","null"],"items":{"type":"string"}},"levels":{"type":["null","object"],"properties":{"h1":{"type":["null","number"]},"h2":{"type":["null","number"]},"h4":{"type":["null","number"]}}},"source":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"headings":{"type":["array","null"],"items":{"type":"object","properties":{"id":{},"text":{"type":["null","string"]},"level":{"type":["null","number"]},"hidden":{"type":["boolean","null"]},"outline":{"type":["null","string"]}}}},"truncated":{"type":["boolean","null"]},"disclaimer":{"type":["null","string"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_XpcJRyax4NCwVP14ylwyf","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts the h1–h6 heading hierarchy from supplied HTML and reports structural issues like missing/duplicate h1, skipped levels, and empty headings.","exampleAgentPrompt":"Check the heading structure of this HTML and tell me if there are any issues like a missing h1, skipped levels, or empty headings: <paste HTML here>.","exampleUseCases":[{"title":"SEO heading audit before publish","prompt":"Here's the HTML for my blog post — can you extract the heading outline and flag any issues like a missing h1 or skipped heading levels before I publish it?"},{"title":"Accessibility compliance check","prompt":"Scan this HTML page for heading structure problems — specifically missing or duplicate h1 tags and any skipped levels — so I can fix accessibility issues before our audit."},{"title":"Automated CMS content QA","prompt":"I've got HTML from our CMS output — check its heading hierarchy and list any structural problems like empty headings or multiple h1s so I know what needs fixing."}],"resultDescription":"Returns a structured object containing: an array of heading elements (each with level, text, outline position, and hidden status), per-level counts, a list of detected issues (e.g. 'missing h1', 'skipped from h2 to h4', 'empty heading'), a verdict string, a summary, and a truncated flag if the input was cut off.","failureModes":["HTML exceeding 20,000 characters returns a 400 error","Malformed or non-HTML input may produce empty or minimal heading arrays","Payment failure returns 402 before processing begins","HTML with no headings returns an empty headings array with issues flagged"],"whenToPreferThis":"Use this endpoint when you need to programmatically audit or extract the heading outline of an HTML document — particularly for SEO validation, accessibility checks, or CMS quality assurance pipelines. It is more suitable than generic HTML parsers because it provides structured issue detection (missing h1, skipped levels, empty headings) out of the box rather than requiring custom logic.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-02T12:30:54.904Z","isFirstParty":false,"canonicalSlug":"html-heading-outline-extractor-and-validator-eec847c2"}