SchemaCheck/ DocsDashboard

Getting Started

Getting Started

SchemaCheck validates Schema.org JSON-LD structured data via a simple REST API. Send a URL or raw JSON-LD, get back errors, warnings, rich result eligibility, and fix suggestions.

1

Get your free API key

Sign up with your email — no password, no credit card. You get 100 validations free every month.

bash
curl -X POST https://schemacheck.dev/api/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'

Response

json
{
  "ok": true,
  "email": "you@example.com"
}

A verification email is sent to your address. Click the link inside to confirm and receive your API key. The link expires in 24 hours.

Prefer a form? Sign up on the homepage — a verification email will be sent automatically.

2

Make your first request

Paste your key into this GET request. Replace YOUR_KEY with the key from your welcome email (it starts with sc_live_).

bash
curl "https://schemacheck.dev/api/v1/validate?url=https://apple.com&access_key=YOUR_KEY"

That's it. One URL, one call, structured results. No headers required for GET requests when using access_key.

3

Read the response

Here's what you'll get back (abbreviated — real responses include every schema found on the page):

json
{
  "success": true,
  "url": "https://apple.com",
  "schemas_found": 3,
  "schemas": [
    {
      "type": "WebSite",
      "valid": true,
      "rich_result_eligible": true,
      "deprecated": false,
      "deprecation_note": null,
      "errors": [],
      "warnings": [
        {
          "severity": "warning",
          "property": "potentialAction",
          "message": "Recommended property 'potentialAction' is missing",
          "fix": "Add potentialAction with SearchAction for Sitelinks Searchbox",
          "google_docs_url": "https://developers.google.com/search/docs/appearance/structured-data/sitelinks-searchbox"
        }
      ],
      "properties_found": ["name", "url"],
      "properties_missing_required": [],
      "properties_missing_recommended": ["potentialAction"],
      "rich_result": {
        "eligible": true,
        "reason": "All required properties are present for WebSite rich results.",
        "google_docs_url": "https://developers.google.com/search/docs/appearance/structured-data/sitelinks-searchbox"
      }
    }
  ],
  "summary": {
    "total_schemas": 3,
    "valid_schemas": 2,
    "invalid_schemas": 1,
    "total_errors": 2,
    "total_warnings": 3,
    "rich_result_eligible": 2,
    "score": 73
  },
  "meta": {
    "api_version": "1.0",
    "validated_at": "2026-03-18T10:30:00.000Z",
    "cached": false,
    "credits_used": 1,
    "credits_remaining": 99,
    "response_time_ms": 812
  }
}
schemas_found

How many JSON-LD blocks were found on the page.

schemas[].valid

true if all required properties are present and correctly typed.

schemas[].rich_result_eligible

true if this schema qualifies for Google Rich Results.

schemas[].errors

Required property missing or invalid. Prevents rich results.

schemas[].warnings

Recommended property missing. Won't prevent rich results but improves quality.

summary.score

0–100 health score. 100 = no errors, penalised for errors (−40) and warnings (−10).

meta.cached

true if result was served from cache (1-hour TTL). cached results cost 0 credits.

Validate raw JSON-LD

Don't have a public URL? Pass the JSON-LD object directly in the request body. Useful for validating during development before publishing.

bash
curl -X POST https://schemacheck.dev/api/v1/validate \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonld": {
      "@context": "https://schema.org",
      "@type": "Article",
      "headline": "My Article Title",
      "author": { "@type": "Person", "name": "Jane Doe" },
      "datePublished": "2026-03-18",
      "image": "https://example.com/photo.jpg"
    }
  }'

JSON-LD requests are never cached — useful for testing changes in real time.

Next steps