# @schemaorg-rs/wasm
[](https://www.npmjs.com/package/@schemaorg-rs/wasm)
[](../LICENSE)
Schema.org structured data parser and validator powered by Rust/WebAssembly.
## Installation
```bash
npm install @schemaorg-rs/wasm
```
## Quick Start
```javascript
import { extract, validateHtml, schemaVersion } from '@schemaorg-rs/wasm';
const html = `<script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget",
"offers": { "@type": "Offer", "price": "29.99", "priceCurrency": "EUR" }
}</script>`;
// Full validation pipeline
const result = await validateHtml(html, 'google');
// Extract only (no validation)
const extracted = await extract(html);
console.log(extracted.nodes[0].types); // ["Product"]
// Check Schema.org version
const version = await schemaVersion();
console.log(version); // "30.0"
```
## API
### `extract(html: string): Promise<ExtractResult>`
Extracts all structured data (JSON-LD, Microdata, RDFa Lite) from HTML.
### `validateHtml(html: string, profile?: string): Promise<ValidateResult>`
Full pipeline: extract, validate against Schema.org vocabulary, evaluate
against a Rich Results profile.
**Profiles:** `"google"` (default), `"baseline"`
### `schemaVersion(): Promise<string>`
Returns the Schema.org vocabulary version compiled into this build.
### `init(target?: 'web' | 'nodejs'): Promise<void>`
Explicitly initialize the WASM module. Called automatically on first use.
Call explicitly for eager loading in performance-critical paths.
## Types
Full TypeScript definitions are included. See `index.d.ts` for the complete
type surface including `SchemaNode`, `ValidationDiagnostic`, `ProfileResult`,
and `Eligibility`.
## Environment Support
- **Browser:** ESM import, auto-initializes WASM
- **Node.js:** ESM import, auto-detects runtime
## Size
The WASM binary is optimized for size (`opt-level = 'z'`, LTO, `wasm-opt -Oz`)
and stays under 500KB.
## Related
- [schemaorg-rs](https://github.com/mitrovicsinisaa/schemaorg-rs) -- Rust library
- [schemaorg-validate](https://crates.io/crates/schemaorg-validate) -- CLI tool
## License
MIT