Skip to content01·AEO Toolkit
@advance-labs/html-parser
Extraction with no network access at all. Give it a string of HTML, get back the metadata, heading tree, links and raw structured-data blocks. Keeping fetching out of it is what makes the rule tests deterministic.
npm i @advance-labs/html-parser
02·Spec
What the registry says
Pure HTML extraction for the AEO Toolkit — meta/OG/Twitter, headings, images, links, content signals, and raw structured-data blocks. No network.
- Version
- 0.2.2
- Licence
- Apache-2.0
- First published
- 2026-09-10
- Types
- Ships TypeScript types
- Dependencies
- cheerio, @advance-labs/types
Read from registry.npmjs.org on 2026-10-14. The npm page is authoritative if this drifts.
03·Alongside
The rest of AEO Toolkit
The engine behind our paid audit and the free Chrome extension. The rules are declarative data, not branching code, which is why the extension can run 40 of them client-side and the hosted audit can run 54 without two implementations drifting apart.
Any tool that fetches a URL a stranger typed is an SSRF hole until proven otherwise. This is the seam every other package fetches through. Useful on its own to anyone building a URL-taking service, which is why it is published separately rather than buried in the crawler.
Sitemap first, links second, and it obeys robots.txt. Bounded on purpose: an audit crawler that hammers a prospect's site is a liability, not a feature.
Finds structured data in all three encodings, maps it to schema.org types, and checks the properties an answer engine actually needs rather than every property the spec allows.
The shared vocabulary. Every other toolkit package depends on it and nothing else depends on them, so a type change is one edit rather than six.