Every format
JSON-LD, Microdata and RDFa on the same page — extracted and labelled by source.
Paste a URL and get a full report on its structured data — JSON-LD, Microdata and RDFa — checked against the complete Schema.org vocabulary and Google's Rich Results requirements.
@graph and mixed markupJSON-LD, Microdata and RDFa on the same page — extracted and labelled by source.
Validated against the live vocabulary: unknown types, invalid properties and wrong value types are caught.
Per-type eligibility with required and recommended properties, sourced from Google's docs.
SSRF-guarded fetching, bot-protection aware, rate-limited. Results cached for one hour, nothing else stored.
We request the page's server-rendered HTML with a safe, identifiable crawler and follow redirects.
A streaming parser pulls JSON-LD; a DOM pass collects Microdata and RDFa, expanding @graph and arrays.
Each block is checked against Schema.org and Google's requirements, then scored as valid, invalid or deprecated.
@context, @graph inheritance, arrays and nested nodes.
itemscope/itemprop trees and typeof/property resources.
Real types and properties, value ranges, inheritance and typos.
Required and recommended properties per Google-supported type.
FAQ and HowTo are flagged — valid markup, but no longer shown by Google.
Private addresses blocked; Cloudflare bot-challenge pages detected, not parsed.
Integrate the validator into CI or audits. POST a URL, get JSON back.
curl -X POST https://ldjson.ivatech.dev/api/validate \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/product"}'
Rate limit: 10 requests/min per IP. Responses are cached for one hour (X-Cache: HIT/MISS).
All three Google reads: JSON-LD (recommended), Microdata and RDFa. A single page can mix formats and each block is reported separately with its source.
No. Only server-rendered HTML is parsed. If your structured data is injected client-side, it won't be seen — render it server-side or via dynamic rendering.
Google removed HowTo rich results in 2023 and FAQ rich results in May 2026. The markup is still valid Schema.org, but it no longer produces a rich result in Search, so we flag it rather than report it as eligible.
Schema.org validity and Google Rich Results eligibility are two different things. A type can be valid markup yet have no rich result (e.g. WebPage, Person, Service), or be missing a property Google requires.
Validation results are cached for one hour to avoid redundant fetches; nothing else is retained. You can bypass the cache with the checkbox or the cache_bust API flag.
Yes — see the Developer API. It returns the same structured report as the web UI in JSON.
Ivatech builds and fixes technical SEO, structured data and web infrastructure.
Talk to Ivatech →