Preparing for rich results
Product, Recipe, Event, FAQ and HowTo each have distinct required properties. Validating before deployment is faster than waiting for Search Console to report the gap weeks later.
Validates JSON-LD structured data — the format used for rich results in search engines.
Validates JSON-LD structured data — the format used for rich results in search engines.
{"@context":"https://schema.org","@type":"Product","name":"YAS"}Valid JSON-LD ✓
It validates the JSON-LD syntax and required fields.
Valid means search engines can parse the graph; it does not guarantee rich-result eligibility.
Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.
curl -X POST "https://yas.sh/api/v1/tools/json-ld-validator" \
-H "Content-Type: application/json" \
-d '{"input":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\"}"}'const res = await fetch("https://yas.sh/api/v1/tools/json-ld-validator", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"input": "{\"@context\":\"https://schema.org\",\"@type\":\"Article\"}"
}),
});
const data = await res.json();import requests
r = requests.post("https://yas.sh/api/v1/tools/json-ld-validator", json={"input":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\"}"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | JSON-LD text |
{ "valid": true, "types": ["Article"], "errors": [], "warnings": [...] }Validate JSON-LD structured data (context, type).
400 VALIDATION_ERROR — invalid input or unsupported option.413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).Validation happens in two layers. First, the JSON-LD must be syntactically valid JSON and structurally valid linked data: an @context establishing vocabulary, an @type naming the entity, and properties resolvable against that vocabulary. Second, for search features, the markup must satisfy Google's requirements for the specific type — which properties are required, which are recommended, and what value formats are accepted.
The distinction matters because valid JSON-LD is routinely ineligible for rich results. A Product missing offers, a Recipe without recipeIngredient, or a FAQPage whose questions do not appear in the visible page all parse perfectly while failing the feature requirements. Google additionally requires that structured data describe content actually visible to users — markup describing content that is not on the page is a spam policy violation, not a technical error.
Product, Recipe, Event, FAQ and HowTo each have distinct required properties. Validating before deployment is faster than waiting for Search Console to report the gap weeks later.
Rich results disappear after a template change that dropped a property. Comparing the emitted markup against requirements localises it immediately.
Structured data assembled from a CMS can silently emit null values or empty arrays when a field is unset, which invalidates the block.
Moving from Microdata or RDFa to JSON-LD is a good moment to verify nothing was dropped in translation.
What this tool deliberately does not do, and where it will disagree with other implementations.