XooCode(){

Claim

Claim is a CreativeWork subtype for a specific, factually-oriented statement that can be fact-checked. It is the type you put inside ClaimReview.itemReviewed, and it is what Google's fact check rich result reads to render the claim alongside the rating.

Claim adds three properties of its own: appearance (every known occurrence of the claim in a CreativeWork, e.g. every tweet, video, or article where it appears), firstAppearance (the first known occurrence, often the original source), and claimInterpreter (the Person or Organization that interpreted the claim from media content, used when the claim was extracted from speech or an image rather than written verbatim).

Full example of schema.org/Claim json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Claim
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Claim",
  "text": "The Thunderdome expansion will triple Dunmore's traffic during concert nights.",
  "author": { "@type": "Person", "name": "Councillor Maria Alvarez", "jobTitle": "Dunmore councillor" },
  "claimInterpreter": { "@type": "Organization", "name": "Xoo Code Fact Check Desk" },
  "firstAppearance": {
    "@type": "CreativeWork",
    "name": "Dunmore council meeting transcript, 2026-04-08",
    "url": "https://dunmore.gov/council/minutes/2026-04-08.pdf",
    "datePublished": "2026-04-08"
  },
  "appearance": [
    { "@type": "NewsArticle", "headline": "Alvarez warns of tripling traffic", "url": "https://xoocode.com/news/alvarez-thunderdome", "datePublished": "2026-04-09" },
    { "@type": "SocialMediaPosting", "url": "https://social.dunmore.gov/@alvarez/12344", "datePublished": "2026-04-08" }
  ],
  "about": { "@type": "Place", "name": "The Thunderdome", "@id": "https://xoocode.com/thunderdome" }
}
</script>

Claim vs ClaimReview

ClaimReview is the fact-checker's review; Claim is the thing being reviewed. Use Claim as a standalone entity when you want a URL that represents "this specific claim" (a claim registry, a repeated-falsehood database, a fact-check index). Use it nested inside ClaimReview.itemReviewed when you are publishing the fact-check itself.

author vs claimInterpreter

author is who originally uttered the claim (the politician, the influencer, the anonymous account). claimInterpreter is the journalist or transcriptionist who interpreted the claim from audio, video, or imagery. They are distinct: a claim lifted from a speech has an author (the speaker) and a claimInterpreter (the publication that transcribed and framed it).

Minimal valid version

The smallest markup that still produces a valid Claim entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/Claim (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Claim",
  "text": "The Thunderdome expansion will triple Dunmore's traffic during concert nights.",
  "author": { "@type": "Person", "name": "Councillor Maria Alvarez" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • Fact check rich result (via ClaimReview.itemReviewed)primary
    Google docs

Common Claim mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Using Claim as the top-level type for a fact-check page

    Wrong
    Top-level @type Claim on a fact-check article
    Right
    ClaimReview at top level, with the Claim nested inside itemReviewed

    Google's fact check rich result reads ClaimReview, not Claim. A bare Claim at the page level does not trigger the rich result. Put the Claim inside ClaimReview.itemReviewed.

  2. 02

    appearance as a bare URL string

    Wrong
    "appearance": "https://example.com/tweet/12345"
    Right
    "appearance": { "@type": "SocialMediaPosting", "url": "https://example.com/tweet/12345" } (or CreativeWork with name/datePublished)

    appearance expects a CreativeWork. A bare URL loses the type, date, and context that make the appearance useful to downstream fact-checkers.

About the example data

A fact-checked claim from a Xoo Code fact-check database: a politician's statement about Dunmore's Thunderdome zoning case.

Comments

Loading comments...

Leave a comment